android - 使用 Gradle 更改 Android Studio 中的 BuildConfig 文件

标签 android android-gradle-plugin android-buildconfig

我正在尝试使用 Android Studio 中的 Gradle 将 URL 添加到我的 BuildConfig 文件中。所以我将这段代码添加到 gradle 文件

buildTypes {
    debug {
        buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
    }
}

然后我尝试重建我的项目并希望这个值会出现在 BuildConfig 文件中,但事实并非如此。有人可以解释如何正确执行此操作吗?

我完整的gradle文件代码如下

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}
buildTypes {
    debug {
        buildConfigField "String", "DAR_API", '"{some string}"'
        buildConfigField "String", "DAR_API_AUTH", '"{some string}"'
        buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
    }

    rc {
        minifyEnabled true
        debuggable true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String", "DAR_API", '"{some string}"'
    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String", "DAR_API", '"{some string}"'
    }
}

之后是依赖项,但我认为这与问题无关。

最佳答案

试试这个:

buildTypes {
        debug {
            buildConfigField "String", "MIDTRANS_API", "\"https://app.sandbox.midtrans.com/snap/v1\""
        }
        release {
            buildConfigField "String", "MIDTRANS_API", "\"https://app.sandbox.midtrans.com/snap/v1\""
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

在 Java 中,您可以在同步 Gradle 文件后通过以下代码访问它。

String url = BuildConfig.MIDTRANS_API

关于android - 使用 Gradle 更改 Android Studio 中的 BuildConfig 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51373523/

相关文章:

java - Java 模块中的 BuildConfig 等价物是什么? - 安卓

android - Gradle-Android-基于一对(productFlavors,buildTypes)的buildConfigField

android - Android中如何确定选定的 `configuration`?

android - 如何在 Android 中根据区域设置和设备屏幕指定单个图像

gradle - 获取 gradle 模块的名称,以及它所依赖的任何其他模块的名称

android - 如何在 EvaluateJavascript 中将参数作为带换行符\n 的字符串传递?

Android Studio Gradle 在构建期间失败

android - 如何在模块和应用程序中导入 .jar 文件?

android - 带过滤器的自定义 ArrayAdapter 未正确过滤

android - 如何为 320dp 和 360dp 创建布局?