【发布时间】:2017-11-24 11:04:48
【问题描述】:
我在使用 dexguard 时遇到了这个问题
> Task :app:dexguardStaging FAILED
TaskInternal.execute() 方法已被弃用,并计划在 Gradle 5.0 中删除。有更好的方法来重用任务逻辑,请参阅https://docs.gradle.org/4.3/userguide/custom_tasks.html#sec:reusing_task_logic。
FAILURE:构建失败并出现异常。
- 出了什么问题:
任务 ':app:dexguardStaging' 执行失败。
java.io.IOException:同一个输入 jar [/Users/radiityagumay/Library/Android/sdk/platforms/android-25/android.jar] 被指定了两次。
谁能帮忙?
更新 我已经通过恢复到分发 gradle 3.5 解决了这个问题,之前我使用的是 4.3,
distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
并将所有构建从 3.0.0 降级到 2.3.3,删除 maven google.com
classpath 'com.android.tools.build:gradle:2.3.3'
当我使用带有 build gradle 3.0.0 或 3.0.1 的 Android Studio 3 并且 dexguard (7.3.11) 也使用 (8.0.18) enable 时,发生了这个问题。
这可能与 dexguard 版本的最新 gradle 版本不匹配。
谢谢
【问题讨论】:
-
可以给我logcat的截图吗?所以我确定什么是确切的问题。
-
刚刚更新,只有我得到了。
-
@ChetanPatel 这是构建错误,不是运行时错误,所以没有logcat。
-
看起来您将 SDK 库包含了两次。
-
@m0skit0 是的,我有几个模块使用不同的 support-v4 版本。但我已经合并了具有相同版本的那些。