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

兴许补充图解。

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

Android SDK 5.0 这个语句带来折腾 - 生命在于折腾!的更多相关文章

  1. Android SDK 4.0.3 开发环境配置及运行

    最近又装了一次最新版本的ADK环境 目前最新版是Android SDK 4.0.3 本文的插图和文本虽然是Android2.2的 步骤都是一样的,如果安装的过程中遇到什么问题,可以留言,我会尽快回复! ...

  2. 安卓模拟器Android SDK 4.0.3 R2安装完整图文教程

    在最新的Android 4.0.3 R2模拟器中,已经加入了GPU支持,可以支持OpenGL ES 2.0标准,让开发者可以借助模拟器来测试自己的OpenGL游戏.在去年新增了摄像头支持之后,现在的新 ...

  3. Gprinter Android SDK V1.0 使用说明

    佳博打印机代理商淘宝店https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.Sqz8Pf 在此店购买的打印机 ...

  4. Gprinter Android SDK V2.0 使用说明

    佳博特约经销商,此店购买的打印机问题优先解决哟 https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.V1p ...

  5. asp <----> vb(com,dll) <---> c 来回的调用,生命在于折腾

    最近想改进一个两年前写的小程序,原因是最近将运行在托管服务器上的asp程序迁移到阿里云主机上运行. 初次使用阿里云主机,买了一个配置较低的主机(1核,1G内存,年付:1500左右吧) 原来使用的托管的 ...

  6. Android SDK安装Android4.0“冰激淋三明治”(IceCreamSandwich)教程(转载)

    昨天,Google举行了发布会,发布了Nexus Prime手机和Android4.0-IceCreamSandwich手机系统.作为Google旗下Android的最新版本手机系 统,Android ...

  7. Android 百度地图 SDK v3.0.0 (一)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SD ...

  8. android SDK 更新问题完美解决 http://dl-ssl.google.com refused

    现在由于GWF,google基本和咱们说咱见了,就给现在在做Android  或者想学习Android 的朋友带来了诸多的不便,最简单的就是Android SDK Manager 你无法更新了. 现在 ...

  9. (转)Android SDK Manager国内无法更新的解决方案

    转载地址:http://www.linuxidc.com/Linux/2015-01/111958.htm 现在由于GWF,google基本和咱们说咱见了,就给现在在做Android  或者想学习An ...

随机推荐

  1. Python+Django+SAE系列教程15-----输出非HTML内容(图片/PDF)

    一个Django视图函数 必须 接受一个HttpRequest 实例作为它的第一个參数 返回一个HttpResponse 实例 从一个视图返回一个非HTML 内容的关键是在构造一个 HttpRespo ...

  2. 12306 Android客户端的libcheckcode.so解密及修复

    源:http://blog.csdn.net/justfwd/article/details/45219895  这篇文章纯粹属于安全分析研究,请勿用于非法用途.如有侵犯到厂家,请告知作者删除 123 ...

  3. Lucene.Net 2.3.1开发介绍 —— 二、分词(二)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(二) 1.2.分词的过程 1.2.1.分词器工作的过程 内置的分词器效果都不好,那怎么办?只能自己写了!在写之前当然是要先看看内置的分词 ...

  4. 编译Release版本小技巧

    原文:编译Release版本小技巧 由于项目中要部署的App有很多,每次发布一个版本后都有一堆垃圾文件,部署在众多的终端机上不注意的话十分容易搞错.记得以前在VS中是可以设置下不生成vhost和pdb ...

  5. POJ 1862 &amp; ZOJ 1543 Stripies(贪心 | 优先队列)

    题目链接: PKU:http://poj.org/problem?id=1862 ZJU:http://acm.zju.edu.cn/onlinejudge/showProblem.do?proble ...

  6. Delphi回调函数及其使用

    Delphi回调函数及其使用 1 回调函数的概述 回调函数是这样一种机制:调用者在初始化一个对象(这里的对象是泛指,包括OOP中的对象.全局函数等)时,将一些参数传递给对象,同时将一个调用者可以访问的 ...

  7. WinDbg分析DMP文件方法完全攻略

    前言:在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试.在开发人员测试出现的bug,我们可以直接在本地进行调试.如果测试人员测试出崩溃级别的bug, ...

  8. (76) Clojure: Why would someone learn Clojure? - Quora

    (76) Clojure: Why would someone learn Clojure? - Quora ★ Why would someone learn Clojure?   Edit

  9. SetDlgItemText控件运行错误

    SetDlgltem函数把一个WM_SETTEXT消息发送到指定的控件. 今天在测试一个小程序,发现使用SetDlgItemText控件编译没问题,但是运行就出错误. 语句为: time=CTime: ...

  10. ThinkPHP分页使用例子(二十一)

    原文:ThinkPHP分页使用例子(二十一) ThinkPHP分页使用 PHP代码: public function fenye(){ $User = M('Leyangjun'); // 实例化Us ...