You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android项目Gradle中JavaPluginConvention弃用警告的解决疑问

解决Gradle中org.gradle.api.plugins.JavaPluginConvention过时警告

问题描述

构建Android应用时收到以下警告:

The org.gradle.api.plugins.JavaPluginConvention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.2/userguide/upgrading_version_8.html#java_convention_deprecation
at org.gradle.api.plugins.internal.NaggingJavaPluginConvention.logDeprecation(NaggingJavaPluginConvention.java:185)

项目相关配置如下:

  • 根目录build.gradle:
plugins {
id 'com.android.application' version '8.2.2' apply false
}
  • app模块build.gradle:
plugins {
    id 'com.android.application'
}

android {
    namespace 'myapp'
    compileSdk 34

    defaultConfig {
        applicationId "myapp"
        minSdk 29
        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'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'androidx.core:core-splashscreen:1.0.1'
    implementation "androidx.preference:preference:1.2.1"
    implementation 'com.google.android.material:material:1.11.0'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    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 Gradle插件(AGP)内部依赖了Java插件的旧约定API,从而触发警告。可以通过以下步骤消除警告:

  1. 替换Java版本配置方式
    将app模块build.gradle中的compileOptions块移除,替换为Gradle推荐的Java Toolchain配置,避免使用已废弃的约定API:

    java {
        toolchain {
            languageVersion = JavaLanguageVersion.of(8)
        }
    }
    
  2. 检查并更新第三方依赖
    如果替换后仍有警告,可能是部分第三方库使用了旧的Gradle API。尝试将依赖升级到最新稳定版:

    • 例如Retrofit可升级到2.11.0,Picasso可升级到2.8
  3. 升级Android Gradle插件(可选)
    将根目录build.gradle中的AGP版本升级到最新稳定版(如8.5.0),新版本会减少对旧API的依赖:

    plugins {
        id 'com.android.application' version '8.5.0' apply false
    }
    

内容的提问来源于stack exchange,提问作者Darksymphony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 14:58:32