2016-08-09 4 views
0

appモジュールのdebugまたはreleaseの変数をbuildTypesに設定することができます。このドキュメントでは、Android:Managing different server URL for development and releaseの方法について説明しました。Androidプロジェクトでgradle build variant(debugまたはrelease)の依存関係をチェックする方法は?

しかし、私の問題は少し異なります。私は自分のApp_Moduleに依存するProject_Aを持っています。私のProject_Aのクラスは、このビルドがDebugかReleaseかを知る必要があります。私はbuildTypesの変数を作成しました。これは上記のdocがApp_Moduleの中で言ったことに基づいています。しかし、変数はこの依存関係(Project_A)には見えません。

私はProject_Aのクラスのコードを次している:私はBuildConfigのパッケージをチェックすると

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

、パッケージはProject_Aに属し(および自動インポートパッケージのドロップダウンリストでApp_Moduleの兆候はありません) 。あなたのお勧めは何ですか?依存関係からビルドバリアントをチェックするにはどうすればいいですか?ありがとう

+0

http://stackoverflow.com/a/17201265/1852441に変更されますか? –

+0

@ JaswanthManigundan、はい、両方(あなたのリンクと私の)は 'buildTypes'の' debug'と 'release'を使っている同様の答えです。ありがとう。 – Hesam

答えて

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クラスからそれを設定しています。 uはこれを試してみました

// 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";  
} 
関連する問題