温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android项目中jar包出现冲突如何解决

发布时间:2021-03-11 16:14:49 来源:亿速云 阅读:662 作者:Leah 栏目:移动开发

这篇文章给大家介绍android项目中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搜索,可以快速定位到你搜索的东西存在哪个包下。

android项目中jar包出现冲突如何解决

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

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

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

android项目中jar包出现冲突如何解决

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

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

关于android项目中jar包出现冲突如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI