由 groovy.lang.MissingPropertyException 引起无法获取 org.gradle.api.Project 类型的项目 ':lib1' 的未知属性 'android'

Edn*_*pel 9 gradle jacoco android-gradle-plugin jacoco-plugin

为了在这里解决我的问题:Applying JaCoCo to all Android Studio gradle module,我在这里应用了解决方案。到目前为止,这对于具有以下功能的模块来说效果很好

plugins {
    id("com.android.library")
}
Run Code Online (Sandbox Code Playgroud)

一旦我将所需的内容添加apply from: '../jacoco/modules.gradle'到标记为 Java 库的模块中

plugins {
    id("java-library")
}
Run Code Online (Sandbox Code Playgroud)

我得到一个

Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'android' for project ':lib1' of type org.gradle.api.Project.
Run Code Online (Sandbox Code Playgroud)

我想将其添加apply from到 java 库中,以便也为它们生成 JaCoCo 报告。我在这里想念什么?

Chr*_*iki 0

我假设您还应用了链接到文件的解决方案的 \xe2\x80\x9cImprovements\xe2\x80\x9d 部分中的片段../jacoco/modules.gradle?在这种情况下,您可以将该片段替换为以下内容:

\n
project.afterEvaluate {\n    if (project.pluginManager.hasPlugin(\'com.android.library\')) {\n        android.libraryVariants.all { variant ->\n            tasks.create(\xe2\x80\xa6)\n        }\n    } else {\n        tasks.create(\xe2\x80\xa6)\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如果这不能解决问题,那么我建议使用 Gradle\xe2\x80\x99s--stacktrace选项运行构建。这应该可以为您提供有关丢失财产的确切位置的更多详细信息。

\n

如果没有关于您的确切构建设置的更多信息,\xe2\x80\x99s 很难真正说更多。

\n