Unityでandroidアプリをビルドする際にProjectSettingのPlayerからCompanyNameとProductNameを変えれば別アプリとしてandroid端末にインストール出来ると思っていましたが、そのままでは一つのUnityプロジェクトからは一つのandroidアプリしかインストールできませんでした。一つのUnityプロジェクトで複数のアプリをインストールするための方法の忘備録です。
まず完成したアプリをビルドではなくエクスポートします。
BuldSettingの"Export Project"にチェックを入れると、BuildボタンがExportに変わりエクスポートできます。
エクスポートするとファイルで表示されるので、エクスポート先のフォルダからluncher/build.gradleファイルをプロジェクトの外、個別アプリのフォルダを作って保存しておきます*1
UnityのProjectSettingのAndroidの項目のPublishingSettingのCustomMainManifestとCustomLauncherGradleTempleにチェックを入れます。
そうするとプロジェクトのAseets/Plugins/Androidというフォルダに
AndroidManifest.xml
launcherTemplate.gradle
というファイルが生成されます。
AndroidManifest.xmlをテキストビューワーで開き、package部分を別アプリとして登録する予定のProjectSettingのCompanyNameとProfuctNameで設定した文字列と同じに書き換えます(XXXとYYYの部分)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.XXX.YYY"
・・・
次にlauncherTemplate.gradleもテキストビューワーで開き、先ほど*1で保存したbuild.gradleの内容を全てコピーしてlauncherTemplate.gradleに上書きペーストします。さらにdefaultConfig内のapplicationIdを先ほどのPackageと同じ文字列にします。
defaultConfig {
applicationId 'com.XXX.YYY'
・・・
BuildSettingのExportProjectのチェックを外してビルドすると、別なアプリとしてインストールが可能になります。
次に同じプロジェクトで別なアプリを登録したい場合はその都度ビルド前にAndroidManifest.xmlのPackageとlauncherTemplate.gradleのapplicationIdを書き換えます。