android - 此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 5.0 不兼容

标签 android unit-testing gradle kotlin junit5

我的 gradle 失败:

..."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

  • 在所有 gradle 构建成功之后

  • 创建了测试类

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, 1 + 1)
      }
    }
    
  • 运行测试并收到 FAILURE 消息。 enter image description here

  • 使用命令行参数 ./gradlew --warning-mode=all 运行 Gradle 构建,以查看已弃用的功能到底是什么。 enter image description here

因此,我无法构建应用程序,并且收到了 FAILURE: 消息。

最佳答案

使用命令行参数 --warning-mode=all 运行 Gradle 构建,以查看已弃用的功能到底是什么。

它将通过指向 Gradle 文档的链接为您详细描述发现的问题,以获取如何修复您的构建的说明。

向其中添加 --stacktrace 后,如果警告是由其中一个插件中的过时代码而不是您的构建脚本触发的,您还可以查明警告的来源。

关于android - 此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 5.0 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51610420/

相关文章:

python - python3 中的 eval(repr(object)) 相等测试失败

ruby-on-rails - RSpec 测试所有模型是否respond_to 属性

visual-studio - 如何让 Visual Studio 将单元测试放置在我想要的位置?

gradle - 使用Gradle创建构建后复制任务

android - 我如何从 VideoView 类扩展我自己的类?请举个例子

android - 在 Android 中的 Mysql 服务器上上传图像 我的代码出现错误 我正在使用 Volly?

java - 如何将 JSONArray 转换为字符串/浮点值

android - 无法使用 WebView 打开 PDF 文件

gradle - 我们可以在某个地方编写 gradle.build 任务并从 gradle.build 文件中调用它们吗

git - Gradle 更新 git 子模块