【问题标题】:Running .\gradlew createDebugCoverageReport causes java.lang.UnsupportedClassVersionErrorUnsupported major.minor version 52.0运行 .\gradlew createDebugCoverageReport 会导致 java.lang.UnsupportedClassVersionErrorUnsupported major.minor 版本 52.0
【发布时间】:2018-01-03 11:27:20
【问题描述】:

我查看了堆栈和其他站点上的所有问题以查找以下错误,但我仍然无法解决它。 我还做了 Invalidate Cache 并重新启动了 Android Studio 我使用的是 JDK 1.8,我的 Java_HOME 路径设置为 1.8,并且选中了嵌入式 JDK 复选框。 我正在使用最新的 Android Studio 和 classpath 'com.android.tools.build:gradle:3.0.0'

以下是我的 gradle 文件

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath "org.greenrobot:greendao-gradle-plugin:3.2.2"
        classpath 'com.dicedmelon.gradle:jacoco-android:0.1.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

// Define versions in a single place
ext {
    // Sdk and tools
    minSdkVersion = 21
    targetSdkVersion = 23
    compileSdkVersion = 26

    // App dependencies
    supportLibraryVersion = '27.0.0'
    constraintLayoutVersion = "1.0.2"
    butterKnifeVersion = "8.8.1"
    greenDaoVersion = "3.2.2"
    swipeLayoutVersion = "1.2.0"
    rxjavaVersion = '2.1.7'
    rxandroidVersion = '2.0.1'
    rxjacva2ExtensionsVersion = '0.18.1'

    // Test dependencies
    junitVersion = '4.12'
    mockitoVersion = '2.11.0'
    hamcrestVersion = '1.3'
    runnerVersion = '1.0.1'
    rulesVersion = '1.0.1'
    espressoVersion = '3.0.1'
    powerMockito = '2.0.0-beta.5'
}

任何帮助将不胜感激

【问题讨论】:

标签: java android android-studio test-coverage


【解决方案1】:

可能是因为

supportLibraryVersion = '27.0.0'

减少到 26 并检查。

支持库应与 compileSdkVersion 匹配。

TargetSDK 和 compileSDK 版本也应该匹配。

有些库或工具和库的组合不兼容,或者可能导致错误。一种这样的不兼容性是使用不是最新版本的 Android 支持库版本(或者特别是低于您的 targetSdkVersion 的版本)进行编译。

有时可能是由于gradle中添加的thirdaprty库不支持java 1.8 您需要交叉检查库和支持的 JDK 版本。

【讨论】:

  • 请保持targetsdk和编译sdk相同,你的情况是26。
  • 当我将其更改为 26 错误时出现干净的项目错误:任务“:app:preMockDebugBuild”的执行失败。 > 创建目录'E:\Work\Android\Lea\app\build\intermediates\prebuild\mock\debug'时创建父目录'E:\Work\Android\Lea\app\build'失败
  • 您是否交叉检查了您添加的支持 JDK 1.8 的库?或者尝试使用最新版本的第三方库。
  • 我正在使用所有最新版本的第三方库,如何交叉检查库是否支持 1.8?
  • 哪个是swipelayout库?
猜你喜欢
  • 1970-01-01
  • 2017-12-09
  • 2020-10-06
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 2014-11-21
  • 1970-01-01
  • 2018-08-24
相关资源
最近更新 更多