安卓项目升级sdk和第三方库遇到的问题及解决方案
来源:互联网 发布:linux c 编辑:程序博客网 时间:2024/06/16 11:04
有时候一些项目进行维护的时候需要进行版本升级,当然第三方库肯定要升级,比如百度地图,alipay,sharesdk,蒲公英,讯飞语音sdk等。如果在改变sdkversion后构建Android Studio项目的时候,运行发现,出现没找到资源的错误!找不到com.android.support/appcompat-v4/24.0.1/res/values-v24/values-v24.xml出现这个问题之后尝试将compileSdkVersion设为23(如果sdk里面没有下载API 23的,则需要下载),问题解决!
很多时候会忘记几个Version之间的关系。现在罗列一下以免下次忘记:
1、compileSdkVersion 编译版本,意思就是当为23时,则andorid studio编译的时候用的是sdk里的api-23的版本,里面的函数会用到最新的,一些淘汰的API不会再调用,为此很多时候会出现无法兼容你引入的第三方老库的问题;老项目会用到pulltoRefshlib的库,里面的函数就有不兼容6.0的问题。会报出Floatmath无法找到对应的方法的错误;
解决办法:Android6.0使用 Math.floor 代替 FloatMath.floor 即可;
2、minSdkVersion兼容的最低版本,一般我都设置为17。谁要是用安卓版本4.2一下的做测试的我就想和他聊聊了。版本4.2的手机还能叫手机么。
3、targetSdkVersion目标sdk,targetSdkVersion这个属性是在程序运行时期起作用的,系统根据这个属性决定要不要以兼容模式运行这个程序。一般设置和compileSdkVersion版本一样即可。这个值说直白一点就是当运行app的机器的安卓版本高于你app的编译版本的时候。这个属性通知系统,你已经针对这个指定的目标版本测试过你的程序,系统不必再使用兼容模式来让你的应用程序向前兼容这个目标版本。就是禁用系统的兼容模式。
4、buildToolsVersion这个值是构建工具的版本,随便吧。高点没问题。
好了,分析完上面四个值,现在该具体到更改了这些值之后带来的错误该如何解决的问题了。
Error:(5, 30) java: 程序包org.apache.http.client不存在
加上 useLibrary 'org.apache.http.legacy' 这一句就行了,位置放哪参考截图。还有上面提到的资源文件不存在的错误,以及6.0以后的函数错误。
具体来说还有一个比较常见的错误就是style.xml里面的错误,因为随着安卓版本的迭代,style在各版本也各不相同,关于style的错误出现后,要根据版本具体问题具体分析,网上查一下就能解决错误,不再多做赘述。
- 安卓项目升级sdk和第三方库遇到的问题及解决方案
- cocos2dx项目接入爱贝第三方支付sdk遇到的问题及解决方案
- 安卓工程接第三方SDK遇到回调函数字符串参数乱码的问题
- Android开发中遇到的第三方SDK问题综合
- Android 第三方分享中遇到的问题以及解决方案
- 添加第三方库遇到的问题
- 安卓CRC16校验中遇到的问题和解决方案
- 升级到AndroidStudio3.0之后项目打包遇到的问题及解决方案
- 安卓7.0手机上遇到的app升级问题终极解决方案
- 项目中遇到的 问题及解决方案
- 做项目遇到的问题及解决方案
- 【总结】升级Xcode8遇到的问题及解决方案!!!
- 【总结】升级Xcode8遇到的问题及解决方案!!!
- 更新SDK manager后遇到的问题及解决方案
- 项目遇到问题及解决方案
- 关于项目导入第三方静态库可能遇到的问题(1)
- 第三方(ShareSDK)分享和登录遇到的一些问题
- 安卓项目中常用的第三方框架推荐
- Fragment的用法
- Qt数据库集成应用封装
- 位运算符
- xpath中匹配text()中是否含有制定内容的方法
- D_D系统构建-文件系统
- 安卓项目升级sdk和第三方库遇到的问题及解决方案
- 第七章 日期运算
- java-package
- flatmap和map的区别
- Git-工作区_暂存区_版本库
- 基本类库
- 4 张 GIF 图帮助你理解二叉查找树
- 中位数
- 在Qt中如何使用QtDesigner创建的UI文件