当前位置:   article > 正文

AndroidSDK工具详解_nixigexi

nixigexi

AndroidSDK工具详解

SDK概述

SDK:(software development kit) 软件开发工具包。一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

Android SDK提供了你的API函数库和开发工具,建立,测试和调试Android应用程序。
Android SDK目录下有很多文件夹,主要都是干什么的呢?(斜体的表示新版本的sdk找不到该目录,或者该目录下没有内容)

  *1. add-ons 这里面保存着附加库,比如Google Maps,当然你如果安装了Ophone SDK,这里也会有一些类库在里面。
  2. docs 这里面是Android SDK API参考文档,所有的API都可以在这里查到。*

  3. market_licensing(licenses) 作为Android Market版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。

  4. platforms 是每个平台的SDK真正的文件,里面会根据API Level划分的SDK版本, 这里就以Android 2.2来说,进入后有一个android-8的文件夹,android-8进入后是Android 2.2 SDK的主要文件,其中ant为ant编译脚本,data保存着一些系统资源,images是模拟器映像文件,fastboot是刷机工具

  5. skins则是Android模拟器的皮肤,templates是工程创建的默认模板,android.jar则是该版本的主要framework文件,tools目录里面包含了重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。

  6. platform-tools 保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件,Android123提示,这里和 build-tools文件夹有些重复,主要是从android 2.3开始这些工具被划分为通用了。

  7. samples 是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发Snake、LunarLander都是不错的例子,对于Android主题开发Home则是android m5时代的主题设计原理。

  8. tools 作为SDK根目录下的tools文件夹,这里包含了重要的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,而monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是android模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具。

  9. usb_driver 顾名思义,保存着android平台google官方机型的驱动如nexus one、nexus s,同时也有一些老机型驱动的支持,比如说htc dream、htc magic和motorola的droid。
  
  10. build-tools 保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件。
aapt即Android Asset Packaging Tool , 在SDK的build-tools目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件.
Adb 即android debug bridge 管理模拟器和真机的万能工具,ddms 调试环境
AIDL 即 Android Interface definition language 它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口
Emulator即android 的模拟器
dx:转化.class中间代码为dvlik中间代码,所有经过java编译的生成.class文件都需要此工具进行转换,最后打包进apk文件中.
Dexdump 即Android Emulator中可以找到一个名为dexdump的程序,通过dexdump可以查看出apk文件中的dex执行情况,粗略分析出原始java代码是什 么样的和Dot Net中的Reflector很像。

注意:这里会涉及到一个问题,就是build-tools后边会有不同的api版本号!

①buildeToolVersion是你构建工具的版本,这个版本号一般是API-LEVEL.0.0。 例如I/O2014大会上发布了API20对应的build-tool的版本就是20.0.0,在这之间可能有小版本,例如20.0.1等等。

②在ecplise的project.properties中可以设置sdk.buildtools=20.0.0。也可以不设置,不设置的话就是指定最新版本。而在android studio中是必须在build.gradle中设置。

③Android都是向下兼容的,你可以用高版本的build-tool去构建一个低版本的sdk工程,例如build-tool的版本为20,去构建一个sdk版本为18的工程!

https://developer.android.com/guide/topics/manifest/uses-sdk-element.html 平台版本对应的API级别

lint工具

  • sdk 16下layoutopt.bat改名为lint.bat了

什么是lint?

  • lint是android 16之后提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题。之前是layouttopt命令。两种形式,一种是命令行工具,另一个集成于Eclipse或者androidstudio中。

  • lint检查范围主要包括:

    • 布局性能(无用布局、嵌套布局、布局太多)

    • 未使用的资源

    • 不一致的数组大小

    • 国际化问题(硬编码)

    • 图标问题(重复的图标,错误的大小)

    • manefest文件的错误

lint有什么特点?

  • 这是一款使用起来非常简单的布局优化工具。他是android sdk带来的一个工具,自动分析你的布局,发现可能并不需要的布局元素,以降低布局复杂度

1、在as中使用lint

  • Android Studio使用Lint进行代码检查 找到Analyze目录下的Inspect Code检查代码选项点击(演示,如图2),还有建议修改的提示
  • 可在setting-inspections修改lint提示的级别,如图1

2、在命令行中使用lint

(演示项目位置 F:\eclipse_wp\zhaixiuuser)

  • lint指令集

lint –help 显示所有的指令及其含义

lint –help (eg:lint –help “suppress”) 查找指定主题的帮助文档

lint –list 列出所有的问题类别、具体id,及对应的解释 (比如下面的例子类别Usability:Icons 具体id:IconDuplicates)

lint –version 查看lint版本号

lint –exitcode ??如果找到错误,则将退出代码设置为1??

lint –html 将检测出的的报告到处在report file path下,如果存在则覆盖。(eg.lint –html D:\Users\4399-1126\Desktop\report2.htmlF:\eclipse_wp\zhaixiuuser)

lint –show 显示所有的问题及对应的解释

lint –show 显示指定的问题或指定类型下的所有问题的完整解释(eg lint –show Usability:Icons 列出这一类型下的所有问题id及对应的解释lint –show IconDuplicates,IconDuplicatesConfig:指定id )

lint –disable 禁用类别或特定问题的列表,列表用逗号隔开 eg:lint –disable HardcodedText F:\eclipse_wp\zhaixiuuser

lint –enable 启用特定问题的列表。默认检查所有问题,加上这个特别启用的,列表用逗号隔开

lint –check 只检查这里指定的问题,逗号隔开(只检查国际中文字编码的问题:lint –check HardcodedText F:\gitlab\m4399-opreate-sdk2 –html D:\Users\4399-1126\Desktop\report444.html)

lint -w或者lint –noworn 只检查错误,不检查警告

lint -Wall 检查所有的警告,包括那些默认关闭的

lint -Werror 将所有的警告视为错误

lint –config 使用给定的配置文件,以确定是否启用或禁用的问题。如果一个项目包含一个lint.xml文件,则默认就按照该文件去检测,无需用该指令。eg:lint –config D:\Users\4399-1126\Desktop\lint.xml F:\eclipe_wp\zhaixiuuser

lint –quiet 不显示检测过程 (eg:lint –quiet –html D:\Users\4399-1126\Desktop\report3.html F:\eclipse_wp\zhaixiuuser)

lint –fullpath 检测报告显示的文件路径使用全路径

lint –showall 不截取长信息列出可选的位置等等。。(跟lint xxx一样)

–nolines 不输出源代码行
–url filepath=url 用url取代本地html链接。、、
–simplehtml 跟–html一样。。。
–xml 导出xml文件。。
–resources

:只检测src,不检测res(dir什么作用???)
–sources :只检测res,不检测src
–lib :res、src都检测,lib不检测
–classpath:。。。。暂时不懂~~

HTML报告

命令行工具

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/250475?site
推荐阅读
相关标签
  

闽ICP备14008679号