Android SDK 5.0 这个语句带来折腾 - 生命在于折腾!

Android SDK 5.0  带来的这番折腾 - 生命在于折腾!

太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则。出自本博客的文章拒绝转载或再转载。谢谢合作。


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 版本号及支持库版本号的一致性检查确认。




兴许补充图解。










版权声明:本文博客原创文章。博客,未经同意,不得转载。

posted @ 2015-07-06 17:24  hrhguanli  阅读(297)  评论(0编辑  收藏  举报