杰瑞科技汇

Android配置Java,环境变量怎么配?

  1. 全局环境配置:在你的电脑上安装和配置 Java 开发工具包。
  2. 项目级配置:在你的 Android Studio 项目中,确保项目设置正确使用 Java。

第一部分:全局环境配置 - 安装和配置 JDK

Java Development Kit (JDK) 是编译和运行 Java 代码所必需的,Android Studio 自带了 JDK,但为了更好地控制版本和避免潜在问题,强烈建议你手动安装一个官方推荐的 JDK 版本

下载 JDK

安装 JDK

  • Windows: 运行下载的 .exe 安装程序,按照提示一步步操作,记住安装路径,C:\Program Files\Java\jdk-17
  • macOS: 运行下载的 .dmg 文件,将 JDK 拖拽到 Applications 文件夹。
  • Linux (Ubuntu/Debian): 使用包管理器安装,这是最推荐的方式。
    # 对于 Ubuntu 22.04 / Debian 11
    sudo apt update
    sudo apt install openjdk-17-jdk

配置环境变量

为了让你的系统(和 Android Studio)知道 JDK 在哪里,需要配置 JAVA_HOME 环境变量,并将其添加到系统的 PATH 中。

  • Windows:

    1. 右键点击 "此电脑" -> "属性" -> "高级系统设置" -> "环境变量"。
    2. 在 "系统变量" 部分,点击 "新建"。
      • 变量名: JAVA_HOME
      • 变量值: 你的 JDK 安装路径,C:\Program Files\Java\jdk-17
    3. 找到系统变量中的 Path,点击 "编辑"。
    4. 点击 "新建",然后添加 %JAVA_HOME%\bin
    5. 确保所有窗口都点击 "确定" 保存。
  • macOS / Linux:

    1. 打开终端。
    2. 编辑你的配置文件(~/.zshrc~/.bash_profile)。
      # 使用 vim 或 nano 编辑器
      nano ~/.zshrc
    3. 在文件末尾添加以下两行:
      export JAVA_HOME=$(/usr/libexec/java_home -v 17) # 如果你安装的是 JDK 17
      export PATH=$JAVA_HOME/bin:$PATH

      注意:/usr/libexec/java_home -v 17 这条命令会自动查找系统中安装的 JDK 17 路径,非常方便,如果你用的是其他版本,请相应修改。

    4. 保存文件后,在终端运行 source ~/.zshrc (或 source ~/.bash_profile) 使其生效。

验证安装

打开一个新的终端(或命令提示符),输入以下命令:

java -version
javac -version

如果看到类似下面的输出,说明 JDK 安装和配置成功:

java version "17.0.2" 2025-01-18
Java(TM) SE Runtime Environment (build 17.0.2+8-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
javac 17.0.2

第二部分:项目级配置 - 在 Android Studio 中配置 Java

现在你的电脑已经准备好了 Java 环境,接下来确保你的 Android Studio 项目也使用正确的 Java 版本。

创建新项目时选择 Java

当你创建一个新的 Android 项目时,在 "Choose your project" 界面,选择 "Phone and Tablet" 选项卡下的 "Empty Views Activity"

在配置向导的 "Language" 步骤,直接选择 "Java",Android Studio 会自动为你配置好所有与 Java 相关的设置。

这是最简单、最推荐的方式。

修改现有项目为 Java

如果你有一个现有的 Kotlin 项目,想将其改为 Java,或者手动调整 Java 版本,请按以下步骤操作:

步骤 1: 修改 build.gradle.ktsbuild.gradle 文件

这是最关键的一步,打开你的模块级 build.gradle 文件(通常是 app/build.gradleapp/build.gradle.kts)。

  • 如果使用 build.gradle.kts (Kotlin DSL):

    plugins {
        id("com.android.application")
        id("org.jetbrains.kotlin.android") // 如果项目是 Kotlin 的,可以移除这行
    }
    android {
        namespace = "com.example.myapp"
        compileSdk = 34 // 使用最新的 SDK 版本
        defaultConfig {
            applicationId = "com.example.myapp"
            minSdk = 24
            targetSdk = 34
            versionCode = 1
            versionName = "1.0"
            testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                isMinifyEnabled = false
                proguardFiles(
                    getDefaultProguardFile("proguard-android-optimize.txt"),
                    "proguard-rules.pro"
                )
            }
        }
        // 1. 添加 compileOptions
        compileOptions {
            sourceCompatibility = JavaVersion.VERSION_17
            targetCompatibility = JavaVersion.VERSION_17
        }
    }
    dependencies {
        implementation("androidx.core:core-ktx:1.12.0")
        implementation("androidx.appcompat:appcompat:1.6.1")
        implementation("com.google.android.material:material:1.11.0")
        implementation("androidx.constraintlayout:constraintlayout:2.1.4")
        testImplementation("junit:junit:4.13.2")
        androidTestImplementation("androidx.test.ext:junit:1.1.5")
        androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
    }
  • 如果使用 build.gradle (Groovy DSL):

    plugins {
        id 'com.android.application'
        // id 'org.jetbrains.kotlin.android' // 如果项目是 Kotlin 的,可以移除这行
    }
    android {
        namespace 'com.example.myapp'
        compileSdk 34 // 使用最新的 SDK 版本
        defaultConfig {
            applicationId "com.example.myapp"
            minSdk 24
            targetSdk 34
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        // 1. 添加 compileOptions
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_17
            targetCompatibility JavaVersion.VERSION_17
        }
    }
    dependencies {
        implementation 'androidx.core:core-ktx:1.12.0'
        implementation 'androidx.appcompat:appcompat:1.6.1'
        implementation 'com.google.android.material:material:1.11.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
        testImplementation 'junit:junit:4.13.2'
        androidTestImplementation 'androidx.test.ext:junit:1.1.5'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
    }

