【问题标题】:ERROR: Cannot get property 'compileSdkVersion' on extra properties extension as it does not exist错误:无法在额外属性扩展上获取属性“compileSdkVersion”,因为它不存在
【发布时间】:2015-09-11 17:56:44
【问题描述】:

我在我的 android 项目中使用 SpecialCyCi/AndroidResideMenu 第三方库 (github)。我已将 ResideMenu 项目导入我的工作区,并且 将其作为模块依赖库项目。

在构建项目时出现以下错误:

Error:(7) A problem occurred evaluating project ':ResideMenu'.
Cannot get property 'compileSdkVersion' on extra properties extension as it does not exist  

【问题讨论】:

  • 您可以通过复制应用级别 build.gradle 中 compileSdkVersion 的值并将其粘贴到库的 compileSdkVersion 中来消除此错误

标签: android android-studio github gradle


【解决方案1】:

如果您解释得更多,我可以提供更好的帮助,但很可能问题出在您的 gradle 中。你需要说你有顶级gradle的扩展文件。让我解释一下它是如何工作的:

在您的应用级 gradle 文件中,应该有这样的配置:

def config = rootProject.extensions.getByName("ext")

您可以像这样使用扩展文件中的配置:

android { 
  compileSdkVersion config.getAt("compileSdkVersion") 
}

但是,您需要将扩展​​文件添加到您的项目根目录:

dependency-versions.gradle

ext {
compileSdkVersion = 25
//...
}

你需要像这样对你的顶级毕业生说:

def config = rootProject.extensions.getByName("ext")

【讨论】:

    【解决方案2】:

    在您的build.gradle 中添加添加AndroidResideMenu 依赖项

    buildscript {
    repositories {
        mavenCentral()
    }
    
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'
        classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'  //add like this
     }
    }
    
    ext {
        compileSdkVersion = 19
        buildToolsVersion = "20.0.0"
    }
    

    【讨论】:

    • 你能解释一下吗?我在 CI 机器上遇到了这个错误,但它似乎没有出现在任何人的本地机器上。我不确定为什么有必要将它添加为你的 buildscript 的依赖项
    猜你喜欢
    • 1970-01-01
    • 2018-05-19
    • 2021-06-20
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 2022-10-14
    相关资源
    最近更新 更多