关于Android sdkmanager目录结构的总结

SDK Platform是指一些已经编写好的库函数,类文件,我们可以直接调用
Samples for SDK是指一些样本代码,可以导入eclipse运行出来查看里面函数的效果
以system images为后缀的都是一些用来创建adt bundle自带的AVD所需的镜像文件,这个是很大的,我一般不用这个而用第三方的模拟器比如genymotion
Google APIs是指要开发谷歌地图等一些谷歌服务所需的库函数,他里面包含了所有的SDK Platform,也就是说他更大,但是如果我们没有开发谷歌服务相关的时候就没必要下载他,而直接使用SDK Platform
Sources for android SDK是指一些源代码,我们可以查看他们。

上面这几个就是在Android SDK Manager 里面的所有种类,然后他们下载下来在SDK目录的不同目录中,
platforms 是每个平台的SDK真正的文件,里面会根据API Level划分的SDK版本,
比如SDK Platform在Platform目录中Google APIs在add-ons目录下。


下面的是在网上找的一些资料:

<strong>Android SDK 目录下有很多文件夹,主要都是干什么的呢?</strong>
 
   1. add-ons 这里面保存着附加库,比如google Maps,当然你如果安装了OPhone SDK,这里也会有一些类库在里面。
 
   2. docs 这里面是Android SDK API参考文档,所有的API都可以在这里查到。
 
   3. extras/market_licensing 作为Android Market版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。
 
   4. platforms 是每个平台的SDK真正的文件,里面会根据API Level划分的SDK版本,  这里就以Android 2.2来说,进入后有一个android-8的文件夹,android-8进入后是Android 2.2 SDK的主要文件,其中ant为ant编译脚本,data保存着一些系统资源,images是模拟器映像文件,skins则是Android模拟器的皮 肤,templates是工程创建的默认模板,android.jar则是该版本的主要framework文件,tools目录里面包含了重要的编译工 具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。
 
  5. platform-tools 保存着一些通用工具,比如adb、和aapt、aidl、dx等文件,Android123提示,这里和platforms目录中tools文件夹有些重复,主要是从android 2.3开始这些工具被划分为通用了。
 
  6. samples 是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发 Snake、LunarLander都是不错的例子,对于Android主题开发Home则是android m5时代的主题设计原理。
 
  7. tools 作为SDK根目录下的tools文件夹,这里包含了重要的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器, 而draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,而 monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是 android模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具。
 
  8. usb_driver 顾名思义,保存着android平台google官方机型的驱动如nexus one、nexus s,同时也有一些老机型驱动的支持,比如说htc dream、htc magic和Motorola 的droid。
<p> 9. extras 该文件夹下存放了google提供额USB驱动、Intel提供的硬件加速等附加工具包</p>  <p> 10. build-tools 保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件。</p>  <p>    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 的模拟器    
    Dexdump 即Android Emulator中可以找到一个名为dexdump的程序,通过dexdump可以查看出apk文件中的dex执行情况,粗略分析出原始java代码是什 么样的和Dot Net中的Reflector很像。  </p>
 
<h1>windows和linux下androidSDK是否通用?</h1>
<em></em><p>SDK并不是所有数据都区分平台的、有部分数据是通用的、而且通用的这部分数据也是整个 SDK中体积最大的、</p><p>先说说一个完整的SDK包含哪些目录、这里以android-sdk-windows为 sdkHOME目录(android-sdk-linux)</p><p>Linux中目录有一点小区别、那就是 sdkManager、win下这个软件在sdkHOME目录的根目录中、AVD软件也在根目录中、</p><p>而Linux 中的sdkManager和avdManager(其实不叫这两个名字而是叫android的一个可执行文件)在sdkHOME目录的tools文件夹 中、</p><p>sdkHOME下有:</p><p>add-ons 通用
</p><p>build-tools 不通用
</p><p>docs 通用
</p><p>extras 通用
</p><p>platforms 通用
</p><p>platform-tools 不通用
</p><p>samples 通用
</p><p>sources 通用
</p><p>system-images 通用
</p><p>temp 通用(这个是sdkmanager更新数据的临时文件夹、可能不存在、没有的话就不用管)
</p><p>tools 不通用
</p><p>上面就是一个完整的SDK所包含的目录了、当然不保证Android今后更新会添加新的目录</p>

posted @ 2015-12-20 12:20  申杰博客  阅读(709)  评论(0编辑  收藏  举报