同じアプリを複数インストールできるようにできます。用途としては
- 開発版のパッケージ名はリリース版と別のパッケージ名にしたい
- 同じアプリで、小さな変更を追加しただけのものを別々にインストールしたい
などが考えられると思います。
そこで、Gradleの productFlavors
を使ってビルド時にパッケージ名を変更しまおうと思います。ランチャーアイコンも別々に指定することができます。
packageNameSuffixでパッケージ名に接尾辞をつける
開発版のパッケージ名に指定した接尾辞を付けてしまうことで、リリース版パッケージを上書きしないようにします。
build.gradle
buildTypes {
release {
}
development {
packageNameSuffix ".development"
}
}
出力するresファイルを指定する
sourceSets
の res.srcDir
で出力したいresファイルを指定できます。今回の場合は development/res/drawable に release と同名の ic_launcher.png を配置して上書きする形でランチャーアイコンを変更します。(多分もっといい方法がありそうです。)
build.gradle
sourceSets {
development.setRoot('build-types/development')
development {
res.srcDir 'development/res'
}
}
あとはAndroidStudioでBuildVariantsを切り替えることによって、別のパッケージをビルドできるようになります!