Android 渐变生成失败-错误的类文件魔术(cafebabe)或版本(0034.0000)
我正在尝试编译一个简单的Android应用程序,它由应用程序和一个具有多个依赖项的模块(lambdj、org.json、gson、okhttp)组成 但我在编译时遇到了这个错误,我无法找到解决方法(问题出在哪里)Android 渐变生成失败-错误的类文件魔术(cafebabe)或版本(0034.0000),android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,我正在尝试编译一个简单的Android应用程序,它由应用程序和一个具有多个依赖项的模块(lambdj、org.json、gson、okhttp)组成 但我在编译时遇到了这个错误,我无法找到解决方法(问题出在哪里) stacktrace对我来说不是很清楚…经过一些搜索,我找到了这个线程() 发布的唯一一个答案建议检查hamcrest库(lambdaj的一个依赖项,1.1版),因此我决定将最新的hemcrest库(1.3版)添加到我的gradle构建配置中 项目建设成功 希望有帮助 更新: 在我的
stacktrace对我来说不是很清楚…经过一些搜索,我找到了这个线程() 发布的唯一一个答案建议检查hamcrest库(lambdaj的一个依赖项,1.1版),因此我决定将最新的hemcrest库(1.3版)添加到我的gradle构建配置中 项目建设成功 希望有帮助
更新:
在我的项目中,我对lambdaj有一些问题,这个库不是完全兼容的。我搬到了兰伯达,看看 这通常是由于在非Java 8项目上使用Java 8库造成的,反之亦然 对我来说,修复方法是在我的项目和我使用的库中使用retrolambda: 在主
build.gradle
文件中:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'me.tatarka:gradle-retrolambda:3.2.4'
}
}
apply plugin: 'me.tatarka.retrolambda'
然后在应用程序/库build.gradle
文件的顶部:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'me.tatarka:gradle-retrolambda:3.2.4'
}
}
apply plugin: 'me.tatarka.retrolambda'
还要确保为Java 8设置它:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
retrolambda插件在编译时执行操作,并将Java8 lambda支持应用到代码中,有关其功能的更多信息,请参阅。我最近也遇到了此错误(在Android上使用retrolambda)。事实证明,Jenkins服务器上的JDK在我们的项目中构建了一个依赖项,它从1.7升级到了1.8。