我有一个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:消息。


使用命令行参数——warning-mode=all运行Gradle构建,查看哪些特性被弃用。

它会给你一个详细的描述发现的问题与链接到Gradle文档指导如何修复你的构建。

在此基础上添加——stacktrace,如果警告是由某个插件中的过时代码而不是你的构建脚本触发的,你也可以精确地指出警告的来源。


最后决定将junit 5降级为junit 4,并重新构建测试环境。


在gradle-wrapper-properties文件中设置distributionUrl路径为:

distributionUrl = https://services.gradle.org/distributions/gradle-4.10.2-all.zip


更新第三方依赖项。例如,我更新了依赖 实现“com.github.ybq:Android-SpinKit:1.1.0”到实现“com.github.ybq:Android-SpinKit:1.2.0”。对我来说,问题已经解决了。


我得到了这个错误。事实证明,只有当我完全清理RN缓存(相当复杂的过程),然后创建发布构建时,才会发生这种情况。

如果我清理了缓存,创建了调试版本,然后是发布版本,那么一切都可以正常工作。有点令人担忧,但有效。

注意:我的clean命令是…

Rm -r android/build;Rm -r android/app/src/release/res;Rm -r android/app/build/intermediates;守望人守望一切;rm -rf $TMPDIR/react-*;NPM启动-- --reset-cache


重要-回答工作仅对REACT-NATIVE VS CODE终端

在VisualStudio代码中,你必须像下面这样运行,然后该警告将被忽略。

React-native run-android warning-mode=all

如果你在下面运行,那么你将在终端中得到错误 当运行react-native run-android——warning-mode时,我得到错误:未知选项——warning-mode


解决方法: 在这个版本中使用了已弃用的gradle特性,使得它与gradle 6.0不兼容。android工作室 这个解决方案对我很有效。

首先更改build依赖项中的类路径。Gradle你的项目 From: classpath 'com.android.tools.build:gradle:3.3.1' 到:classpath 'com.android.tools.build:gradle:3.6.1'

然后在gradle-wrapper中进行更改。该文件存在于项目的gradle>包装器文件夹中 来自:distributionUrl = https \: / / services.gradle.org/distributions/gradle-5.4.1-all.zip : distributionUrl = https \: / / services.gradle.org/distributions/gradle-5.6.4-all.zip

然后同步你的gradle。


试试这个

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

On a SpringBoot project using IntelliJ and Gradle, I got the warning "Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0" when running my integration test. What solved the problem was: - Going to: File > Settings > Build, Execution, Deployment - Selecting for "Build and run using": Intellij IDEA (instead of "Gradle") - Same for "Run tests using" That did not explain why Gradle is displaying the warning, but that let me perform the test and progress in my work.


在我的例子中,我更新了构建。并将类路径设置为3.5.2到3.6.3的最新版本

dependencies {
        classpath("com.android.tools.build:gradle:3.6.3") 
    }

迁移到AndroidX后修复了这类错误

迁移到AndroidX


下面的解决方案帮助了我,因为我也得到了相同的警告。 在你的项目级gradle文件中,尝试在类路径中更改gradle版本

classpath "com.android.tools.build:gradle:3.6.0" to
classpath "com.android.tools.build:gradle:4.0.1"

在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


在我的情况下,在Android/app/build中添加multiDexEnabled true。Gradle文件编译文件。

我将考虑在未来删除这个,因为在文档中它说“在配置你的应用程序以启用64K或更多的方法引用之前,你应该采取措施减少你的应用程序代码调用的引用总数,包括你的应用程序代码定义的方法或包含的库。”

defaultConfig {
  applicationId "com.peoplesenergyapp"
  minSdkVersion rootProject.ext.minSdkVersion
  targetSdkVersion rootProject.ext.targetSdkVersion
  versionCode 1
  versionName "1.0"
  multiDexEnabled true // <-add this 
}

从设备/模拟器卸载旧的应用程序。这对我很有效


我正在使用react-native,这适用于我:

在项目CD的根android和gradlew清理 在Windows中打开任务管理器 在tab 'Details'上点击java.exe进程的endtask

长话短说 >任务:app:installDebug FAILED通过杀死java.exe进程修复


这是由于不相容。

请在build中升级类路径("com.android.tools.build:gradle:4.0.1")。android文件夹下的Gradle文件。


下面的过程对我来说是有效的 首先检查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>


我发现我的磁盘空间不足4 GB,无法获得Gradle lib repo 然后显示

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

只需删除TMP和垃圾文件,释放空间,然后尝试构建和解决问题


在我的情况下,从基本目录删除整个android文件夹,并允许它在eas build上重建所有它修复了这个错误:)


添加实现("org.slf4j:slf4j-nop:1.7.25")到build.gradle.kts。


检查设置。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是应用程序名称。


我的项目与Gradle 8.0不兼容。以下是对我有效的方法: 首先,我在Android Studio终端上写了这行代码:

./gradlew build --warning-mode all

当你这样做的时候,你会在logcat中显示你的项目中发现了什么已弃用或问题,对我来说,它是jcenter()存储库,需要在我的设置中删除。我还需要在我的构建中更新类路径“org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21”到类路径“org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30”。Gradle项目文件。

一旦我做了这些事情,我的项目就完美地构建起来,并安装在模拟器上


我通过更新我的gradle-wrapper解决了这个问题。属性文件。你必须将这行distributionUrl=https://services.gradle.org/distributions/gradle-7.3.3-bin.zip更改为gradle后期构建,可以在gradle Wrapper中找到。

希望这能帮助到一些人:)


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


通过从/android中删除.gradle文件夹并再次运行npm run android解决了这个问题,它解决了这个错误。 这是问题的链接:https://github.com/facebook/react-native/issues/28954


1) cd安卓 2) ./gradlew干净 3)。/ gradlew:应用:bundleRelease

然后最后安装NPM安装命令


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


对我来说,问题是我的设备内部存储空间用完了。在删除了一些不必要的应用程序后,它运行正常。


在网上搜索了几个小时后,我使用了这个命令: React-native run-android warning-mode=all On vs code。 事实证明,这个错误与已弃用的模块或任何gradle错误无关,这只是我的设备存储空间太满了。 我希望有一天它能帮助到别人。


进入gradle/wrapper/gradle-wrapper。properties将distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip更改为所需的版本(或更高版本)。

然后再次运行cd android && ./gradlew bundlerrelease


在上面的答案对我都不起作用后,我设法通过将Gradle插件升级到最新版本并使用JDK 11来解决这个问题。 希望这能帮助到一些人!