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

问题描述 投票:0回答:2

为了解决我的问题这里:将 JaCoCo 应用于所有 Android Studio gradle 模块,我应用了解决方案这里。到目前为止,这对于具有

的模块来说效果很好
plugins {
    id("com.android.library")
}

一旦我将所需的

apply from: '../jacoco/modules.gradle'
添加到标记为 Java 库的模块中

plugins {
    id("java-library")
}

我得到一个

Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'android' for project ':lib1' of type org.gradle.api.Project.

我想将

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

gradle android-gradle-plugin jacoco jacoco-plugin
2个回答
0
投票

我假设您还应用了您已链接的解决方案的“改进”部分中的片段到您的

../jacoco/modules.gradle
文件?在这种情况下,您可以将该片段替换为以下内容:

project.afterEvaluate {
    if (project.pluginManager.hasPlugin('com.android.library')) {
        android.libraryVariants.all { variant ->
            tasks.create(…)
        }
    } else {
        tasks.create(…)
    }
}

如果这不能解决问题,那么我建议使用 Gradle 的

--stacktrace
选项运行构建。这应该可以为您提供有关丢失财产的确切位置的更多详细信息。

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


0
投票

对于

Cordova
- 一些过时的软件包导致它 - 请参阅 https://github.com/google/cordova-plugin-browsertab/issues/43https://github.com/apache/cordova-android/ issues/821,比如我们
cordova-plugin-browsertab

有多种方法可以解决这个问题,甚至是来自 Cordova 文档的示例

为我工作的那个 - 在

cdvMinSdkVersion=21
内添加
gradle.properties
。还没有尝试过其他的,但根据cordova-plugin-browsertab#43(评论),它至少应该可以作为环境变量导出。

© www.soinside.com 2019 - 2024. All rights reserved.