Gradle:从aar

时间:2017-11-10 10:27:57

标签: android gradle

我已将 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

0 个答案:

没有答案