当前位置: 首页 > 知识库问答 >
问题:

Android Studio用Java 8编译项目?

艾跃
2023-03-14

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

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

还更改了目标版本:

但我还是犯了一个错误:compileSdkVersion'android-24'需要JDK 1.8或更高版本才能编译。

我错在哪里?

编辑:我在Ubuntu 12.04上

共有2个答案

耿敏达
2023-03-14
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
    }
}
拓拔弘化
2023-03-14

当转到JDK设置时,您可以:

添加“Android应用”模块构建。格拉德尔

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

在gradle中设置sdk路径。属性

org.gradle.java.home=/path_to_java_sdk_8/jdk1.8

也检查一下。idea/模块/编译器。xml与1.7/1.8的对比

<?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>

和杂项。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>

顺便说一句:如果你想编译againsta java 1.8,你需要阿联酋的“杰克”看到了吗https://source.android.com/source/jack.html

 类似资料:
  • 我试图导入的应用程序中的gradle版本与JDK11不兼容,而JDK11正是android studio用作其嵌入式JDK的。我的机器上有JDK8。我已经尝试进入项目结构来更改JDK8位置的路径,但是如果我尝试更改它,就会出现错误。它说我必须选择一个有效的JDK11目录。如何让android studio使用JDK 8?错误截图

  • 我有Java8SDK和运行时,以及一个只使用Java7个功能的项目。我想知道我是否可以设置intellij来构建一个Java-7级的jar,从命令行肯定可以做到这一点? 到目前为止,我已经尝试过简单地将项目语言级别设置为7作为实验,但这显然是不够的,也不是我真正需要的。 我在SO上也看到过这个问题:"Intellij IDEA使用java7编译器编译,当我已经将其配置为使用Java6",但我的项目

  • 我的Android项目设置为使用Maven,所以我从pom.xml文件导入IntelliJ。IntelliJ中的编译器设置正确地指向1.7,但当我尝试编译时我得到: 错误:java:javacTask:源版本1.7要求目标版本1.7 我对maven编译器插件的设置将源和目标都设置为这个,所以这不是问题所在。但是,在模块设置中,我看到我的模块正在使用 Maven Android API 19平台(j

  • 编译 Java 项目 一个项目可以关联多个编译器。 java 项目关联的是 java 编译器。可以通过以下方式来查看项目关联的编译器: 在 Package Explorer 视图中鼠标右击项目并选择 Properties 在左侧的树形菜单中点击 Builders java编译器用于编译java项目。通过点 New 按钮我们可以让java项目关联 Ant builder 编译器。 java 编译器通

  • This tutorial describes the base compilation commands provided with OCaml. It is useful to learn these commands to understand OCaml's compilation model. However, eventually you will want to use a buil

  • 我使用maven命令来清理、构建整个项目、创建war并部署到服务器。我不能使用Intellij来做这件事,因为我只有社区版。它在与intellij相同的目录中构建项目。 为了加快速度,我编写了一个脚本,可以在本地“target”目录中找到比服务器中更新的已编译文件,并进行复制。虽然一切正常,但问题是Intellij并没有将使用maven编译的类视为应该跳过并重新构建整个项目的类。 目前它的工作原理

  • 编译选项 选项 类型 默认值 描述 --allowJs boolean false 允许编译javascript文件。 --allowSyntheticDefaultImports boolean module === "system"或设置了--esModuleInterop 允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。 --allowUnreachableCo

  • 问题内容: 我设法使用maven2创建了我的项目结构。但是在使用mvn install编译我的项目时,-source 1.3不支持获取错误泛型 谷歌使用jdk1.5构建我的项目并添加了构建标签 但这是行不通的。 有什么提示吗? 问题答案: 将maven-compiler-plugin添加到您的构建中: