gpt4 book ai didi

android - 带有整数变量的 Gradle buildConfigField

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:30 27 4
gpt4 key购买 nike

我想定义一个构建配置文件,我可以在其中使用自己在 gradle 脚本中定义的变量:

def someVar = 512
android {
...
buildConfigField 'int', 'SOME_INT_FIELD', someVar
}

但这会产生以下错误:

Error:(25, 0) Gradle DSL method not found: 'buildConfigField()'

Possible causes:

  • The project 'PROJECT' may be using a version of Gradle that does not contain the method.
  • The build file may be missing a Gradle plugin.

  • 我可以使用像这样的引号:

    def someVar = 0
    android {
    ...
    buildConfigField 'int', 'SOME_INT_FIELD', '"' + someVar + '"'
    }

    但这会导致 BuildConfig

    中的编译器错误
    // Fields from default config.
    public static final int SOME_INT_FILED = "512";

    所以现在我留在:

    def someVar = 0
    android {
    ...
    buildConfigField 'String', 'SOME_INT_FIELD', '"' + someVar + '"'
    }

    并像这样使用它:

    final int value = Integer.valueOf(BuildConfig.SOME_INT_FIELD);

    有没有人有更好的解决方案或者我使用的 buildConfigField 有误?

    (我也尝试将括号与上述任何可能性结合使用。)

    最佳答案

    我找到了解决方案,所以也许这个答案将来会对某人有所帮助。

    def String globalVersionCode

    defaultConfig {
    applicationId "com.test.gradle.build"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "0.1"

    globalVersionCode = versionCode
    }

    buildTypes {
    release {
    buildConfigField ("int", "DatabaseVersion", globalVersionCode)
    }
    }

    现在在 java 中我可以获得 DatabaseVersion 变量:

    public static final int DB_VERSION = BuildConfig.DatabaseVersion;

    关于android - 带有整数变量的 Gradle buildConfigField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38524260/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com