关键点:

  • sourceCompatibilitytargetCompatibility 都设置为 JavaVersion.VERSION_17 (或你安装的版本,如 VERSION_11),这告诉 Gradle 使用哪个 Java 版本来编译你的代码。

步骤 2: 修改 gradle-wrapper.properties 文件

为了确保 Gradle 构建工具本身也能使用正确的 JDK,可以修改 gradle/wrapper/gradle-wrapper.properties 文件。

distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
  • 重要提示:Gradle 8.0 及以上版本要求 JDK 17,如果你的项目使用旧版 Gradle,请确保 JDK 版本与之匹配,Android Studio 会自动为你选择合适的 JDK。

步骤 3: 修改 IDE 设置

虽然前面的配置已经足够,但为了确保 Android Studio 编辑器本身使用正确的 JDK,可以手动指定。

  1. 打开 Android Studio,进入 File -> Settings (Windows/Linux) 或 Android Studio -> Settings (macOS)。
  2. 导航到 Build, Execution, Deployment -> Build Tools -> Gradle
  3. 在 "Gradle JDK" 下,选择你安装的 JDK 17,如果没有,点击 "Add JDK..." 然后选择你的 JDK 安装路径。
  4. 点击 "Apply" 和 "OK"。

检查项目结构

检查一下你的项目结构,确保文件扩展名是 .java,而不是 .kt

app/
└── src/
    └── main/
        ├── java/
        │   └── com/
        │       └── example/
        │           └── myapp/
        │               └── MainActivity.java  <-- 应该是 .java 文件
        └── ...

常见问题与解决方案

  • 问题: Failed to configure a DataSource: 'url' attribute is not specified
    • 原因: 这是旧版 Android Studio 或 JDK 8 中的一个常见错误,升级到 JDK 11 或 17 通常可以解决。
  • 问题: error: cannot find symbol class R
    • 原因: 通常是 build.gradle 文件中的配置有误,或者 compileSdk 版本与你的依赖库不兼容,检查 build.gradle 文件,并尝试点击 Android Studio 右上角的 "Sync Project with Gradle Files" 按钮。
  • 问题: 提示 Kotlin JPSKotlin Gradle plugin 相关错误。
    • 原因: 项目是 Kotlin 项目,但你强行在 build.gradle 中移除了 Kotlin 插件但没有正确转换项目,如果你确定要用 Java,请确保移除 id 'org.jetbrains.kotlin.android' 这一行,并检查所有 .kt 文件是否已转换为 .java 文件。

配置 Android 项目的 Java 环境,核心就是三步:

  1. 安装 JDK (推荐 JDK 17)。
  2. 配置环境变量 (JAVA_HOMEPATH)。
  3. build.gradle 中指定 Java 版本 (compileOptions)。

遵循以上步骤,你就可以顺利地在 Android Studio 中使用 Java 进行开发了。

分享:
扫描分享到社交APP
上一篇
下一篇