? ? ? ?Android Lint是Android應(yīng)用代碼的靜態(tài)分析器(staticanalyzer)。實(shí)際上,它是無(wú)需代碼運(yùn)行就能夠檢查代碼錯(cuò)誤的特殊程序。憑著對(duì)Android框架知識(shí)的掌握,Android Lint深入檢查代碼,找出編譯器無(wú)法發(fā)現(xiàn)的問題。在大多數(shù)情況下,Android Lint檢查出的問題都值得關(guān)注。
? ? ? ?此外,Android Lint能夠檢查定義在XML文件中的對(duì)象類型。在QuizActivity.java中,人為制造一處錯(cuò)誤,如下代碼所示。
? ? ? ?不匹配的對(duì)象類型(QuizActivity.java)
? ? ? ?@Override
? ? ? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?Log.d(TAG, "onCreate() called");
? ? ? ?setContentView(R.layout.activity_quiz);
? ? ? ?mQuestionTextView = (TextView)findViewById(R.id.question_text_view);
? ? ? ?mTrueButton = (Button)findViewById(R.id.true_button);
? ? ? ?mTrueButton = (Button)findViewById(R.id.question_text_view);
? ? ? ?...
? ? ? ?}
? ? ? ?因?yàn)槭褂昧隋e(cuò)誤的資源ID,代碼運(yùn)行時(shí),會(huì)導(dǎo)致TextView與Button對(duì)象間的類型轉(zhuǎn)換出現(xiàn)錯(cuò)誤。顯然,Java編譯器無(wú)法檢查到該錯(cuò)誤,但在南昌APP開發(fā)中Android Lint卻可以捕獲到該錯(cuò)誤。可以看到Lint立即高亮顯示了一行代碼,指示此處有問題。
? ? ? ?假如想主動(dòng)查看項(xiàng)目中的所有潛在問題,可以選擇Analyze → Inspect Code...菜單項(xiàng)手動(dòng)運(yùn)行Lint。在被問及檢查項(xiàng)目的哪部分時(shí),選擇Whole project。Android Studio會(huì)立即運(yùn)行Lint和其他一些靜態(tài)分析器開始分析代碼。
? ? ? ?檢查完畢,所有的潛在問題會(huì)按類別列出。展開Android Lint類別可看到項(xiàng)目的具體Lint信息,如下圖所示。
修正類型不匹配的代碼錯(cuò)誤(QuizActivity.java)
? ? ? ?@Override
? ? ? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?Log.d(TAG, "onCreate() called");
? ? ? ?setContentView(R.layout.activity_quiz);
? ? ? ?mQuestionTextView = (TextView)findViewById(R.id.question_text_view);
? ? ? ?mTrueButton = (Button)findViewById(R.id.question_text_view);
? ? ? ?mTrueButton = (Button)findViewById(R.id.true_button);
? ? ? ?...
? ? ? ?}
? ? ? ?最后,重新運(yùn)行應(yīng)用,確認(rèn)問題已得到修正。
? ? ? ?以上就是南昌APP開發(fā)公司小編為大家介紹的關(guān)于Android特有的調(diào)試工具 Android Lint的一些信息及操作過程,想了解更多關(guān)于APP開發(fā)、網(wǎng)站建設(shè)、微信開發(fā)等方面的資訊,歡迎關(guān)注百恒網(wǎng)絡(luò)網(wǎng)站動(dòng)態(tài),更多驚喜等你發(fā)現(xiàn)!