多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > android官方技術文檔翻譯――Android Lint

android官方技術文檔翻譯――Android Lint

來源:程序員人生   發布時間:2014-12-20 09:07:22 閱讀次數:2903次

本文譯自androd官方技術文檔《Android Lint》,原文地址:http://tools.android.com/tips/lint

本文地址:http://blog.csdn.net/maosidiaoxian/article/details/41592783。轉載請注明出處。翻譯如有錯訛,敬請指正。



Android Lint

Android Lint是在ADT 16(和 Tools 16)引入的1個新工具,可以掃描Android 項目源碼中潛伏的bug 。它可同時作為1個命令行工具,和集??成在Eclipse(以下所述),和IntelliJ(詳細信息)中。這個架構是成心獨立于IDE的,因此它有希望與其他的IDE,其他的構建工具和延續集成系統集成。


以下是它進行掃描的1些毛病類型的例子:

  • 缺少翻譯(和未使用的翻譯)
  • 布局性能問題(老的layoutopt工具會用于查找所有這樣的問題,和除此以外更多的問題)
  • 未使用的資源
  • 不1致的數組大小(當在多個配置中定義數組)
  • 可訪問性和國際化問題(硬編碼字符串,缺少contentDescription等)
  • 圖標問題 (如丟失密度、 重復圖標、 毛病尺寸等)
  • 可用性問題 (如不在文本字段上指定輸入的類型)
  • 清單毛病
和其他更多的問題。

請參閱此文檔以了解當前 lint 檢查的問題的完全列表。
有關如何取消顯示(suppress)特定的 lint 正告信息,請參閱取消正告顯示的文檔.

如果你對編寫自定義的lint 檢查有興趣,可以參閱編寫新的 Lint 檢查和編寫自定義 Lint 規則。

命令行用法

在 SDK 工具目錄有1個命令行工具叫做 lint
如果在你的path上已配置了 SDK 的tools/ 目錄,您可使用“lint”來調用它。只需指向1個特定的 Android 項目目錄。你也能夠指向1個隨機的目錄,(如果它不是1個 Android 的項目)將以遞歸方式搜索,并將檢查該目錄下的所有項目。(你還可以指定通過空格分隔的多個項目)。
$ lint /src/astrid/
Scanning GreenDroid-GoogleAPIs: ..
Scanning stream: ...
Scanning api: ...........................
Scanning GDCatalog: .......................
Scanning GreenDroid: ...........................................................
Scanning tests: ...
Scanning filters: ....
Scanning tests: .....
Scanning astrid: ....................................................................................................................................................
Scanning simple: .......
api/res/values-ca: Error: Locale ca is missing translations for: sync_SPr_bgwifi_key, sync_SPr_forget_key, sync_SPr_interval_values, sync_SPr_logged_in_prefix... (2 more) [MissingTranslation]
astrid/res/values-ca: Error: Locale ca is missing translations for: DLG_cancel, DLG_dismiss, DLG_ok, EPr_deactivated... (117 more) [MissingTranslation]
api/res/values-cs: Error: Locale cs is missing translations for: sync_SPr_bgwifi_key, sync_SPr_forget_key, sync_SPr_interval_values, sync_SPr_logged_in_prefix... (2 more) [MissingTranslation]
(many lines omitted)
43 errors, 466 warnings

禁用檢查

每種毛病類型的“ID”都顯示在毛病消息后面的括號中,如上面的“MissingTranslation”。

您可以通過添加 --disable argument,禁用1個特定的檢查,或1列的檢查,例如: 
$ lint --disable MissingTranslation,UnusedIds,Usability:Icons /src/astrid/

注意,您也能夠列出種別,比如上面的“Usability:Icons”,就是用性種別的圖標子種別。 

有些檢查默許情況下牌禁用狀態。可以通過添加--enable標志啟用它們。

最后,您可以通過--check標志指定運行哪些確切的檢查。這讓你可以在代碼庫中查找1個具體的問題,比如: 
$ lint --check MissingPrefix /src/astrid/

