可以在app模块的debug
或release
中设置变量。此文档已解释了如何执行此操作,Android:Managing different server URL for development and release。
然而,我的问题略有不同。我有Project_A,它依赖于我的App_Module。我的Project_A上的一个类需要知道这个构建是Debug还是Release。我在buildTypes
基于上述文档所说的内容(在App_Module中)创建了一个变量。但是,此变量似乎对此依赖项(Project_A)不可见。
我在Project_A类中有以下代码:
buildTypes
当我检查if (BuildConfig.DEBUG)
{
MyConstants.URL_BASE = "https://my.debug.com";
}
else
{
MyConstants.URL_BASE = "https://my.release.com";
}
的包时,该包属于Project_A(并且在自动导入包的下拉列表中没有App_Module的迹象)。那你的建议是什么?如何从依赖项中检查构建变体?
答案 0 :(得分:0)
我使用以下解决方案解决了我的问题。我在Project_A的Application类中定义了Debug
变量:
// Placeholder for the BuildConfig.DEBUG flag. Should be overwritten by the final application class
// with the correct value based on build variant (debug/release).
public static boolean DEBUG = true;
然后,我从App_Module的Application类设置它。
// Setup the debug flag
PassengerLibApplication.DEBUG = BuildConfig.DEBUG;
因此,我的上述代码将更改为
if (Project_A_Application.DEBUG)
{
MyConstants.URL_BASE = "https://my.debug.com";
}
else
{
MyConstants.URL_BASE = "https://my.release.com";
}