繁体   English   中英

从build.gradle读取元数据

[英]Reading metadata from build.gradle

根据这个我可以在我的Android Studio项目的几个“口味”。 但是,看来我只能创建两个要构建的树。

是否可以在build.gradle文件中添加变量,以便随后从代码中进行访问,以便可以对应用程序的构建方式进行更细粒度的控制?

例如在我的build.gradle

productFlavors {
    free {
        applicationId "com.example.app.free"
        showAds "yes"
    }
    full {
        applicationId "com.example.app.full"
        showAds "no"
    }
}

然后在我的代码中

String showAds = Gradle.getString("showAds");
if ("yes".equals(showAds)) {
     // show ads
}

是否可以在gradle.build文件中添加变量,以便随后从代码中进行访问,以便可以对应用程序的构建方式进行更细粒度的控制?

我认为您的意思是您的build.gradle文件。

对于您的特定情况,您可以只使用已经存在的BuildConfig.FLAVOR ,它将是freepaid

或者,您可以使用buildConfigField将自己的字段添加到BuildConfig

productFlavors {
    free {
        applicationId "com.example.app.free"
        buildConfigField "boolean", "I_CAN_HAZ_ADS", 'true'
    }
    full {
        applicationId "com.example.app.full"
        buildConfigField "boolean", "I_CAN_HAZ_ADS", 'false'
    }
}

然后,您将在Java代码中引用BuildConfig.I_CAN_HAZ_ADS

请注意,我仅将BuildConfig字段用于String类型,而不是boolean AFAIK,像这样的任何简单类型都应该起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM