2017-07-13 4 views
3

私のプロジェクトでは、異なるbuildConfigFieldsに基づいて異なる構成を使用していますが、その中には特定の依存関係を使用しないものがあります。 したがって、buildConfigFieldsに応じて、特定のconfigに特定の依存関係を持たせたくありません。異なるbuildConfigFieldsのダイナミック・グラッド・コンパイル

次のような操作を行うにはどうすればよいですか?

dependencies { 
    if (buildConfigField("String", "WHICH_MESSAGE_ENABLED") == "VALUE") { 
     compile "xxx.yyy.zz:1.0" 
    } else { 
     provided "xxx.yyy.zz:1.0" 
    } 
} 

答えて

0

あなたはdefaultConfigに次のように使用することができます。

def mBuildConfigFields 

android { 
    defaultConfig { 
     mBuildConfigFields = buildConfigFields 
    } 
} 

dependencies { 
    if (localBuildConfigFields.get("KEY").value == "VALUE") { 
     compile "xxx.yyy.zz:1.0" 
    } else { 
     provided "xxx.yyy.zz:1.0" 
    } 
} 

は、この情報がお役に立てば幸いです。

+0

/ エラー:タイプorg.gradle.apl.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトに対して不明なプロパティ 'loadDependency'を取得できませんでした。 –

+0

build.gradleを共有できますか? – Greaper

+0

私は最初defで忘れました:)ありがとう作品! –

関連する問題