我有一个gradle FAILURE:

..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."

案例描述:

附加到项目代码库的下一个库:

APP / build.gradle

    //(Required) Writing and executing Unit Tests on the JUnit Platform 
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
    // (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
    // (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"

testImplementation "io.mockk:mockk:1.8.5"

更新gradle-wrapper.properties distributionUrl=https....gradle-4.4-all.zip到4.7-all .zip 毕竟,gradle是建立成功的 创建测试类 @TestInstance (TestInstance.Lifecycle.PER_CLASS) 类TestClass { @Test 内部乐趣testName() { 断言。assertEquals(2,1 + 1) } } 运行测试并得到FAILURE消息。 运行Gradle构建时使用命令行参数./gradlew——warning-mode=all来查看哪些特性被弃用了。

结果,我无法构建应用程序,我得到了FAILURE:消息。


当前回答

下面的过程对我来说是有效的 首先检查Gradle版本:

cd android
./gradlew -v

我的情况是6.5

去https://developer.android.com/studio/releases/gradle-plugin,你会得到你的gradle版本的插件版本。对于gradle 6.5版本,插件版本为4.1.0

然后进入app/build。Gradle:<plugin_version>

其他回答

试试这个

cd android && ./gradlew clean && ./gradlew :app:bundleRelease

检查设置。Gradle脚本并删除jcenter(),它可能会导致问题,因为它已弃用。

你是新设置。Gradle文件应该是

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
    plugins {
        id 'com.android.application' version '7.1.0-alpha12'
        id 'com.android.library' version '7.1.0-alpha12'
        id 'org.jetbrains.kotlin.android' version '1.5.21'
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
rootProject.name = "ComposePlayground"
include ':app'

注意ComposePlayground是应用程序名称。

在react-native的项目中,它为我在这个问题上工作:

在此版本中使用了已弃用的Gradle特性,使其与Gradle 7.0不兼容。

244个可操作任务:2个已执行,242个最新 D8:无法将请求的类放入单个dex文件(# fields: 67296 > 65536) 合并dex档案时出现错误: .dex文件中方法引用的个数不能超过64K。 请登录https://developer.android.com/tools/building/multidex.html了解如何解决此问题 ....

我是这样做的:

从我的设备上卸载应用程序: .dex文件中方法引用的数量不能超过64k API 17

试试这个方法对我有用。 如果您在设备上有另一个具有相同名称(或包名)的应用程序:重命名应用程序或从设备上删除它。

我使用反应本机,如果以上都没有工作,删除构建和。gridle文件夹内的Android文件夹,并再次运行,这解决了我的问题