标签:
一般平台都会发布自己的SDK,SDK包含该平台为应用程序开发人员提供的开发工具,主要是所有公开API
的集合,应用程序开发人员可以借助SDK中的API快速的进行应用的开发。
Android SDK针对所有安卓应用开发人员开放,下载ADT查看sdk目录如下:
sdk
├── add-ons
├── build-tools
├── extras
├── platforms
├── platform-tools
└── tools
SDK文件目录解释:
1) add-ons 这里保存一些附加库,例如GoogleMaps
2) build-tools 这里放的是Android的一些重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx等
3) extras 存放的是几次大的升级添加的新功能相关的static library,如android-v4,android-v7,android-v13
4) platforms 存放的是平台真正的SDK,其中会根据APILevel来区分SDK的版本,命名规则android-APILevel,如android 4.4
SDK的文件夹名称为android-20,其文件目录如下:
├── android.jar
├── build.prop
├── data
├── framework.aidl
├── sdk.properties
├── skins
├── source.properties
├── templates
└── uiautomator.jar
该目录下主要文件android.jar为该版本framework的主要文件,包括class,图片等;
data目录下为系统的资源文件,包括字符串资源,fonts字体库文件,activity broadcast的action记录,intent的category,
widget的列表等内容;skins目录为Android模拟器的皮肤资源;templates目录下为创建Android工程默认模板,包括
AndroidManifest.xml,java文件,launch图标等;
5) platform-tools 此目录主要放置的是平台工具,如adb, fastboot, sqlite3等
6) tootls 这个目录中有比较重要的调试工具,如ddms(包括一些截图),Android模拟器的主程序emulator,traceview性能优化工具,
UI控件扫描工具uiautomatorviewer,UI层级显示工具hierarchyviewer,代码混淆工具proguard,ant编译脚本,代码缺陷
扫描工具lint等,这个目录下也有个templates目录,简单看了下不太明白是干什么用的,有兴趣的可以了解一下。
2.PDK 平台开发套件(合作伙伴开发套件)
PDK主要针对系统和平台开发的人员,有的博客上说PDK对于解决Android碎片化有一定的作用,在PDK推出之前,未能参与Google
早期开发设备计划的OEM厂商和半导体供应商必须等到Android开源版本公布后,才能开始进行开发。而从Jelly Bean,也就是Android
4.1版本开始Google在发布新的Android版本之前会Release给与其签约过的OEM厂商和半导体供应商PDK(PDK的获取需要授权,因为
PDK中的新版Android尚未正式发布),这样OEM厂商不会再落后于Google挑选的独家早期开发伙伴。原来的时候,只有Google的自有品
牌Nexus设备才能成为市场领先者,但以后的情况可能不一定会如此,因为会有许多积极的OEM 厂商也能借助PDK快速推出新版产品。
这个就是PDK的作用,加快OEM厂商的update速度,不然Android的新版本的使用率会跟不上更新的速度。
这个PDK中会有一些平台的少量Code,以及一些binary文件,能够是系统工程师尽快的进行本平台的一些驱动的开发,调试,以及一些
平台的新功能开发,至于PDK的详细文件目录以及文件内容我暂时不太清楚。
3.NDK 原生开发套件(这个我翻译得比较蹩脚)
Android的SDK是中的API都是java的,众所周知,安卓应用跑在dalvik/ART上,所以第三方应用基本上只能通过java来进行开发,如果
想要通过C来开发,需要通过JNI来实现,个人理解由于C/C++上有很多成熟的库可以用,所以Google开辟的NDK,可以使得C/C++的
应用也能直接在Android上跑起来,但是这里面也存在技术障碍,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug
难度更大等,开发者需要自行斟酌使用。NDK官方说明
我没有进行过NDK的开发,查阅到NDK的讲述有一篇特别详细的博客,有兴趣或这需求的可以根据该blog学习一下。
如果有更多关于NDK的问题可以到NDK论坛找找看。
参考文章:
1.http://www.cnblogs.com/Soprano/articles/2559332.html
2.http://www.eet-china.com/ART_8800676827_617693_NT_2debd506.HTM
标签:
原文地址:http://www.cnblogs.com/cyqx/p/4748641.html