Android 向けアプリケーションの構築には、かなりの時間を要することがあります。開発中のイテレーションを迅速に行うために、アプリケーションパッケージを再構築する代わりにパッチを適用することができます。アプリケーションパッケージにパッチを適用すると、前回のパッチ以降に変更が加えられたファイルのみが処理され、接続された Android 端末に送信されます。
プラットフォーム | アプリケーションへのパッチ適用 |
---|---|
Android | サポートあり |
Chrome OS | サポートなし |
アプリケーションへのパッチの適用は、Unity エディターで行えます。独自のビルドパイプラインを実装する場合は、スクリプティング API を使用して行うことができます。
アプリケーションへの初回のパッチ適用時には、Unity がデバイス上にパッチ適用環境を構築します。このため、初回のパッチは、以降のパッチよりも時間が掛かります。
Unity エディターからアプリケーションにパッチを適用する場合は、以下の手順に従ってください。
If you implement your own build pipeline, you can use the scripting API to patch your application. To do this, pass the BuildOptions.BuildScriptsOnly and BuildOptions.PatchPackage options to the BuildPipeline.BuildPlayer method.
例:
BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity"};
buildPlayerOptions.target = BuildTarget.Android;
// ターンアラウンドタイムを最適化するために、すべてのビルドに Patch & Run を使用します。
// (以前のバージョンでは、最初に通常の Build & Run の使用が必要でした。)
buildPlayerOptions.options = BuildOptions.PatchPackage | BuildOptions.AutoRunPlayer | BuildOptions.Development;
BuildPipeline.BuildPlayer(buildPlayerOptions);
アプリケーションへのパッチ適用時に、Unity は以下を実行します。
/storage/emulated/0/Android/data/<PackageName>/pram-shadow-files/
) に格納します。/data/data/<PackageName>/pram-shadow-files/lib/
) に格納します。アプリケーションは、起動時に、APK 内にマーカーファイルがあるかどうかをチェックします。マーカーが存在する場合、アプリケーションはファイルの読み込みを pram-shadow-files
ディレクトリにリダイレクトします。
Build & Run ではパッチファイルは一切消去されません。その代わり APK のインストールが置き換えられます。これにより pram-shadow-files
へのリダイレクトが無効になります。これは、後続のパッチビルドが、変更されていないファイルを再使用できることを意味します。
アプリケーションのキャッシュの消去は Android のストレージ設定を使用して行えます。キャッシュを消去すると、アプリケーションのパッチのビルドプロセスでインストールされたパッチファイルが削除されます。
アプリケーションのキャッシュを消去する手順は各 Android 端末で異なります。使用している端末の手順は、以下の方法で確認してください。