Android 渐变生成失败-错误的类文件魔术(cafebabe)或版本(0034.0000)

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构建配置中 项目建设成功 希望有帮助 更新: 在我的

我正在尝试编译一个简单的Android应用程序,它由应用程序和一个具有多个依赖项的模块(lambdj、org.json、gson、okhttp)组成

但我在编译时遇到了这个错误,我无法找到解决方法(问题出在哪里)


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。