Error:Execution failed for task ':app:transformClassesWithDexForDebug'. >

在使用Androidstudio 打包apk时,发现出错.

com.Android.build.api.transform.TransformException:java.util.zip.ZipException: duplicate entry:android/support/v4/app/TaskStackBuilder$ArrayIterator.class`.

Error:Execution failed for task':app:transformClassesWithDexForDebug'.

>com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException: Process 'command'F:\Program Files (x86)\Java\jdk1.8.0_31\bin\java.exe'' finishedwith non-zeroexit value 1

两个错误

在我的项目中使用了环信easyUi由于easyUi的版本和项目中sdk的版本不是同一个版本,在自己查看错误后发现,是环信的sdk重复了,由于版本不同一,在easyui中引用了一个sdk,在app中也引用了一个sdk,让后重新下载了一个3.0的easyui,导入项目,删掉app中的sdk,将sdk放到easyui的lib下,这样项目和easyui(modle)可以已用同一个sdk了,再次打包发现下边的那个错误没了,但是上边的错误还有.

怎么办呢,双击double键搜索arrayIterator这个类,发现在v4包和hamcrest_core_1_3包中都有这个类,但是我项目和easyui中的lib下没有这个jar啊,这是怎么回事呢,打开根目录下的.idea文件夹下的libraries文件夹,发现有这个jar包的xml文件,手动删除,再次打包,发现可以了.


因为这两个错误整整弄了一下午,...............我也是......

这个错误通常是由于dex方法数超出限制引起的。你可以尝试以下方法解决: 1. 在app的build.gradle文件中添加下面的代码: ```groovy android { defaultConfig { ... multiDexEnabled true } ... } dependencies { implementation 'com.android.support:multidex:1.0.3' } ``` 然后在你的Application类中添加下面的代码: ```java public class MyApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } ... } ``` 2. 如果你使用了很多第三方库,可以尝试使用ProGuard来优化代码。在app的build.gradle文件中添加下面的代码: ```groovy android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } ``` 然后在app的根目录下创建一个proguard-rules.pro文件,添加下面的代码: ``` -dontwarn okio.** -dontwarn javax.annotation.** -dontwarn com.squareup.okhttp.** -dontwarn retrofit2.Platform$Java8 -dontwarn retrofit2.Platform$Java8$.* -dontwarn retrofit2.Platform$Java9 -dontwarn retrofit2.Platform$Java9$.* -keep class com.google.gson.** { *; } -keep class org.apache.commons.io.** { *; } -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions -keepattributes InnerClasses ``` 注意:ProGuard可能会导致某些库出现问题,因此需要进行适当的测试和调整。 3. 如果以上方法都无法解决问题,可以尝试升级Gradle版本或者在项目中使用AndroidX。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值