注意:ザビエルの回答後に編集された回答
Android Studio で同じアプリケーション プロジェクトに異なるビルド フレーバーを使用しようとしています。ただし、適切に機能するように構成するのに苦労しているようです。
手順:
- 「Test」という名前の新しい Android Studio プロジェクトを作成します。
build.gradle* を開き、次の行を追加します。
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Android Studio を再起動すると、Build Variants セクションに4 つのビルド バリアントが表示されます。これまでのところ、製品のフレーバーの設定に成功したことを意味します。**
フレーバー1 の新しいソース フォルダーを作成しました。ただし、正しい方法で行っているかどうかはわかりません。これが私がそれをした方法です:
- このプロジェクトのパッケージ名は次のとおりです。
com.foo.test
- フォルダーを右クリックして、
src
flavor1 の場合、構造がsrc/flavor1/java/com/foo/test/MainActivity.java
. - 「java」フォルダは青で示されているため、上記はうまく機能しました。これは、IDE がアクティブなソース ディレクトリであることを認識していることを意味します。また、パッケージは自動的に作成されました。それにもかかわらず、重複したクラスが見つかったという警告が表示されます。こちらのスクリーンショットをご覧ください。
- フレーバー 2 については、パッケージを手動で作成しようとしましたが、フレーバー 2 の 'src' フォルダーが青色ではないため、右クリック時のオプションが異なり、'新しいパッケージ' が使用できません。こちらの画像をご覧ください。
- フレーバー 1 については、'res' ディレクトリも作成しましたが、これは青色に変わりますが、それにもかかわらず、Android リソース ファイルまたは Andorid リソース ディレクトリのいずれかを作成する機能は提供されません。さまざまなフレーバーのリソース。
- このプロジェクトのパッケージ名は次のとおりです。
私は何か間違ったことをしていますか?または、何か不足していますか?さらに情報が必要な場合はお知らせください。
*私のプロジェクトには2 つのbuild.gradle ファイルがあるようです。1 つはプロジェクト フォルダー (\GradleTest) のルートにあり、これは空です。\GradleTest のサブフォルダーのルートにある 2 つ目は、'GradleTest' (GradleTest-GradleTest) というラベルが付けられています。これは、開いたときに既にコードが含まれていたものです。したがって、それは私が編集したものです。
** gradle の設定を確認したところ、自動インポートの使用が既に有効になっているようです。それにもかかわらず、build.gradle ファイルに変更を加えても、ビルド バリアントは自動的に更新されません。注: Build - Rebuild Project や Build - Make Project も使用してみましたが、ダメでした。プロジェクトを閉じて、変更を有効にするために再度開く必要があります。