D8: Type com.******.******.BuildConfig is defined multiple times:

D8: Type com.******.******.BuildConfig is defined multiple times:

一、介绍

这几天接入了一个GVoice的SDK,后来在出包安卓包的时候发现了一个问题,报错内如如下
E:\unityProject\GVoice\Temp\gradleOut\launcher\build\intermediates\project_dex_archive\release\out\com\yuanzhuokeji\voicetest\BuildConfig.dex: D8: Type com.yuanzhuokeji.voicetest.BuildConfig is defined multiple times: E:\unityProject\GVoice\Temp\gradleOut\launcher\build\intermediates\project_dex_archive\release\out\com\yuanzhuokeji\voicetest\BuildConfig.dex, E:\unityProject\GVoice\Temp\gradleOut\unityLibrary\GCloudVoice.androidlib\build.transforms\3657f24505d25e9bdd92f28ea61f7d3d\classes\classes.dex
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Type com.yuanzhuokeji.voicetest.BuildConfig is defined multiple times: E:\unityProject\GVoice\Temp\gradleOut\launcher\build\intermediates\project_dex_archive\release\out\com\yuanzhuokeji\voicetest\BuildConfig.dex, E:\unityProject\GVoice\Temp\gradleOut\unityLibrary\GCloudVoice.androidlib\build.transforms\3657f24505d25e9bdd92f28ea61f7d3d\classes\classes.dex
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.

二、报错分析

看这里的问题主要是com.yuanzhuokeji.voicetest被定义了多次,从而导致了打包报错。
看自己的工程一般定义这种都是在AndroidManifest.xml中定义多次或者跟自己打包的签名写的一致造成的

如下是包名这块的定义
在这里插入图片描述
如下是AndroidManifest.xml文件
在这里插入图片描述
从上面这两个图中发现SDK中的AndroidManifest.xml文件中的引用被修改了,所以导致了上述的报错。

三、修改

接入SDK的时候里面的AndroidManifest.xml文件中的package定义不能改动,这里可能是关于jar包是否能正常解析的定义,所以拿到sdk的时候AndroidManifest.xml文件是不需要修改的,除非你要合并多个AndroidManifest.xml,否则尽量不要东这个文件。

四、总结

上述是我在接入SDK时,误操作修改了AndroidManifest.xml文件导致的打包报错,希望能够给大家带来帮助,感谢大家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

类人_猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值