org.gradle.api.plugins.Convention 已弃用,org.jetbrains.kotlin.android 正在使用它

问题描述 投票:0回答:1

我正在修复一个 android 项目,当我添加 kotlin 时,我开始遇到这个问题。

The org.gradle.api.plugins.Convention 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.7-rc-4/userguide/upgrading_version_8.html#deprecated_access_to_conventions
    at org.gradle.internal.extensibility.DefaultConvention.logConventionDeprecation(DefaultConvention.java:392)
    at org.gradle.internal.extensibility.DefaultConvention.getPlugins(DefaultConvention.java:67)
    at org.jetbrains.kotlin.gradle.plugin.internal.CompatibilityConventionRegistrarG81.addConvention(CompatibilityConventionRegistrarG81.kt:14)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.configurator.GradleConventionAddKotlinSourcesToAndroidSourceSetConfigurator.configure(GradleConventionAddKotlinSourcesToAndroidSourceSetConfigurator.kt:20)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.configurator.CompositeKotlinAndroidSourceSetConfigurator.configure(KotlinAndroidSourceSetConfigurator.kt:68)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSetFactory.getOrCreateConfiguredKotlinSourceSet(KotlinAndroidSourceSetFactory.kt:29)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets$applyKotlinAndroidSourceSetLayout$2.execute(KotlinAndroidSourceSets.kt:46)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets$applyKotlinAndroidSourceSetLayout$2.execute(KotlinAndroidSourceSets.kt:40)
    at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:122)
    at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107)
    at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:161)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets.applyKotlinAndroidSourceSetLayout(KotlinAndroidSourceSets.kt:40)
    at org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets.applyKotlinAndroidSourceSetLayout$default(KotlinAndroidSourceSets.kt:20)
    at org.jetbrains.kotlin.gradle.plugin.AndroidProjectHandler.configureTarget(AndroidProjectHandler.kt:63)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin$Companion$dynamicallyApplyWhenAndroidPluginIsApplied$2$1.execute(KotlinAndroidPlugin.kt:92)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin$Companion$dynamicallyApplyWhenAndroidPluginIsApplied$2$1.execute(KotlinAndroidPlugin.kt:89)
    at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:122)
    at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107)
    at org.gradle.api.internal.collections.CollectionFilter$1.execute(CollectionFilter.java:62)
    at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:161)
    at org.gradle.api.internal.plugins.DefaultPluginContainer$2.execute(DefaultPluginContainer.java:163)
    at org.gradle.api.internal.plugins.DefaultPluginContainer$2.execute(DefaultPluginContainer.java:154)
    at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:122)
    at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107)
    at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:161)
    at org.gradle.api.internal.plugins.DefaultPluginContainer.withId(DefaultPluginContainer.java:167)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin$Companion.dynamicallyApplyWhenAndroidPluginIsApplied$kotlin_gradle_plugin_common(KotlinAndroidPlugin.kt:89)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin.apply(KotlinAndroidPlugin.kt:33)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin.apply(KotlinAndroidPlugin.kt:26)
    at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.apply(KotlinPluginWrapper.kt:265)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper.apply(PluginWrappers.kt:52)
    at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper.apply(PluginWrappers.kt:44)
    at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43)
    at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
    at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:190)
    at org.gradle.api.internal.plugins.DefaultPluginManager.access$100(DefaultPluginManager.java:54)
    at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:285)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.api.internal.plugins.DefaultPluginManager.lambda$doApply$0(DefaultPluginManager.java:170)
    at org.gradle.internal.code.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:43)
    at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:169)
    at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:148)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:161)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:43)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:98)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:184)
    at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:49)
    at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:37)
    at org.gradle.api.Script$apply.callCurrent(Unknown Source)
    at build_dqskbdk8qqmtz8nwqu4ruz6lj.run(C:\Users\joaoj\Documents\GitHub\AgroLucros2020\app\build.gradle:110)
    at

指示以下行为错误

apply plugin: 'org.jetbrains.kotlin.android'

