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

スマホを操作する男性_3Androidアプリ開発

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をクリック

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

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

一応、ツールを使用せずに行う方法をあります。
build.gradle(Module :app)に下記を追加します。

// リソースの切り替え
sourceSets {
    develop {
        java.srcDirs = ['src/develop/java']
    }
    product {
        java.srcDirs = ['src/product/java']
    }
}
サバ缶
サバ缶

それぞれのディレクトリ(develop, product)を
忘れず作成しておきましょう!

まとめ

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

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

あなたにあった方法でお試しください。

参考記事

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