【问题标题】:Android Studio compile project with Java 8?Android Studio 用 Ja​​va 8 编译项目?
【发布时间】:2016-07-27 15:53:38
【问题描述】:

我正在尝试使用 java 8 编译一个项目。

我已经设置了正确的 jdk,如图所示:

还更改了目标版本:

但我仍然收到错误: compileSdkVersion 'android-24' 需要 JDK 1.8 或更高版本才能编译。

我哪里错了?

编辑:我在 Ubuntu 12.04

【问题讨论】:

标签: android-studio java-8


【解决方案1】:

当进入 JDK 设置时,您可以:

添加“android app”模块build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

gradle.properties

中设置 sdk 路径
org.gradle.java.home=/path_to_java_sdk_8/jdk1.8

还对照 1.7/1.8 检查 .idea/modules/compiler.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
      ...
    <bytecodeTargetLevel target="1.8">
      <module name="app" target="1.7" />
    </bytecodeTargetLevel>
  </component>

misc.xml

<?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
    ....
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" 
              default="false" assert-keyword="true" 
              jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
 </project>

顺便说一句:如果你想针对 java 1.8 进行编译,你需要 uae "jack" 见https://source.android.com/source/jack.html

【讨论】:

  • 设置 org.gradle.java.home=/path_to_java_sdk_8/jdk1.8 成功了!谢谢!
  • @Eric - 我很高兴能帮上忙 - 如果你也能投票就好了 :)
【解决方案2】:
android {
    compileSdkVersion 28
    buildToolsVersion = '28.0.3'
    defaultConfig {
        applicationId "your package name"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2016-02-19
    • 2012-08-06
    • 2016-08-26
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多