2016-04-19 24 views
2

依存関係の設定

dependencies { 
    flavor1Compile(path: '{path}', configuration: 'flavor1Config') 
    flavor2Compile(path: '{path}', configuration: 'flavor2Config') 
} 

私も、私にできることを知っていますこれは:

dependencies { 
    debugCompile(path: '{path}', configuration: 'debugConfig') 
    releaseCompile(path: '{path}', configuration: 'releaseConfig') 
} 

私は何をしたい、基本的にこれです:

dependencies { 
    flavor1DebugCompile(path: '{path}', configuration: 'flavor1DebugConfig') 
    flavor1ReleaseCompile(path: '{path}', configuration: 'flavor1ReleaseConfig') 
    flavor2DebugCompile(path: '{path}', configuration: 'flavor2DebugConfig') 
    flavor2ReleaseCompile(path: '{path}', configuration: 'flavor2ReleaseConfig') 
} 

しかし、そのコードは、この生成:

Error:(30, 0) Gradle DSL method not found: 'flavor1DebugCompile()' Possible causes:

  • The project 'android' may be using a version of Gradle that does not contain the method. Open Gradle wrapper file
  • The build file may be missing a Gradle plugin. Apply Gradle plugin
  • これを行う方法はありますか?

    +1

    正確にあなたの症状は何ですか? IOW、「動作しない」とはどういう意味ですか? – CommonsWare

    +0

    私の編集をご覧ください。 – KairisCharm

    答えて

    1

    これをサポートするためにan open bug on the Android issue trackerがあります。今のよう

    、あなたが使用する各組み合わせのためにそうような構成を宣言することによって、これを達成することができます

    configurations { 
        flavor1DebugCompile 
    } 
    
    dependencies { 
        flavor1DebugCompile(path: '{path}', configuration: 'flavor1DebugConfig') 
    } 
    
    +0

    これは、私が説明したエラーを超えてしまったが、別の問題につながる。私がproductFlavorsを使用している1つのコアライブラリ、次にそのコアを使用する他のライブラリがあります。このメソッドを使用して他のライブラリを使用しようとすると、もうエラーは発生しませんが、その中のパッケージにアクセスすることもできません。 – KairisCharm

    +0

    [u2020](https://github.com/JakeWharton/u2020)は、これを使用するプロジェクトの良い例です。 「internalDebugCompile」構成では、このパターンが使用されます。 –

    +0

    これは新しい問題に対処しません。新しい問題は、製品のフレーバを使用するライブラリを含むライブラリのパッケージにアクセスできないことです。 – KairisCharm

    関連する問題