完美解决android 项目jar包冲突的问题

 更新时间:2020年03月23日 10:58:13   作者:再见孙悟空_  
这篇文章主要介绍了完美解决android 项目jar包冲突的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

大家在做开发中竟然需要用到一些三方库 或者 需要集成三方的SDK开发包,尤其是项目特别庞大的时候,引用的三方的东西特别多,那么肯定会碰到一些jar包冲突的情况。

常见的情况有以下几种

1.项目自己引用jar包重复

2.项目中jar包和三方SDK

3.三方sdk之间都含有相同类

4.打包时候出现编译错误,出现冲突

1.项目自己引用jar包重复

com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice

类似这种 v4包重复 ,直接删掉其中一个包就可以了。

2.项目中jar包和三方SDK

这其实有两种情况

1)  将一些三方的框架源码引用到项目中了比如 GSON ,Vollery这些,我们将里面的一些文件重写了,引用的是源码,这个和我们引用的三方库里面的冲突了 。

这种情况,我们可以将三方库设置为私有 provided,如果还是有冲突我们可以将

2) 直接导入的jar包 或者 gradle中配置的依赖 和项目中原有的一些jar包出现冲突。

3.三方sdk之间都含有相同类

比如你集成了友盟的sdk,又集成了支付的sdk,还集成了一些其他的sdk。这些sdk之间会有一些冲突。

4.打包时候出现编译错误,出现冲突

这种情况是正常手机调试运行没有问题,但是一打正式包就报错,冲突。

说了这么多,这些碰到这种项目中有冲突,或者有重复文件的情况我们如何解决呢?

一般常用的解决办法

1.双击shift 可以调出搜索 这个搜索是全局含jar搜索,可以快速定位到你搜索的东西存在哪个包下。

2.找到后 按上面讲的,解决也有几种情况

1)如果是两个相同的jar ,直接删掉一个

2)如果不同的jar有相同的引用 用exclude解决,大概意思就是去掉 你不需要的类

 3)打包出现的错误冲突等,我们可以找到 ,或者删除,或者修改,引入的方式可以修改为provided

这种方式只提供编译支持,但是不会写入apk。使用provide可以避免支持包版本冲突和重复打包导致安装包体积徒增。

以上这篇完美解决android 项目jar包冲突的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Android WebView上实现JavaScript与Java交互

    Android WebView上实现JavaScript与Java交互

    这篇文章主要介绍了Android WebView上实现JavaScript与Java交互 的相关资料,需要的朋友可以参考下
    2016-03-03
  • 深入了解OkHttp3之Interceptors

    深入了解OkHttp3之Interceptors

    这篇文章主要介绍了深入了解OkHttp3之Interceptors,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Android实现验证码登录

    Android实现验证码登录

    这篇文章主要为大家详细介绍了Android实现验证码登录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • android scrollview 滑动到顶端或者指定位置的实现方法

    android scrollview 滑动到顶端或者指定位置的实现方法

    下面小编就为大家带来一篇android scrollview 滑动到顶端或者指定位置的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android仿淘宝头条基于TextView实现上下滚动通知效果

    Android仿淘宝头条基于TextView实现上下滚动通知效果

    这篇文章主要介绍了Android TextView实现上下滚动通知效果,需要的朋友可以参考下
    2017-03-03
  • Android Flutter实现淘宝App的搜索推荐

    Android Flutter实现淘宝App的搜索推荐

    这篇文章主要为大家详细介绍了Android Flutter如何模拟实现淘宝App的搜索推荐,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
    2023-07-07
  • Android为textView设置setText的时候报错的讲解方案

    Android为textView设置setText的时候报错的讲解方案

    今天小编就为大家分享一篇关于Android为textView设置setText的时候报错的讲解方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Android自定义View实现课程表表格

    Android自定义View实现课程表表格

    这篇文章主要为大家详细介绍了Android自定义View实现课程表表格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Kotlin中List的Lambda表达式应用与解析实例详解

    Kotlin中List的Lambda表达式应用与解析实例详解

    相比于Java的Lambda表达式只是一种简化写法,Kotlin中的Lambda功能极为强大,本文介绍Kotlin中List的Lambda表达式应用与解析,感兴趣的朋友一起看看吧
    2024-03-03
  • Kotlin数据容器深入讲解

    Kotlin数据容器深入讲解

    Kotlin的数据容器分为数组和集合。其中集合分为集合Set、队列List、映射Map等三种集合,每种又包括只读和可变两种类型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09

最新评论