博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android v4 v7问题
阅读量:6082 次
发布时间:2019-06-20

本文共 1712 字,大约阅读时间需要 5 分钟。

hot3.png

一.v4包与V7包的介绍

1.android-support-v4 是谷歌推出的兼容包,最低兼容Android1.6的系统,里面有类似ViewPager等控件。ViewPager在Android 1.6以下的版本是不自带的,所以要实现ViewPager需要使用v4包中的ViewPager。还有v4 的fragment。

2.android-support-v7是谷歌推出的版本兼容包,最低兼容Android2.1的系统,这个包通常和appcompat-v7这个工程一起使用。 

appcompat-v7这个工程可以让开发者统一开发,在任何系统版本下保证兼容性。涉及的内容有Theme,value,布局,新的控件,新的动画实现方式,

特别注意: 

包含了support-v4的全部内容,开发Android工程时,要兼容低版本都要导入v7工程。

android studio在创建工程的时候默认导入了v7工程,并且将style使用了兼容style,给开发者提供了极大的方便。并且最新的v7包增加了很多material design的兼容类和素材,请及时更新。

3.android-support-v13是谷歌推出的版本兼容包,最低兼容Android3.2的系统。当初是为了开发平板做设计的。(价值不大)

v7版本适用于任何版本的开发,保证了兼容性,所以在使用的时候一定要采用。

compile ‘com.android.support:appcompat-v7:27.0.2’ 

testCompile ‘junit:junit:4.12’

二.v4包与v7包的冲突解决

1.在实际项目中常见此类错误: 
Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. 
com.Android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:

Jar包冲突,然后看了一下,项目库中的libs下,依赖了一个v4的jar包,而主工程中又依赖了一个v7的库而导致的冲突 

(有时候,就是引入的第三依赖里,引入的v4与你引入的冲突,或者v7, 
还有时候,你引入的工程依赖,里,也有v4,注意你要将他们保持版本一样)

解决方式一:

由于项目中的v4 jar一般比较旧,所以果断将v4包从libs目录下删除,重新添加在线的依赖库v4包,在build.gradle中添加依赖:

compile ‘com.android.support:support-v4:27.0.2’

注意此时的v4包的版本号要和主工程module的v7包的版本要一致,(一般情况下相同版本的依赖包不会冲突),然后重新build工程就ok了

解决方式二:(也使用第三方其他依赖重复引用v4)

不用删除项目库中的V4包,直接在主工程Module的build.gradle文件中添加如下:

compile(‘com.android.support:appcompat-v7:27.0.2’) { 

exclude module: ‘support-v4’ 
//compile ‘com.android.support:support-v4:27.0.2’ 
compile ‘com.android.support:appcompat-v7:27.0.2’ 
apt ‘com.zhy:mpermission-compiler:1.0.0’//鸿神 权限管理 
//鸿神 权限管理 v4冲突了 
compile(‘com.zhy:mpermission-api:1.0.0’) { 
exclude module: ‘support-v4’ 
默认情况下v7中是包含V4包的,exclude 的意思就是从v7包中去除v4包这样就可以解决冲突了…

项目中,最好,用依赖,不用jar包;

 

转载于:https://my.oschina.net/u/920274/blog/3000952

你可能感兴趣的文章
Linux下查看服务器硬件情况-内存篇
查看>>
《三》深入理解Pod对象
查看>>
Java异常时的返回值
查看>>
Java 加载资源文件
查看>>
thinkphp门窗定制电商平台-尺寸定制页面
查看>>
LINUX网络管理之Centos6&&Centos7
查看>>
Myeclipse 2014 专业版 安装 svn插件
查看>>
比较 PHP集成开发工具(IDE)
查看>>
[转载]windows机器 cmd命令下能否使用什么命令通过ssh连接到远程lin
查看>>
MySQL入门-4:检索数据
查看>>
我的友情链接
查看>>
configure: error: wrong mysql library version or lib not found
查看>>
OSX 更新 node-qrcode
查看>>
awk命令
查看>>
Linux 核心-封面
查看>>
对面的GMAT请看过来
查看>>
CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
查看>>
我的友情链接
查看>>
老板不希望手下通晓的大道理
查看>>
第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
查看>>