如果要找出哪一個 id 和種別是可用的,請運行 
$ lint --list
Valid issue categories:
Correctness
Security
Performance
Usability
Usability:Icons
Accessibility
Internationalization

Valid issue id's:
"ContentDescription": Ensures that image widgets provide a contentDescription
"DuplicateIds": Checks for duplicate ids within a single layout
"StateListReachable": Looks for unreachable states in a <selector>
"InefficientWeight": Looks for inefficient weight declarations in LinearLayouts
"ScrollViewSize": Checks that ScrollViews use wrap_content in scrolling dimension
"MergeRootFrame": Checks whether a root <FrameLayout> can be replaced with a <merge> tag
...

使用--show命令加上 id 列表或種別 (或不帶參數查看全部)可以獲得指定的問題的解釋:

$ lint --show MissingPrefix
MissingPrefix
-------------
Summary: Detect XML attributes not using the Android namespace

Priority: 8 / 10
Severity: Warning
Category: Correctness

Most Android views have attributes in the Android namespace. When
referencing these attributes you *must* include the namespace prefix,
or your attribute will be interpreted by aapt as just a custom
attribute.

HTML 報表

這個命令行工具還可以生成HTML報告。這相比普通的 lint 輸出有1定的優勢:
  • 它包括每一個問題相干的更長的解釋,并通過1個More info 的屬性提供關于這個問題的更詳細信息的鏈接。
  • 它包括有毛病的實際的源代碼行 (上下各有3行代碼的1個窗口)。
  • 它可以包括關聯到該源代碼文件的鏈接
  • 對毛病圖標,為能夠比較起見,在報告中會顯示圖標本身
要生成 HTML 報告,只需要添加--html 文件名 作為參數:
$ lint --html /tmp/report.html

默許情況下,鏈接到源代碼文件將只使用本地的 file:// 路徑資源。您可以通過 --url 選項把 URL 重新映照向不同的前綴。例如:
$ lint --html /tmp/report.html --url /src/MyProj=http://buildserver/src/MyProj

其他命令行選項

運行lint --help以獲得可用參數的相干信息。

Eclipse 中的用法

: 此文檔是在 lint 首次發布時編寫的。Eclipse 集成已有了顯著的提高。欲了解更多最新的詳細信息,請參閱新的Eclipse Lint UI(New Eclipse Lint UI),
布局編輯器 Lint 反饋(Layout Editor Lint Feedback) 和 Lint 保存(Lint On Save).

Lint 在 ADT 16及更高的版本上集成。該集成 提供了上述 Lint 命令行版本的幾個功能:
  • 自動修復許多正告
  • Lint 可以在各種編輯器操作中自動運行
  • 屏幕某些毛病類型及特定的毛病實例
  • 配置問題檢查嚴重程度
  • 從 lint 視圖直接跳轉到問題源碼

Lint 自動化

在以下情況時 lint 會自動運行:
  • 導出 APK。在這類情況下,會以特殊模式運行 lint,它將只查找致命毛病 (這樣會更快),并且如果發現了任何毛病的時候會中斷導出。你可以在 Lint 選項中關閉它。
  • 編輯并保存和 XML 文件,例如布局文件或清單文件。在這類情況下,所有適用于給定文件的文件范圍檢查都會運行,并且會為任何已發現的問題加上編輯器的標記。
  • 使用布局編輯器。每一個 UI 操作后,在布局文件上會運行文件范圍檢查 (如各種 layoutopt 規則),并且結果將顯示在1個特別的 lint 窗口(當發現毛病時它可以從顯示在布局編輯器的右上角的毛病標記中打開)。

Lint 窗口

要在1個項目上運行 Lint,請在包閱讀器當選擇項目,然后單擊 Lint 工具欄上的功能(見下面的圖片)。

或您可以在項目上右擊,在 Android Tools 子菜單中,有1個“運行 Lint”的功能。它將打開1個 Lint 窗口,其中包括各種毛病。選擇1個毛病將會在右邊的文本區顯示相干聯的解釋。

