在两个官方 android 磅中复制 class,gradle 失败
Duplicate class in two offcial android libs, gradle fails
我正在使用需要激活呈现脚本支持模式的库。像这样
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
renderscriptTargetApi 20
renderscriptSupportModeEnabled true
}
但是当我尝试 运行 应用程序时,我有这个:
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
java.util.zip.ZipException: duplicate entry: android/support/annotation
/Keep.class
Keep.class 在注释支持库和 rendserscript
库中,都来自 Google,所以我不知道该怎么做。
此错误仅在最新(23) SDK 版本中发生。您能否尝试将构建版本更改为 22 或 21,同时更改依赖项。
例如
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'
}
我对我的 build.gradle 文件进行了以下修改,现在可以使用了:
renderScriptTargetApi 23
并添加
configurations { all*.exclude group: 'com.android.support', module: 'support-annotations' }
我相信是第二行成功了。
我正在使用需要激活呈现脚本支持模式的库。像这样
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
renderscriptTargetApi 20
renderscriptSupportModeEnabled true
}
但是当我尝试 运行 应用程序时,我有这个:
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
java.util.zip.ZipException: duplicate entry: android/support/annotation
/Keep.class
Keep.class 在注释支持库和 rendserscript
库中,都来自 Google,所以我不知道该怎么做。
此错误仅在最新(23) SDK 版本中发生。您能否尝试将构建版本更改为 22 或 21,同时更改依赖项。
例如
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'
}
我对我的 build.gradle 文件进行了以下修改,现在可以使用了:
renderScriptTargetApi 23
并添加
configurations { all*.exclude group: 'com.android.support', module: 'support-annotations' }
我相信是第二行成功了。