android代码审查工具

转载请著名出处:

搞了这么久android我居然不知道lint工具是干啥的,虽然每次在eclipse下右键项目android tools下面都能看到它,我却木有去瞧瞧她能干嘛~作为一枚android搬砖人,我感到羞愧啊~~~~~

好吧,既然没用过,那几天看到这玩意儿,知道她能干啥了,那么就来现场调戏她一番再说~

你想调戏她么?跟着我来吧,绝对新手级别现场表演~

先来看看谷歌是如何说的:

The Androidlinttool is a static code analysis tool that checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.

In Android Studio, the configuredlintand other IDE inspections run automatically whenever you compile your program. You can also manually run inspections in Android Studio by selectingAnalyze > Inspect Codefrom the application or right-click menu. TheSpecify Inspections Scopedialog appears so you can specify the desired inspection profile and scope.

大体意思就是lint工具可以从各个方面checks你的项目潜在的bug等等。在你编译运行的时候它会自动运行。你也可以手动分析程序。(一下就暴露了我是英语渣渣~~~以后不能装逼了~~)

具体详细的可以看这里:

eclipse中运行lint有两种方式,项目左上角工具栏里面有个 带勾勾 的工具可以单个或者批量检查项目,其次是右键项目android tools里面 Run lint ….

好吧,拿个项目跑一下试试:

我勒个去,不查不知道一check吓一大跳。这么多吗蛋的问题。不说了,哭一会去了~~~

好吧,接下来一个一个的看看是不是都是有问题的,双击可以跳转到对应位置去。

1、第一个红色错误:是layout布局里面用@+id 定义了多个相同的id,之所以错误是因为这个layout对应的界面只显示界面,暂时没有使用数据,布局文件有雷同的地方,存在复制粘贴的操作导致的,这里修改一下id就可以了

2、第二个红色错误:提示信息 “ Class referenced in the manifest, com.goldtel.eim.activity.ChatNoticeActivity, was not found in theproject or the libraries”。原来是manifest里面注册的activity没找到,检查发现是此activity已经不存在了。so以后注意,删除不用的activity记得取消manifest中的注册。

3、第三个红色错误:

提示:“ Placing a <WebView> in a parent element that uses a wrap_content layout_height can lead to subtlebugs; use match_parent instead ” webview的parent element使用了wrap_content作为height属性可能引起微妙的BUG,建议使用match_parent代替。

xml代码如下:<?xml version="1.0" encoding="UTF-8"?><LinearLayout xmlns:android=""android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/white"android:orientation="vertical" ><ScrollViewandroid:layout_width="fill_parent"android:layout_height="0dp"android:fadeScrollbars="true"android:fastScrollEnabled="true"android:layout_weight="1" ><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" ><LinearLayoutandroid:id="@+id/topLayout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:padding="15dp" ><TextViewandroid:id="@+id/topTitleTV"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="18dp"android:ellipsize="end"android:shadowColor="@android:color/holo_blue_light"android:shadowDx="2.0"android:shadowDy="2.0"android:gravity="center"android:shadowRadius="4.0"android:text="(消息服务中心)"android:textColor="#259ddb"android:textSize="20sp" /></LinearLayout><LinearLayoutandroid:id="@+id/titleLayout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/topLayout"android:gravity="left|center_vertical"android:padding="15dp" ><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_recent_sysmsg" /><TextViewandroid:id="@+id/titleTV"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="25dp"android:text="来自xxx发送的工作组通告" /></LinearLayout><RelativeLayoutandroid:id="@+id/sysLayout"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/titleLayout"android:padding="15dp"android:visibility="visible" ><TextViewandroid:id="@+id/sysContent"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dip"android:text="asfasfsaf" /></RelativeLayout><WebViewandroid:id="@+id/webLayout"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_below="@id/titleLayout"android:padding="15dp"android:visibility="gone" /><Viewandroid:id="@+id/loadingView"android:layout_width="65dp"android:layout_height="65dp"android:layout_below="@id/titleLayout"android:layout_centerHorizontal="true"android:layout_marginTop="100dp"android:background="@anim/loading_anim_gray"android:visibility="gone" /></RelativeLayout></ScrollView><RelativeLayoutandroid:id="@+id/bottomLayout"android:layout_width="match_parent"android:layout_height="50dp"android:background="@drawable/chat_bottombar_bg2"android:gravity="center_vertical"android:orientation="horizontal"android:paddingTop="6.0dip" ></RelativeLayout></LinearLayout>

最糟糕的行为是抱怨,最易见效 的努力是从自己做起。

android代码审查工具

相关文章:

你感兴趣的文章:

标签云: