2016-09-01 2 views
0

私は複数のライブラリモジュールを含むプロジェクトを持っています。 1つのモジュールに独自のフレーバーを作成したいのですが、私は問題解決に奇妙なエラーが発生しました。私は、次のしている私のモジュールのGradleのファイルでAndroid Studioライブラリモジュールの階調表示の問題

android { 
    defaultConfig { 
     testApplicationId "com.mytestApplication" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 

    productFlavors { 
     flav1 { 
      buildConfigField 'String', 'PROJECT', '"Flav1"' 
     } 
     flav2{ 
      buildConfigField 'String', 'PROJECT', '"Flav2"' 
     } 
    } 
} 

しかし、私はエラーになっておく:

android { 
    defaultConfig { 
     testApplicationId "com.mytestApplication" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 

    productFlavors { 
     flav1 { 
      buildConfigField 'String', 'PROJECT', '"Flav1"' 
     } 
    } 
} 
:私のbuild.gradleファイルはこのように書かれている場合

Error:Cannot add task ':myaccessorModule:jarRelease' as a task with that name already exists. 

次に、[バリアントの作成]ウィンドウにflav1Debugとflav1Releaseオプションが表示されます。

2つ以上のフレーバーを使用すると失敗するのはなぜですか?他のどのモジュールにもフレーバーを定義していません。私が見たすべてのドキュメンテーションは、この見た目をかなり簡単にしています。私はまた、これらのフレーバーをプロジェクト構造のGUIを通してモジュールに追加しようとしましたが、私は同じ結果を得ています。このモジュールに複数の味を持たせるにはどうすればよいですか?

乾杯。

答えて

0

通常、同じコードで複数のapkバージョンを作成するには、製品のフレーバを使用します。

したがって、フレーバーごとにユニークなapplicationIdが必要です。

は、詳細情報については

productFlavors { 
     flav1 { 
      applicationId "com.mytestApplication.flav1" 
     } 
     flav2{ 
      applicationId "com.mytestApplication.flav2" 
     } 
    } 

を使用して応答Jaswanthためhttps://developer.android.com/studio/build/build-variants.html

+0

感謝を試してみてください。私は実際にそれがうまくいくかどうかを見る前にそれを試しましたが、残念ながらそれはしませんでした。私はちょうど見つかったが、異なるフレーバーは、アプリケーションではなくライブラリでのみ利用可能です。 (apply apply plugin: 'com.android.library'を適用するのではなく、 'com.android.application'を適用する必要があります。残念ながら、この時点ではライブラリプロジェクトは1つのフレーバーにしか見えません:( – Dave

+0

あなたはこの回答を見ていますか?http://stackoverflow.com/a/24316133/1852441。 –

+0

これは磨耗モジュールにフレーバー依存関係を追加するのと似ています(あなたがウェアアプリを経験している場合) –

関連する問題