Android Studio 启用 Java8 支持

Posted

技术标签:

【中文标题】Android Studio 启用 Java8 支持【英文标题】:Android Studio enable Java8 support 【发布时间】:2019-08-03 00:24:26 【问题描述】:

我需要在我的项目中启用 Java8 支持。我找到的所有答案都已过时,我无法弄清楚实际上必须做什么。到目前为止,我已经这样做了: 1. 新增compileOptions

android 
  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.


ERROR: Jack is required to support Java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.
    我尝试使用jackOptions 启用插孔。但是 gradle 无法识别 jackOptions。我在某处读到杰克已被弃用。我不知道从这里去哪里。

gradle 版本:4.10.3

【问题讨论】:

你使用的是什么版本的 Gradle 和插件? This 没用? 按照这些说明进行操作 developer.android.com/studio/write/java8-support jack 已弃用 更新到最新的 Android Studio 和最新的 Gradle。 Jack 已被弃用,不再需要 我的 gradle 版本是 4.10.3,我已经在运行 Android Studio 3.3.1 【参考方案1】:

尝试启用 jackOptions,如下所示:

android 
....
defaultConfig 
 ...
  jackOptions 
    enabled true
  


compileOptions 
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8

 

【讨论】:

此链接详细介绍了使用 java-8 developer.android.com/studio/write/java8-support 它已被弃用,现在完全没有必要【参考方案2】:
If you are building using commandline instead of android-studio.
export ANDROID_HOME=/android/SDK_26
export JAVA_HOME=/sw/licensed/sun/jdk/1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
chmod 777 gradlew
./gradlew
./gradlew assembleDebug

SDK_26: This is SDK-26 toolchain downloaded using sdk-manager.

【讨论】:

【参考方案3】:

您应该添加到存储库 google() 并尝试

我不确定,但这对你有帮助。

清理项目 -> 删除 .idea 和 .gradle 文件 -> 使缓存无效并重新启动 -> 构建项目

【讨论】:

以上是关于Android Studio 启用 Java8 支持的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio支持java8特性

如何在Android studio中使用java8 的Lambda表达式

如何在android studio中启用proguard? [复制]

如何在android studio中启用proguard? [重复]

Android Studio 模拟器:WHPX:未能启用分区

在android studio中启用自动导入的方法是啥? [视窗]