• Android SDK自带调试优化工具


    Android sdk中自带了一些分析内存,界面调优的非常实用的工具,这对于分析和调试我们的应用十分有帮助,由于我使用的是linux版本的sdk,所以就以linux版本的工具做一个介绍,这些工具的具体位置在android-sdk-linux/tools/*目录下面,目前整理的工具有如下几种(由于篇幅的原因,可能需要两篇来介绍):

    • 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查看命令提示,如下:

    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.

    介绍几个可以常用的功能:

    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]

    如上,我们可以通过如下命令创建一个工程:

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

    该命令会创建一个非gradle工程,eclipse的标准目录结构,如果需要创建一个gradle构建的android工程,命令如下:

    $:./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.html


    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 监视器简述

    draw9patch

    制作.9 patch图片的一个工具,9 patch图片是一个自适应的png图片,可以实现背景图片自适应而不失真,我们可以在tools文件下的draw9patch打开或者直接在Android Studio的res目录下选择一个png图片右击选择Create 9-Patch file创建一个9-Patch文件并在左侧绘图区域制作,具体的制作过程可以参考一篇博文,他是根据android 文档原文翻译,写的很清楚:博客,也可以直接参考android文档:Draw9patchNine-Patch


    hierachyviewer

    hierachyviewer是一个可以实时查看应用布局的一个工具,它可以可视化的查看布局视图层次和显示效果,还可以放大查看,对UI布局进行分析优化.


    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


    由于篇幅原因,其余工具接下一篇。

  • 相关阅读:
    优酷网的架构学习笔记
    同网关劫持与不同网关劫持实例
    .flv和.swf格式文件flash播放器代码
    让IE6显示透明PNG背景图片
    新手买车的九大原则
    服务器不支持FLV视频播放的原因
    功能强大易用的Web视频播放器——Flowplayer(使用方法及演示)
    一个不错的媒体网页播放器(国外的)
    网页表格中单元格线条及边框的设置
    20多个漂亮的使用jQuery交互的网站设计欣赏
  • 原文地址:https://www.cnblogs.com/amiko/p/7906239.html
Copyright © 2020-2023  润新知