赞
踩
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是android 16之后提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题。之前是layouttopt命令。两种形式,一种是命令行工具,另一个集成于Eclipse或者androidstudio中。
lint检查范围主要包括:
布局性能(无用布局、嵌套布局、布局太多)
未使用的资源
不一致的数组大小
国际化问题(硬编码)
图标问题(重复的图标,错误的大小)
manefest文件的错误
(演示项目位置 F:\eclipse_wp\zhaixiuuser)
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
命令行工具
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。