- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在尝试运行我的 Android 程序时遇到此错误。
Error:Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'. java.lang.AssertionError: java.util.zip.ZipException: duplicate entry: jayce/org/hamcrest/BaseDescription.jayce
这是我的build.gradle
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.surgical.decision"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile files('libs/simple-xml-2.7.1.jar')
compile files('libs/log4j-1.2.17.jar')
compile files('libs/pddl4j-3.5.0.jar')
}
我必须启用 jackOptions,因为有很多我用 Java 8 编写的函数。
最佳答案
我遇到了同样的问题。我相信 com.android.support.test.espresso:espresso-core:2.2.2
是用 hamcrest 编译的,我认为 com.android.support:appcompat-v7:25.3。 1
也是用 hamcrest 编译的。我相信错误消息告诉你 hamcrest 包包含在至少两个编译的 jar 中并且它无法解决重复问题(即使它们是相同的版本)。由于 Jack 的某些技术问题,它可能无法解决重复问题。要解决这个问题,您只需要将它从一个或另一个中排除:
即
`androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'org.hamcrest', module: 'hamcrest-core'
})
或者,如果您没有真正使用 espresso-core,只需完全删除 androidTestCompile 行即可。
在我的情况下,我还必须添加:
exclude group: 'junit', module: 'junit'
因为包含两个不同的 junit 版本冲突,我得到了一个稍微不同的错误。
调试此类错误的最佳技术是从命令行使用 gradle。
gradlew app:androidDependencies
关于Android:错误:任务应用执行失败:transformClassesWithPreJackPackagedLibrariesForDebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44285430/
我在尝试运行我的 Android 程序时遇到此错误。 Error:Execution failed for task ':app:transformClassesWithPreJackPackaged
所以,我现在使用 Android Studio 2.2 稳定版本,在将 Studio 更新到 2.2 版本后运行应用程序时出现以下错误: Error:Execution failed for task
我是一名优秀的程序员,十分优秀!