场景: build.gradle
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:multidex:1.0.1'
compile project(':intro-slider-lib')
compile project(':parallax-effect-lib')
compile project(':odoo-rpc-v3')
compile('com.digits.sdk.android:digits:1.10.2@aar') {
transitive = true;
}
}
错误:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/gson/JsonPrimitive.class
问题:
compile project(':odoo-rpc-v3')
compile('com.digits.sdk.android:digits:1.10.2@aar') {
transitive = true;
}
上面的odoo-rpc和数字都有一个gson模块,因此显示重复错误。
尝试的解决方案:
我使用以下方法从数字中排除了gson模块:
compile('com.digits.sdk.android:digits:1.10.2@aar') {
transitive = true;
exclude group: 'com.google.code.gson', module: 'gson'
}
但另一个奇迹发生了(未捕获的翻译错误:java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:超出GC开销限制)
注意:multiDexEnabled true设置为aswell
我试图从odoo-rpc和Digits中排除gson模块,只插入一个gson模块但是因为我无法从odoo-rpc中排除gson模块而失败。这是片段:
compile (project(':odoo-rpc-v3')){
exclude group: 'com.google.code.gson', module: 'gson'
}
compile('com.digits.sdk.android:digits:1.10.2@aar') {
transitive = true;
exclude group: 'com.google.code.gson', module: 'gson'
}
在本地保存了一个jar文件(odoo-rpc)并删除了gson文件然后我将这个jar文件插入依赖关系,如下所示:
compile files('C:/Users/tonys/AndroidStudioProjects/Hello/classes.jar')
但没有取得任何进展。 :(
请帮我检查一下我的概念是对还是错。 提前致谢。