Android Studio中support版本错误问题的处理
来源:互联网 发布:360软件认证中心 编辑:程序博客网 时间:2024/06/06 01:06
问题现象
说实话,我真不知道Google是怎么想的,或者如这里所说的确是个BUG,也不知道为什么拖这么长时间没有解决掉,或者是我的RPWT。
这问题的表现就是,在项目的build.gradle文件里,如果用传统的自动依赖处理方式:
[plain] view plain copycompile 'com.android.support:appcompat-v7:+'
编译时系统就会去依赖最新版的support:21.0.0-rc1 。理论上这本不应该有问题,但是不知道是不是Google脑子被枪打了,本来作为兼容需要而出来的support包,居然在这个版本变成不兼容了,21.0.0-rc1这个版本的support包里只有几个Android L用到的东西,所以必须使用L版本的build tool,而且build出来的程序只能在Android L下运行……
都不支持旧版了,那还support个P啊。
而且目前我碰到的情况是:在Mac平台下没有问题,最高只support到20.0,但是在Linux下就会support到21.0.0-rc1,不明觉厉。
初步解决方案
目前可以找到的初步解决方案就是修改build.gradle,手工指定support的版本为19或20。如:
[plain] view plain copycompile 'com.android.support:appcompat-v7:19.+'
这样就可以在低版本的build tool上编译,而且可以支持低版本的Android了。
但是这个方案有一个问题:
如果你的项目自动依赖了第三方库,而第三方库又使用了前面的build.gradle选项,导致依赖最新support时,又会杯具。
第三方库问题的解决方案
一个能立即想到的办法就是把自动依赖的第三方库改为本地依赖,然后把第三方库代码放到本地,编译到你的项目里去,这样麻烦不说,更新也不方便,还要维护一个自己用的第三方库分支。
更好的解决方案是在你的项目里指定第三方库也使用你的依赖配置。如SO上这个帖里的评论所说,在SO的这个帖里也有说到:
[plain] view plain copycompile ('xxxx:xxxx:+') { exclude group: 'com.android.support', module:'appcompat-v7' }
这样便可以了。
如果还不行,再试试这个终极大杀器:
到SDK的“extras/android/m2repository/com/android/support”路径下找到相关的support库目录,修改其中的 maven-metadata.xml 文件,把 21.0.0-rc1 相关的内容删除,这样总可以了吧。
- Android Studio中support版本错误问题的处理
- Android Studio中support版本错误问题的处理
- Android Studio中support版本错误问题的处理
- Android Studio中support library错误
- android studio升级3.0版本,问题处理
- 关于android studio 由于版本问题导致低版本studio项目无法导入高版本的studio的项目中。
- android studio中gradle版本问题的解决方案
- Android Studio中关于Gradle 的版本问题
- Android Studio 中导入 support -v4 包的方法
- Android studio提示Android studio 在gradle文件中引入support:appcompat-v7:22.2.0包的时候出现Failed to resolve的错误
- Android Studio 使用Support.v7和support.v4包遇到的各种问题
- Android Studio 中出现错误Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2
- 关于as遇到的Enable "Android Support" Plugin错误问题
- Android Studio 1.0版本的安装问题
- 关于android studio的版本问题
- Android开发错误——Android Studio中遇到过的错误问题与解决方案汇总
- Android 编程中遇到的错误问题处理
- android中引入support版本冲突
- 关于在django入门时遇见的读取模版时碰到的编码问题
- test
- cubietruck install airplay
- Android百度地图SDK无法支持64位平台完美解决方案
- [kuangbin带你飞]专题五 并查集 B POJ 1611
- Android Studio中support版本错误问题的处理
- Unreal Engine 4 源代码下载以及使用VS编译
- 嵌入式软件的层次
- 你不可不知的final(2)-修饰局部变量(失手率极高的一道面试题)
- Linux下使用代码调用命令行
- JZOJ 4819. 【NOIP2016提高A组模拟10.15】算循环
- 集成Docker和Calico网络
- U-boot新手入门
- 51nod 1459 迷宫游戏 最短路