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. 【老鸟学算法】包含 min函数的栈设计——java实现

    要求: 1. 定义栈的数据结构,要求添加一个 min函数,能够得到栈的最小元素. 2. 要求函数 min.push 以及 pop 的时间复杂度都是 O(1). 这是考验“栈”数据结构设计.众所周知,栈 ...

  2. Swift - 告警框(UIAlertView)的用法

    1,下面代码创建并弹出一个告警框,并带有“取消”“确定”两个按钮 (注:自IOS8起,建议使用UIAlertController) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  3. 【iOS发展-44】通过案例谈iOS重构:合并、格式化输出、宏观变量、使用数组来存储数据字典,而且使用plist最终的知识

    我们今天的情况下是第一个例子,下面的5一来通过切换页上一页下一页: (1)第一步,基本是以非常傻非常直接的方式来创建.这里用到的主要点有: --把对象变量设置为全局变量使得能够在其它方法中调用来设置它 ...

  4. java中clone的深入理解

    Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?      1. Clone和Copy      假 ...

  5. JavaScript 中的事件类型4(读书笔记思维导图)

    Web 浏览器中可能发生的事件有很多类型.如前所述,不同的事件类型具有不同的信息,而“ DOM3级事件”规定了以下几类事件. UI(User Interface,用户界面)事件:当用户与页面上的元素交 ...

  6. [Cocos2d-x]节点的尺寸大小

    作为一个CCNode,本身没有大小而言,但是AddChild之后,便有了尺寸的概念. Cocos2d-x中对于一个节点的尺寸可以通过以下三个方法获取: CCSprite: getContentSize ...

  7. loj1336(数学)

    传送门:Sigma Function 题意:定义f(n)为n的约数之和,求[1,n]中f值为偶数的数的个数. 分析:由题目给定公式可知,若f(n)为奇数,则相乘的每一项都必须为奇数. 每一项为奇数的条 ...

  8. hdu4280(最大流)

    传送门:Island Transport 题意:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿. 分析:无向图正反都加弧,权值一样,这题点多, ...

  9. poj3678(two-sat)

    传送门:Katu Puzzl 题意:n个点,点的取值可以是0或者1.m条边,有权值,有运算方式(并,或,异或),要求和这条边相连的两个点经过边上的运算后的结果是边的权值.问你有没有可能把每个点赋值满足 ...

  10. Hibernate 配置详解(7)

    hibernate.order_updates: Hibernate文档中提到,该配置用于在刷新一级缓存,提交UPDATE的时候,按照每类对象的主键顺序排序后再提交,可以在高并发情况下减少事务死锁的可 ...