<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > android官方技術(shù)文檔翻譯――Android Lint

          android官方技術(shù)文檔翻譯――Android Lint

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

          Android Lint是在ADT 16(和 Tools 16)引入的一個(gè)新工具,可以掃描Android 項(xiàng)目源碼中潛在的bug 。它可同時(shí)作為一個(gè)命令行工具,以及集??成在Eclipse(如下所述),和IntelliJ(詳細(xì)信息)中。這個(gè)架構(gòu)是有意獨(dú)立于IDE的,因此它有希望與其他的IDE,其他的構(gòu)建工具和持續(xù)集成系統(tǒng)集成。

          本文引用地址:http://www.ex-cimer.com/article/201609/304306.htm

          以下是它進(jìn)行掃描的一些錯(cuò)誤類型的例子:

          缺少翻譯(和未使用的翻譯)

          布局性能問(wèn)題(老的layoutopt工具會(huì)用于查找所有這樣的問(wèn)題,和除此之外更多的問(wèn)題)

          未使用的資源

          不一致的數(shù)組大小(當(dāng)在多個(gè)配置中定義數(shù)組)

          可訪問(wèn)性和國(guó)際化問(wèn)題(硬編碼字符串,缺少contentDescription等)

          圖標(biāo)問(wèn)題 (如丟失密度、 重復(fù)圖標(biāo)、 錯(cuò)誤尺寸等)

          可用性問(wèn)題 (如不在文本字段上指定輸入的類型)

          清單錯(cuò)誤 以及其他更多的問(wèn)題。

          請(qǐng)參閱此文檔以了解當(dāng)前 lint 檢查的問(wèn)題的完整列表。 有關(guān)如何取消顯示(suppress)特定的 lint 警告信息,請(qǐng)參閱取消警告顯示的文檔.

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

          命令行用法

          在 SDK 工具目錄有一個(gè)命令行工具叫做 lint。 如果在你的path上已經(jīng)配置了 SDK 的tools/ 目錄,您可以使用“lint”來(lái)調(diào)用它。只需指向一個(gè)特定的 Android 項(xiàng)目目錄。你也可以指向一個(gè)隨機(jī)的目錄,(如果它不是一個(gè) Android 的項(xiàng)目)將以遞歸方式搜索,并將檢查該目錄下的所有項(xiàng)目。(你還可以指定通過(guò)空格分隔的多個(gè)項(xiàng)目)。

          $ 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

          禁用檢查

          每種錯(cuò)誤類型的“ID”都顯示在錯(cuò)誤消息后面的括號(hào)中,如上面的“MissingTranslation”。

          您可以通過(guò)添加 --disable argument,禁用一個(gè)特定的檢查,或一列的檢查,例如:

          $ lint --disable MissingTranslation,UnusedIds,Usability:Icons /src/astrid/

          注意,您也可以列出類別,比如上面的“Usability:Icons”,就是用性類別的圖標(biāo)子類別。

          有些檢查默認(rèn)情況下牌禁用狀態(tài)??梢酝ㄟ^(guò)添加--enable標(biāo)志啟用它們。

          最后,您可以通過(guò)--check標(biāo)志指定運(yùn)行哪些確切的檢查。這讓你可以在代碼庫(kù)中查找一個(gè)具體的問(wèn)題,比如:

          $ lint --check MissingPrefix /src/astrid/

          如果要找出哪個(gè) id 和類別是可用的,請(qǐng)運(yùn)行

          $ 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

          InefficientWeight: Looks for inefficient weight declarations in LinearLayouts

          ScrollViewSize: Checks that ScrollViews use wrap_content in scrolling dimension

          MergeRootFrame: Checks whether a root can be replaced with atag

          ...

          使用--show命令加上 id 列表或類別 (或不帶參數(shù)查看全部)可以獲取指定的問(wèn)題的解釋:

          $ 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 報(bào)表

          這個(gè)命令行工具還可以生成HTML報(bào)告。這相比普通的 lint 輸出有一定的優(yōu)勢(shì):

          它包含每個(gè)問(wèn)題相關(guān)的更長(zhǎng)的解釋,并通過(guò)一個(gè)More info 的屬性提供關(guān)于這個(gè)問(wèn)題的更詳細(xì)信息的鏈接。

          它包含有錯(cuò)誤的實(shí)際的源代碼行 (上下各有三行代碼的一個(gè)窗口)。

          它可以包含關(guān)聯(lián)到該源代碼文件的鏈接

          對(duì)于錯(cuò)誤圖標(biāo),為能夠比較起見(jiàn),在報(bào)告中會(huì)顯示圖標(biāo)本身 要生成 HTML 報(bào)告,只需要添加--html 文件名 作為參數(shù):


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();