10)tools目录:包含各个SDK工具
tools/ant目录:存放ant相关的XML文件
tools/apps目录:包含SdkController相关的文件,SdkController是android提供的一个APP应用,通过它在真实设备(手机、移动终端)的运行可以将传感器数据发送到emulator模拟器。如果要用它,你需要做下面的几步:
Connect your device to your computer via USB. Make sure to enable USB Debugging in Settings > Developer Options.
Start this application on your device.
On the computer in a shell, run:
adb forward tcp:1968 tcp:1968
Finally run an emulator with an AVD targetting API 15.
tools/Jet目录:包含demo_content(JetCreator创建JET内容的demo,共2个)、JetCreator(用于开发JET内容)、Logic8模板(通过Apple Logic8模板,可以很方便地创建MIDI文件并导入到JetCreator)。JET是一个音乐播放器,主要是用于嵌入式设备,JET播放器是通过JET引擎来处理声音文件并控制管理(格式为MIDI),在程序中播放和管理JET内容需要使用android.media.JetPlayer类,它在SDK根目录/platforms/android-版本号/android.jar里(目前新版本是此路径)。
tools/lib目录:包含Android tools各种工具的jar包、dll、exe、资源文件等。从下图就可以看出此目录的重要性,
tools/proguard目录:ProGuard是一个压缩、优化、混淆工具,它主要是通过删除一些没用的代码,修改语法不标准的类名、属性、方法等,达到压缩、优化、混淆的功能,Android集成了此工具,Android工程编译构建时会自动调用,只有你采用了release模式才不会调用。采用ProGuard后apk文件会较小并且难以反编译(反编译后比较难看懂),一般建议采用。
从上图中的目录里我们可以看到主要包含了ant构建相关的task.properties文件、ProGuard的批处理文件、ProGuard文档、ProGuard例子、ProGuard类库。
tools/support目录:里面只有annotations.jar,Android Lint工具的注释支持包。更多信息请看Android Lint工具官方文档:http://tools.android.com/tips/lint
adb_has_moved.txt:一个关于adb调试桥已移动到platform-tools目录下的信息提示。老版本adb调试桥是在此目录下。
Android.bat:可以通过此命令创建AVD、启动SDK Manager界面、列表虚拟设备、列表AVD等。
apkbuilder.bat:apk打包工具,将dex字节码文件和需要打包的资源文件一起打包成未签名的apk安装包,再由Ant构建时调用signjar生产签名APK。为了让各位更清楚打包过程,特贴此下图,并列出tools/ant/pre_setup.xml相关的代码。
<target name="-release-sign" if="has.keystore" >
<!-- only create apk if *not* a library project -->
<do-only-if-not-library elseText="Library project: do not create apk..." >
<sequential>
<property name="out.unaligned.file" location="${out.absolute.dir}/${ant.project.name}-release-unaligned.apk" />
<!-- Signs the APK -->
<echo>Signing final apk...</echo>
<signjar
jar="${out.packaged.file}"
signedjar="${out.unaligned.file}"
keystore="${key.store}"
storepass="${key.store.password}"
alias="${key.alias}"
keypass="${key.alias.password}"
verbose="${verbose}" />
<!-- Zip aligns the APK -->
<zipalign-helper
in.package="${out.unaligned.file}"
out.package="${out.final.file}" />
<echo>Release Package: ${out.final.file}</echo>
</sequential>
</do-only-if-not-library>
<record-build-info />
</target>
ddms.bat:DDMS全称为 Dalvik Debug Monitor Server,是android提供的一个调试工具,在eclipse里可直接调用打开调试窗口,若是外部使用需要用命令窗口执行。
dmtracedump.exe:一个生成函数调用图的工具,用于调试,以树形结构列出调用关系,每一个调用为一个节点,用箭头指向调用流向。
draw9patch.bat:Draw 9-patch是一个绘图工具,它提供一个所见即所得的编辑器,让你很轻松的创建NinePatch PNG图像。可对图像进行放大、拉伸、锁定区域、显示内容等。
emulator.exe、emulator-arm.exe、emulator-x86.exe:为Android模拟器的启动文件,emulator模拟器是模拟一台真实手机的环境,并模拟很多操作,方便开发、测试、调试我们开发的APP应用,当然它不是完全实现真实手机的操作,涉及到一些硬件设备相关的操作不能实现,如耳机调试、触摸屏等。emulator模拟器运行的是你通过AVD Manager创建、指定的AVD虚拟设备。
etc1tool.exe:etc1tool是一个命令行工具,可以让你编码、解码ETC1标准压缩的PNG图像。
hierarchyviewer.bat:Hierarchy Viewer是Android提供的一个UI可视化调试工具,方便我们设计、调试UI用户界面,启动后可看到我们正在运行的Activity,顶部有三个按钮,分别是refresh、Load View Hierarchy、Inspect Screenshot,refresh为刷新 , Load View Hierachy可查看界面中各个控件的层次结构关系,Inspect Screenshot可查看放大、缩小界面的任意一部分。
hprof-conv.exe:将hprof文件转换成MAT识别的标准格式。
lint.bat:Android工具是SDK tool 16(ADT 16)以后版本新增的一个扫描潜在BUG的工具,它可作为一个命令行工具,亦可在Eclipse里使用。可扫描错误的语法、布局性能问题、未使用资源、大小不一致的数组、可访问性和国际化问题、可用性问题、明显的错误。
mksdcard.exe:mksdcard工具让您快速创建一个FAT32的sdcard磁盘映像,你可以在模拟器中加载sdcard,mksdcard工具创建一个SD卡是没有与AVD捆绑,这样你就可以在多个模拟器中共享这个sdcard。当你用AVD Manager创建一个AVD时,可选择新建一个sdcard和选择使用一个已有的文件。
monkeyrunner.bat:monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。
NOTICE.txt:Android tools相关的提示信息。
source.properties:Android tools相关的资源信息,主要是该资源生成时间、系统类型、资源URL地址等等。
sqlite3.exe:sqlite是一个小巧、高速的数据库,Android采用它作为其中一种数据存储方式。sqlite将在以后章节详细介绍。
traceview.bat:Traceview是android的一个性能分析工具,包含Timeline控制面板和profile控制面板。它以图形化的方式要跟踪我们编写的代码性能。
zipalign.exe:zipalign是Android提供的一个APK优化工具,通过它的优化可以减少运行APP应用是消耗的RAM。用Eclipse开发,导出APK时会自动使用zipalign,若你用ANT构建编译你的应用,也会用到zipalign。