如果 lint 視圖上有任何毛病,你可以在毛病上雙擊,來跳轉到相干聯的源代碼位置。每一個正告圖標將顯示其嚴重程度,并具對已修復的正告(見下1節)會有1個小燈泡堆疊。

該窗口也有1個操作欄(在右上角),它可讓你
  • 再次運行 lint 檢查以刷新結果 (在刷新期間它會變成1個 Stop 按鈕,用于中斷檢查)
  • 如果有毛病,運行與此毛病相干聯的修復
  • 疏忽此修復
  • 刪除正告標記
  • 刪除所有的正告標記

快速修復

許多 lint 正告有自動修復功能。例如,各種 layoutopt 修復的替換提示 (如替換 wrap_content 為 0dp)。 
  • 從 lint 視圖中,單擊燈泡來調用1個修復程序。
  • 從布局編輯器正告摘要中,單擊修復按鈕來修復。
  • 從 XML 代碼編輯器中,調用快速修復 (Ctrl+1 或Command+1)并選擇與該正告關聯的快速修復。

取消毛病正告的顯示

從編輯器快速修復菜單中,你也能夠選擇
  • 僅疏忽此文件中的這個正告
  • 疏忽此項目中的這個正告
  • 在此期間疏忽此正告。
  • 通過添加注解或屬性疏忽此廣告, 此處有解釋。


(如果你在 quickfix 列表找不到 lint 的修復操作,請參閱 已知 Bug 章節)

這些選擇都存儲項目里名為lint.xml的文件中,可以通過命令行工具讀取。因此,您可以在 UI 中疏忽正告,并在你的源項目關聯的lint.xml文件中進行記錄,其他運行著的lint將不會看到你已疏忽的正告(大概是由于已手動驗證了)。

選項

要編輯用于所有項目備用選項的 lint 全局選項,可以調用正常的 Eclipse 選項對話框,并選擇 Android > Lint Options:


如果你選擇了1個問題,您可以在右下角的下拉列表中編輯其嚴重程度。這使您可以把某些問題指定為 Error(即會在啟用了靠近頂部的對話框中的選項的情況下中斷導出 APK)。

要完全關閉問題檢查,請選擇“Ignore”作為嚴重程度。 
請注意此操作不會編輯每一個項目的 lint 設置
。打開項目設置對話框 (右擊該項目),你將在這里找到 Android Lint 的屬性頁。在選項對話框中手動嚴重性編輯也會與取消顯示的毛病1起被記錄在lint.xml文件中,所以您的團隊中的其他人將會取得你對這個項目編輯的相同的嚴重性設置。 
子頁 (2): 取消 Lint 正告的顯示(Suppressing Lint Warnings) 編寫1個 Lint 檢查(Writing a Lint Check)

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国语精品视频在线观看不卡 | 欧美日韩国产手机在线观看视频 | 亚洲最大在线观看 | www黄色网址| 亚洲高清在线看 | 欧美福利在线 | 亚洲精品一区二区三区在线播放 | 香蕉免费看一区二区三区 | 毛片色毛片18毛片美女 | 国产精品福利资源在线 | 免费a一毛片 | 亚洲欧美日韩中文字幕在线 | 亚洲最大黄色网址 | 国产成人一区二区三区影院免费 | 亚洲精品亚洲人成在线 | jizzjizzjizz亚洲| 第一福利社 | 黄色的免费网站 | 高清一区二区三区四区五区 | 伊人蕉 | 免费观看视频网站 | 香港黄页精品视频在线 | 成人午夜免费在线观看 | 欧美国产成人一区二区三区 | www.日本在线播放 | 国产精品人人视频 | 日韩淫| 激情在线视频 | 久久久久亚洲精品一区二区三区 | 波多野结衣 一区二区 | 91精品一区二区三区在线观看 | 波多野结衣中文字幕在线播放 | 97理论三级九七午夜在线观看 | 一区二区三区 | 日本一区二区三区精品国产 | 国产精品成人久久久 | 玖玖爱国产 | 国产玖玖在线 | 亚洲伊人色综合网站小说 | 欧美精品xxxxbbbb| 国产第3页 |