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


当前回答

在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

其他回答

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

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

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

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

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

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

我的项目与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项目文件。

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

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