【问题标题】:Why default and static interface methods are not supported by Android Studio 3.0为什么 Android Studio 3.0 不支持默认和静态接口方法
【发布时间】:2017-11-25 16:23:24
【问题描述】:

为什么Android Studio 3.0不支持java 8的【默认和静态接口方法】?

代码总是得到错误提示。

build.gradle 设置:

compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
    applicationId "com.dreamzone.mtime"
    minSdkVersion 18
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"

}

但 android studio doc 显示它可以兼容任何 api 级别。 https://developer.android.com/studio/write/java8-support.html

【问题讨论】:

  • 在您截屏的那个页面上,您看到如何启用 Java 8 支持了吗?
  • 谢谢。在我将 Android 插件更新到 3.0.1 后它终于可以工作了。我错过了那个提示。

标签: java android


【解决方案1】:

您需要通过android 闭包内的compileOptions 闭包在模块的build.gradle 文件中设置Java 8 兼容性:

apply plugin: 'com.android.application'

android {

    // other good stuff here

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

【讨论】:

  • 我尝试了编译选项和等级同步消息错误更改为Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8. 我发现我忘记将Android Gradle插件更新到3.0.0及更高版本,现在可以了,谢谢。
【解决方案2】:

// 仅将 minSdkversion 更改为 26 以上

  defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 26
        targetSdkVersion 30
        versionCode 1
        versionName "1.0
  }

【讨论】:

    猜你喜欢
    • 2011-04-03
    • 2015-03-06
    • 2023-03-26
    • 1970-01-01
    • 2018-05-27
    • 2019-11-24
    • 2019-04-19
    • 2018-09-05
    • 2019-07-30
    相关资源
    最近更新 更多