在使用了Databinding之后,AndroidStudio会自动将当前target api对应版本的support-v4包依赖添加进来(在本例中是21.0.3的版本),而原项目中使用的support-v4包是在lib下的一个jar包(在本例中是25.0.0版本),是高于当前api版本的。结果在项目编译时,两个v4包被一起编译进来了,就造成了库冲突的问题,具体表现为编译时报ZipException的错误


解决方法:

第一种方法(不推荐):

①直接将原lib下的support-v4包移除。

【注意】这种方法就是让我们去使用Databinding添加进来的低版本support-v4包,而这样可能会导致原项目中的某些业务代码出错,因为其依赖了高版本的某些特性。


第二种方法(推荐):

①在gradle的dependencies中手动添加更高版本的support-v4包依赖,如:

compile 'com.android.support:support-v4:25.0.0'

②将原lib下的support-v4包移除,如果不想删文件可以这么写:

compile fileTree(include:['*.jar'], exclude:['android-support-v4.jar'], dir:'src/main/lib')

【原理】当我们手动添加更高版本的support-v4包依赖后,Databinding就不会再重复添加support-v4包依赖进来了。第②步是为了防止库重复。

更多相关文章

  1. 使用webView访问https的url-处理SslError解决android2.2版本之前
  2. Android(安卓)录像添加时间戳水印
  3. 编译不同android系统镜像,需要的环境要求,到底是哪些
  4. [Skill]Android版本兼容器
  5. 腾讯 Bugly热更新技术
  6. android studio 利用productFlavors 生成三种不同网络环境的Apk
  7. Android(安卓)Studio 第八十三期 - AndroidStudio3.1构建缓存的
  8. 跟Google学习Android开发-起始篇-构建你的第一个应用程序(1)
  9. 我的android 第13天 -SQLiteOpenHelper对数据库进行版本管理

随机推荐

  1. Python学习之路:函数的非固定参数
  2. python编程从入门到实战1-3章
  3. 简谈-如何将图片下载到本地
  4. [D]用python提取多段字符串该怎么写正则
  5. Python实现快速傅里叶变换(FFT)
  6. Python出现Could not find a version tha
  7. python之选课系统详解[功能未完善]
  8. Python是如何进行内存管理的
  9. Python内置函数介绍
  10. 如何从单一路径获取上层路径?