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