繁体   English   中英

如何从Android项目中的依赖项检查Gradle构建变体(调试或发布)?

[英]How to check gradle build variant (debug or release) from dependency in Android project?

可以在应用模块的debugrelease buildTypes中设置变量。 该文档已经说明了Android的操作方法: 管理用于开发和发布的不同服务器URL

但是,我的问题略有不同。 我有Project_A,它依赖于我的App_Module。 我的Project_A上的类需要知道此构建是Debug还是Release。 我根据上述文档的内容(在App_Module中)在buildTypes创建了一个变量。 但是,该变量似乎对该依赖项(Project_A)不可见。

我在Project_A类中有以下代码:

if (BuildConfig.DEBUG)
{
    MyConstants.URL_BASE = "https://my.debug.com";
}
else
{
    MyConstants.URL_BASE = "https://my.release.com";     
}

当我检查BuildConfig的软件包时,该软件包属于Project_A(并且在自动导入软件包的下拉列表中没有App_Module的迹象)。 那么您的建议是什么? 如何从依赖项检查构建变体?

我使用以下解决方案来解决我的问题。 我在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";     
}

暂无
暂无

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

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