Android Studio 使用旧的 Java JDK

android studio use old java jdk

提问人:giraffephant 提问时间:11/16/2023 最后编辑:giraffephant 更新时间:11/17/2023 访问量:59

问:

对于大学,我们必须创建一个基于 JAVA SE 11 并在 android 上运行的应用程序,因此我们计划使用 android studio。 尝试这样做,我在设置下选择了 jdk -> Build,Execution,Deployement -> Build Tools -> Gradle -> Gradle JDK,我认为这是使用 Java 11 应该做的事情。

这样做,我不得不将项目的 Gradle 版本降级到 5.0,据我所知,我在项目设置中这样做了,在这里我遇到了下一个运行错误的问题

未解析的引用:dependencyResolutionManagement

我真的不知道该怎么做,我只是删除了那个代码块。除了现在出现 AGP(Android Gradle 插件)版本错误,gradle 版本太低之外,这有点有效,但由于我们必须使用那个版本,我必须降级 AGP 版本。

尝试这样做,我将 build.gradle.kts 中的版本更改为 3.3.0,它只需要 gradle 4.10.1 或更高版本。 这里的问题:它在任何地方都找不到插件。id("com.android.application") version "8.1.2" apply false

插件 [id: 'com.android.application', version: '3.3.0', apply: false] 在以下任何来源中均未找到: or'- Gradle Core 插件(插件不在 'org.gradle' 命名空间中)

  • 插件存储库(无法解析插件标记“com.android.application:com.android.application.gradle.plugin:3.3.0”)'

我也使用 Android 工作室 Giraffe,甚至说需要 AGP 3.2.0 - 这是 IDE 的东西吗?

我的build.gradle(app)文件:

plugins {
    id("com.android.application")
}

android {
    namespace = "com.example.myapplication3"
    compileSdk = 33

    defaultConfig {
        applicationId = "com.example.myapplication3"
        minSdk = 26
        targetSdk = 33
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    buildFeatures {
        viewBinding = true
    }
}

dependencies {

    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.10.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    implementation("androidx.navigation:navigation-fragment:2.7.5")
    implementation("androidx.navigation:navigation-ui:2.7.5")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}
java android android-studio android-gradle-插件

评论

0赞 Marsroverr 11/16/2023
你能发布你的完整build.gradle吗?
0赞 giraffephant 11/16/2023
@Marsroverr是错误指向的完整文件......但是 Android Studio 创建了第二个 build.graddle 文件......也想看看那个吗?// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id("com.android.application") version "3.3.0" apply false }
0赞 Marsroverr 11/17/2023
是的,也发送应用build.gradle
0赞 giraffephant 11/17/2023
@Marsroverr把它放在帖子里:)

答:

0赞 Furkan Yılmaz 11/16/2023 #1

Java版本: 正如你提到的,确保你使用的是 Java SE 11。在 Android Studio 中,您可以前往 File -> Project Structure -> Project -> Project SDK 来设置 JDK 版本

评论

0赞 giraffephant 11/16/2023
我在 Projekt 下没有该设置,但它告诉我“JDK 位置已移至 Graddle 设置”。这就是我将 JDK 更改为想要的 JDK 的地方。现在发生了上述错误。:/
0赞 Furkan Yılmaz 11/16/2023
更新 Android Gradle 插件:您可以在 Android Studio 的 File > Project Structure > Project 菜单中指定插件版本,也可以在顶级 build.gradle.kts 文件中指定插件版本。插件版本适用于该 Android Studio 项目中构建的所有模块。以下示例将插件从 build.gradle.kts 文件设置为版本 8.1.0: plugins { id 'com.android.application' version '8.1.0' apply false id 'com.android.library' version '8.1.0' apply false id 'org.jetbrains.kotlin.android' version '1.5.31' apply false }
0赞 giraffephant 11/16/2023
我无法在项目结构中设置它,因为没有菜单......运行你的代码,我也会遇到一些我无法理解的 kotlin 错误,而且我的目标是将其设置为 3.3.0 ...如果我尝试将版本更改为 3.3.0,它会说它找不到版本......