这是gradle文件

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
android {
    compileSdk 34
    defaultConfig {
        applicationId "com.x.x"
        minSdkVersion 24
        targetSdk 34
        multiDexEnabled true
        versionCode 31
        versionName "1.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    namespace 'com.x.x'
    sourceSets {
        main {
            res {
                srcDirs 'src\\main\\res', 'src\\main\\res\\layout\\Manejo'
            }
        }
    }
    buildFeatures {
        buildConfig true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_21
        targetCompatibility JavaVersion.VERSION_21
    }
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "androidx.paging:paging-runtime:3.2.1"

    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.11.0'
    // FirebaseUI for Firebase Realtime Database
    implementation 'com.firebaseui:firebase-ui-database:8.0.2'

    // FirebaseUI for Cloud Firestore
    implementation 'com.firebaseui:firebase-ui-firestore:8.0.2'

    // FirebaseUI for Firebase Auth
    implementation 'com.firebaseui:firebase-ui-auth:8.0.2'

    // FirebaseUI for Cloud Storage
    implementation 'com.firebaseui:firebase-ui-storage:8.0.2'
    implementation 'com.firebaseui:firebase-ui-firestore:8.0.2'
    implementation 'com.google.firebase:firebase-database:20.3.1'
    implementation 'com.google.firebase:firebase-firestore:24.11.0'
    implementation 'com.google.firebase:firebase-auth:22.3.1'
    implementation 'com.google.firebase:firebase-storage:20.3.0'
    implementation 'com.google.firebase.firebase-perf:com.google.firebase.firebase-perf.gradle.plugin:1.4.2'
    implementation 'android.arch.paging:runtime:1.0.1'
    implementation 'com.google.firebase:firebase-perf:20.5.2'
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation 'com.google.android.flexbox:flexbox:3.0.0'
    implementation 'com.github.vinodpandey:dotsindicator:2.1.2.1'
    implementation 'androidx.navigation:navigation-fragment:2.7.7'
    implementation 'androidx.navigation:navigation-ui:2.7.7'
    implementation 'com.android.volley:volley:1.2.1'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
    implementation 'com.android.billingclient:billing:6.2.0'
    implementation 'com.github.chrisbanes:PhotoView:2.3.0'
    implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:12.1.0'
    implementation 'com.google.firebase:firebase-messaging:23.4.1'
    implementation 'com.google.firebase:firebase-dynamic-links:21.2.0'
    implementation 'com.android.billingclient:billing-ktx:6.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'com.google.android.ads:mediation-test-suite:3.0.0'
    implementation 'androidx.core:core-ktx:1.12.0'
    androidTestImplementation 'junit:junit:4.13.2'
    testImplementation 'junit:junit:4.13.2'
    // Core library
    androidTestImplementation "androidx.test:core:1.5.0"

    // AndroidJUnitRunner and JUnit Rules
    androidTestImplementation "androidx.test:runner:1.5.2"
    androidTestImplementation "androidx.test:rules:1.5.0"

    // Assertions
    androidTestImplementation "androidx.test.ext:junit:1.1.5"
    androidTestImplementation "androidx.test.ext:truth:1.5.0"

    // Espresso dependencies
    androidTestImplementation "androidx.test.espresso:espresso-core:3.5.1"
    androidTestImplementation "androidx.test.espresso:espresso-contrib:3.5.1"
    androidTestImplementation "androidx.test.espresso:espresso-intents:3.5.1"
    androidTestImplementation "androidx.test.espresso:espresso-accessibility:3.5.1"
    androidTestImplementation "androidx.test.espresso:espresso-web:3.5.1"
    androidTestImplementation "androidx.test.espresso.idling:idling-concurrent:3.5.1"

    // The following Espresso dependency can be either "implementation",
    // or "androidTestImplementation", depending on whether you want the
    // dependency to appear on your APK’"s compile classpath or the test APK
    // classpath.
    androidTestImplementation "androidx.test.espresso:espresso-idling-resource:3.5.1"
}

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'org.jetbrains.kotlin.android'

我尝试按照有关已弃用代码的链接进行操作,但至少在我的 build.gradle 中我看不到任何可能出现问题的内容,还有 gradle 8.7.-rc-4、android gradle 插件 8.3.1、java 21、 kotlin 是最新的

android kotlin gradle
1个回答
0
投票

您正在使用旧语法应用插件,并在构建脚本的末尾执行此操作。这不会增加你让它发挥作用的机会。

使用现代实践并使用

plugins
块应用您的插件:

plugins {
    id 'org.jetbrains.kotlin.android'
}

您可能还需要将根

build.gradle
更改为相同的:

plugins {
    id 'org.jetbrains.kotlin.android' version '1.9.23' apply false
}
© www.soinside.com 2019 - 2024. All rights reserved.