【Android】ビルドフレーバによって使用するソースを切り替える方法

SNSアプリの画面 Android開発

Androidでは、main/ ソースセットとディレクトリを、全てのビルドバリアントで共通して使用します。

新しいソースセット(ディレクトリ)を作成して、
特定のビルドバリアントごとにGradle でコンパイル&パッケージ化するファイルを管理できます。

ビルドバリアントごとに使用するファイルを確認する

  • 画面右側のGradleを選択
  • ApplicationName > Tasks > android まで階層を開き、sourceSetsをダブルクリック

Gradleがタスク実行し、ビルドバリアントごとに使用しているファイルを表示します。

ビルドバリアントごとに使用するファイルを切り替える

さて、確認ができたところで、実際に切り替えていきましょう。

Gradleでは、main/ソースセットと同じように特定のディレクトリを管理する必要があります。

具体例

例えば、以下のようにします。

debugビルドタイプでのみ使いたいJavaファイルがある場合、src/debug/javaディレクトリに配置しなければなりません。

設定の方法

AndroidStudioには、便利な機能が備わっています。

自分の手でディレクトリ分けするのも良いですが、楽しちゃいましょう。

実際に上記の具体例に沿って設定していきます。

  • Projectペインを開く
  • ペインの上部にあるプルダウンメニューから、(プロジェクト名)/app/srcの階層まで開く
  • srcディレクトリで右クリック > New > Foloder > JavaFolder
  • Target Source Setの横にあるプルダウンメニューからdebugを選択
  • Finishをクリック

リソース切り替えの手順1

リソース切り替えの手順2

すると、debug/javaが作成されます!

リソース切り替えの手順3

【補足】手動で設定する方法

一応、ツールを使用せずに行う方法をご紹介します。

モジュールのbuild.gradleに下記を追加します。

ジョージ・眉間シワ男
ジョージ・眉間シワ男
ちゃんとディレクトリも作成することをお忘れなく!

まとめ

ビルドフレーバによって使用するソースを切り替える方法は、主に2つあることがわかりました。

  • ツールを使って簡単に行う
  • モジュールのbuild.gradleに記述し、ディレクトリも自分で作成する

個人のお好みでやってみましょう。

参考記事

ビルド バリアントの設定  |  Android デベロッパー  |  Android Developers
単一のプロジェクトからさまざまなバージョンのアプリを作成するためのビルド バリアントの設定方法をご確認ください。
タイトルとURLをコピーしました