Android SDK自帶調試優化工具

Android sdk中自帶了一些分析內存,界面調優的很是實用的工具,這對於分析和調試咱們的應用十分有幫助,因爲我使用的是linux版本的sdk,因此就以linux版本的工具作一個介紹,這些工具的具體位置在android-sdk-linux/tools/*目錄下面,目前整理的工具備以下幾種(因爲篇幅的緣由,可能須要兩篇來介紹):html

  • android
  • ddms
  • monitor
  • draw9patch
  • emulator
  • hierachyviewer
  • jobb
  • lint
  • mksdcard
  • mokeyrunner
  • screenshot2
  • traceview
  • uiautomatorviewwe

android

android核心工具,包括實現Android SDK Manager,AVD的全部功能,以及能夠經過它建立一個android工程等等,命令格式爲./android [global options] action [action options]能夠在tools目錄下輸入./android -h查看命令提示,以下:linux

caihaifei@hfcai:/opt/android-sdk-linux/tools$ ./android -h

       Usage:
       android [global options] action [action options]
       Global options:
  -s --silent : Silent mode, shows errors only.
  -v --verbose : Verbose mode, shows errors, warnings and all messages.
     --clear-cache: Clear the SDK Manager repository manifest cache.
  -h --help : Help on a specific command.

                                                                    Valid
                                                                    actions
                                                                    are
                                                                    composed
                                                                    of a verb
                                                                    and an
                                                                    optional
                                                                    direct
                                                                    object:
-    sdk              : Displays the SDK Manager window.
-    avd              : Displays the AVD Manager window.
-   list              : Lists existing targets or virtual devices.
-   list avd          : Lists existing Android Virtual Devices.
-   list target       : Lists existing targets.
-   list device       : Lists existing devices.
-   list sdk          : Lists remote SDK repository.
- create avd          : Creates a new Android Virtual Device.
-   move avd          : Moves or renames an Android Virtual Device.
- delete avd          : Deletes an Android Virtual Device.
- update avd          : Updates an Android Virtual Device to match the folders
                        of a new SDK.
- create project      : Creates a new Android project.
- update project      : Updates an Android project (must already have an
                        AndroidManifest.xml).
- create test-project : Creates a new Android project for a test package.
- update test-project : Updates the Android project for a test package (must
                        already have an AndroidManifest.xml).
- create lib-project  : Creates a new Android library project.
- update lib-project  : Updates an Android library project (must already have
                        an AndroidManifest.xml).
- create uitest-project: Creates a new UI test project.
- update adb          : Updates adb to support the USB devices declared in the
                        SDK add-ons.
- update sdk          : Updates the SDK by suggesting new platforms to install
                        if available.

介紹幾個能夠經常使用的功能:android

1)打開Android SDK Manager工具並捕獲它的全部log信息

$:./android -v sdk

2) 刪除名字叫test的avd(即android虛擬模擬器),你能夠經過./android list avd查看你全部的avd信息**

$:./android -s delete avd -n test

3)新建一個工程,首先能夠先看一下建立工程須要提供的參數有那些:

Creates a new Android project.
Options:
  -n --name : Project name.   -a --activity : Name of the default Activity that is created.                        [required]
  -k --package : Android package name for the application. [required]   -v --gradle-version: Gradle Android plugin version.   -t --target : Target ID of the new project. [required]   -g --gradle : Use gradle template.   -p --path : The new project's directory. [required]

如上,咱們能夠經過以下命令建立一個工程:shell

$:./android -n TestProject -a MainActivity -k com.hfcai.test -t 10 -p ~/Desktop/TestProject

該命令會建立一個非gradle工程,eclipse的標準目錄結構,若是須要建立一個gradle構建的android工程,命令以下:ruby

$:./android -n TestProject -a MainActivity -k com.hfcai.test -t 10 -v 3.1 -g ~/Desktop/TestProject

android更加詳細的命令介紹:https://developer.android.com/studio/tools/help/android.htmlmarkdown


Monitor,DDMS

Monitor(Android Device Monitor)和DDMS(Dalvik Debug Monitor Service). ddms和monitor是android debug monitor的替換工具,ddms已經被廢棄,可是你也能夠經過ddms命令將其調用出來,android studio上使用的是monitor,eclipse默認使用的是ddms的。monitor在調試程序過程當中常常被使用,須要比較詳細的瞭解它的使用。
monitor的簡介可參考:Android 監視器簡述app

draw9patch

製做.9 patch圖片的一個工具,9 patch圖片是一個自適應的png圖片,能夠實現背景圖片自適應而不失真,咱們能夠在tools文件下的draw9patch打開或者直接在Android Studio的res目錄下選擇一個png圖片右擊選擇Create 9-Patch file建立一個9-Patch文件並在左側繪圖區域製做,具體的製做過程能夠參考一篇博文,他是根據android 文檔原文翻譯,寫的很清楚:博客,也能夠直接參考android文檔:Draw9patchNine-Patcheclipse


hierachyviewer

hierachyviewer是一個能夠實時查看應用佈局的一個工具,它能夠可視化的查看佈局視圖層次和顯示效果,還能夠放大查看,對UI佈局進行分析優化.ide


jobb

是一個對apk中未編譯文件進行加密生成obb二進制文件或解密加密後的obb文件的一個工具。用法:工具

jobb [-d <directory>][-o <filename>][-pn <package>][-pv <version>] \
 [-k <key>][-ov][-dump <filename>][-v][-about]

android官方文檔給我們了一個命令示例,加密命令如:

$ jobb -d /temp/assets/ -o my-app-assets.obb -k secret-key -pn com.my.app.package -pv 11

提取轉存命令:

$ jobb -d /temp/obb-output/ -o my-app-assets.obb -k secret-key

jobb 的命令選項有:

  • -d 建立的obb文件的輸入目錄,或提取現有文件的輸出目錄
  • -o obb文件名
  • -pn apk包名
  • -pv 清單文件中的versionCode
  • -k obb文件密鑰
  • -ov obb文件版本覆蓋
  • -dump 轉存提取obb文件的文件名,與-d 聯合使用
  • -v 命令輸出log信息
  • -about jobb的版本和幫助信息

lint

android 的代碼掃描工具,能夠幫助咱們識別和糾正代碼的結構質量問題。Android Studio默認構建應用程序時會運行配置的lint和IDE檢查。咱們也能夠經過tools下面的lint命令運行lint檢查。下圖顯示了lint檢查的流程。

這裏寫圖片描述

  • App Source Files:應用程序原文件
  • lint.xml:過濾lint檢查類型
  • lint Tool:lint檢查工具,即toosl目錄下的lint

lint的結果信息會在命令控制檯顯示,手動開啓lint檢測的命令格式以下:

lint [flags] <project directory>

在gradle項目中可使用 gradlew lint 或者 gradle lint,默認會將結果生成一個html文件和一個xml文件,默認位置在build/outputs/lint-results-app_版本名.html和在build/outputs/lint-results-app_版本名.xml文件,html顯示以下:
這裏寫圖片描述

lint自定義配置就再也不詳敘了,請參考官網文檔:https://developer.android.com/studio/write/lint.html#commandline


因爲篇幅緣由,其他工具接下一篇。

相關文章
相關標籤/搜索