Android SDK 5.0 带来的这番折腾 - 生命在于折腾!
太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
1、首先须要明白一个问题 ,Android 的 SDK,包含例如以下几个主要部分:
a、tools
这是 Android 工具。emulator 等工具都在这里
b、platform-tools
这是平台工具,著名的 adb 就在这里
c、build-tools
这是构建工具,做过批量编译的开发人员,可能都用过这些打包命令,比方 aapt、dx 等;
这个文件夹下会存在多个平台专用的构建工具版本号。均在一个代表该平台版本号的文件夹下。如 19.1.0:
d、platforms
这是各级 API 相应平台版本号开发库所在,例如以下图所看到的。也是以该平台 API 版本号为标识的文件夹分别进行组织的
从上图中,能够看到,每次 Android 新版本号的公布,都会带来 Android 工具、平台工具、构建工具部分或所有的更新,而平台 SDK 一定会公布一个新的版本号
e、extras
附加组件部分,当中比較重要的是 “支持库”,它能够确保一些新版本号 SDK 中引入的功能,能够执行在不具有这些功能的较早版本号的设备上
2、如今新建一个 Android 应用,假设应用向下兼容的版本号较低,而使用了一些这些低版本号中不具有的功能,就会自己主动创建一个相似 appcompat_v7 这种project:
扎腾过程中问题解决过程整理:
1、 实际使用时,发现。直接将 android-support-v7-appcompat.jar 复制到自已所建的project文件夹下 libs 文件夹中,并加入到构建路径里(默认 libs 下的 jar 会自己主动加入到构建路径中。有时也会出现不自己主动加入的情况。此时仅仅需手动加入就可以),尚不清楚须要创建此project的真正目的
2、另外,须要确保引用该库project的其他project中引入的支持库的版本号相一致。不一致会在 console 中出现提示,找到两个不同版本号的支持库
3、构建工具、平台SDK 须要版本号相应。另外 ADT 也应该使用相应版本号。以便它们之间非常好地协作。至少眼下发现 5.0 的支持库与 4.4.2 的project会出现找不到各类资源问题
总结:要么升级。就所有升到最新版本号,要么就不要升级,避勉交叉使用,这种交叉情况是谷歌开发人员未能測试得到的地方,非常easy出问题。
升级之前。先备份原版本号。这个非常重要,否则你想降回来用,就会出现莫名的问题。
总而言之,轻易不要升级,升级一定要备份早期版本号。最好是所有~!
下面列出各种扎腾所须要更改和适配的地方。包含 SDK版本号、引用project库的又一次引入、构建路径、jdk 编译器版本号、fix android properties、支持库的版本号与 SDK版本号的一致性以及主project与引用project之间 SDK 版本号及支持库版本号的一致性检查确认。
兴许补充图解。
版权声明:本文博客原创文章。博客,未经同意,不得转载。