【问题标题】:Android Studio : "Could not get unknown property 'VERSION_NAME' for project of type org.gradle.api.Project"Android Studio:“无法为 org.gradle.api.Project 类型的项目获取未知属性 'VERSION_NAME'”
【发布时间】:2017-03-18 04:06:43
【问题描述】:

我是 Android Studio 的新手。我正在尝试在我的项目中使用这个项目库:https://github.com/2dxgujun/AndroidTagGroup

所以我所做的就是将它作为一个模块导入到我的项目中;名称为“androidtaggroup”

现在,我在编译时遇到以下错误:

"Could not get unknown property 'VERSION_NAME' for project ':androidtaggroup' of type org.gradle.api.Project."

这里是 Gradle 文件中出现问题的地方:

 defaultConfig {
        applicationId 'me.gujun.android.taggroup.demo'
        minSdkVersion 8
        targetSdkVersion 21
        versionName project.VERSION_NAME // ERROR HERE !!!!
        versionCode Integer.parseInt(project.VERSION_CODE)
    }

谁能告诉我如何解决这个问题?

谢谢!!!

【问题讨论】:

    标签: java android android-studio gradle android-gradle-plugin


    【解决方案1】:

    解决方法是在此处定义您的版本名称或使用自定义变量。 project.VERSION_NAME 默认不存在,所以不能使用。这基本上就是错误消息告诉您的内容。

    defaultConfig {
        applicationId 'me.gujun.android.taggroup.demo'
        minSdkVersion 8
        targetSdkVersion 21
        versionName "1.2.3"
        versionCode Integer.parseInt(project.VERSION_CODE)
    }
    

    或替代:

    // somewhere above
    def VERSION_NAME = "1.2.3"
    
    // and the usage:
    defaultConfig {
        applicationId 'me.gujun.android.taggroup.demo'
        minSdkVersion 8
        targetSdkVersion 21
        versionName VERSION_NAME
        versionCode Integer.parseInt(project.VERSION_CODE)
    }
    

    在您更改之后,使用project.VERSION_CODE 可能会遇到同样的问题:

    versionCode Integer.parseInt(project.VERSION_CODE)
    

    修复方法相同:提供有效的自定义变量或常量

    【讨论】:

    • 谢谢!!!仅供参考,您知道为什么当我将此项目作为模块导入而不是将此项目用作独立项目时出现此错误吗?其他问题:现在,我在 library/build.gradle 文件中遇到了另一个错误:“无法读取脚本 maven-push.gradle,因为它不存在。”在这行代码上:“apply from: '../maven-push.gradle'”。你知道如何解决吗?谢谢!!!
    • 问题是这个项目是一个项目而不是一个模块。它已经包含 2 个模块:演示和库。当您想使用该库时,您需要做的就是将其添加为依赖项compile 'me.gujun.android.taggroup:library:1.4@aar'(阅读他们的自述文件!)。当您检查项目中的 gradle.properties 文件时,您会看到您尝试使用的 VERSION_CODE 和 VERSION_NAME 属性。这也解释了你是从哪里得到这个的...... TLDR:你不能将项目添加为模块。
    • 谢谢沃伦。但我不明白他们的自述文件!第 1 步:我应该在哪个 Gradle 文件中添加代码行?完成后,在哪里可以找到这个 me.gujun.android.taggroup:library:1.4@aar 库?我应该先导入他们的项目吗? Maven:我必须添加这段代码吗?在哪里?构建段落:“运行 ./gradlew assembleDebug”;我怎样才能做到这一点 ?在哪里 ?是为了什么?我迷失在 Android Studio... 我真的更喜欢 Eclipse...
    • Warren:你可以在这里回答stackoverflow.com/questions/40421771/…我问的详细问题!非常感谢!!!
    【解决方案2】:
    buildscript {
        ext.kotlin_version = '1.3.31'
        ext.room_version = '2.1.0-alpha01' // Add this line in your build gradle
        repositories {
            google()
            jcenter()
    
        }
    

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题。 'VERSION_NAME' 未在 build.gradle(Project: 'PROJECT_NAME') 的 ext{} 中定义

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-25
        • 2020-02-11
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多