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 这样的工程:

   

扎腾过程中问题解决过程整理:

       1、 实际使用时,发现,直接将 android-support-v7-appcompat.jar 拷贝到自已所建的工程目录下 libs 目录中,并添加到构建路径里(默认 libs 下的 jar 会自动添加到构建路径中,有时也会出现不自动添加的情况,此时只需手动添加即可),尚不清楚需要创建此工程的真正目的

        2、另外,需要确保引用该库工程的其它工程中引入的支持库的版本相一致,不一致会在 console 中出现提示,找到两个不同版本的支持库

        3、构建工具、平台SDK 需要版本对应,另外 ADT 也应该使用对应版本,以便它们之间很好地协作,至少目前发现 5.0 的支持库与 4.4.2 的工程会出现找不到各类资源问题

总结:要么升级,就全部升到最新版本,要么就不要升级,避勉交叉使用,这种交叉情况是谷歌开发人员未能测试得到的地方,很容易出问题。

            升级之前,先备份原版本,这个很重要,否则你想降回来用,就会出现莫名的问题。


总而言之,轻易不要升级,升级一定要备份早期版本,最好是全部~!


以下列出各种扎腾所需要更改和适配的地方,包括 SDK版本、引用工程库的重新引入、构建路径、jdk 编译器版本、fix android properties、支持库的版本与 SDK版本的一致性以及主工程与引用工程之间 SDK 版本及支持库版本的一致性检查确认。




后续补充图解。










郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。