我已将 aar 库导入到我的项目中,将其包含在 libs 文件夹中,并添加到gradle中,如下所示:
compile ('com.adclient.android.sdk:adclient-sdk-for-android-3.3.0@aar') {
transitive = true
}
问题是 aar 包含了一些依赖项,这些依赖项也在我的项目中编译,我得到重复错误。 如果我得到依赖树,那么库看起来是空的:
+--- com.adclient.android.sdk:adclient-sdk-for-android-3.3.0:
另外,如果我在库编译语句中使用 exclude ,它就没有效果。 E.g:
compile ('com.adclient.android.sdk:adclient-sdk-for-android-3.3.0@aar') {
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
transitive = true
}
我可以排除其他库中的重复依赖项,但我更喜欢将它们保留在新的依赖项中。 那么,是否可以排除 aar 中的依赖项?我做错了什么?
编辑:
这是我遇到的错误类型。这是一个警告,但我们的ProGuard因此而停止:
从程序jar中复制资源 [/Users/adalpari/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.9.0/1b6c10b5120995a7542c1a31b7828fb8593c8ba/okhttp-3.9.0.jar] (已过滤)警告:处理任务时出现异常 java.io.IOException:无法写 [/Users/adalpari/X/build/intermediates/transforms/proguard/production/release/jars/3/1f/main.jar] (看不懂 [/Users/adalpari/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/3.9.0/1b6c10b5120995a7542c1a31b7828fb8593c8ba/okhttp-3.9.0.jar(;;;;;;**。类)] (重复的zip条目[okhttp3 / a.class == okhttp-3.9.0.jar:okhttp3 / Address.class])) :AndroidApp:transformClassesAndResourcesWithProguardForProductionRelease FAILED