在运行时从gradle获取数据

bla*_*lay 0 android gradle

我们开发了一些模块并使用相同的连接器类.我们在静态数据中使用Mow.对服务器的调用在应用程序和开发/生产之间是不同的.

我有一些问题:

  1. 是否可以在运行时从gradle获取数据?

  2. 当gradle构建模块(通过在构建类型中使用)和gradle.properties时,是否可以在我的类中生成/设置变量数据?

Dod*_*dge 5

你也可以buildConfigField在你的build.gradle中使用

buildTypes {
    release {
        // ...

        buildConfigField "boolean", "CHROMECAST", "false"
        buildConfigField "boolean", "NOTIFICATION_COVER", "false"
        buildConfigField "String", "API_URL", "\"https://your/production/url/\""
    }
    debug {
        // ...

        buildConfigField "boolean", "CHROMECAST", "false"
        buildConfigField "boolean", "NOTIFICATION_COVER", "true"
        buildConfigField "String", "API_URL", "\"https://your/development/url\""
    }
}
Run Code Online (Sandbox Code Playgroud)

在您的应用代码中,您可以通过例如BuildConfig.CHROMECAST或访问这些变量BuildConfig.API_URL

对于资源,您可以为您的调试版本创建特定资源,src/debug/res例如特殊的应用程序图标或覆盖应用程序名称.