アプリケーションへのパッチ適用
Perform an application patch, rather than a full build, to increase iteration speed.
読み終わるまでの所要時間 7 分最終更新 1ヶ月前
Android 向けアプリケーションのビルドには、かなりの時間を要する場合があります。開発中のイテレーションを迅速に行うために、アプリケーションパッケージをリビルドする代わりにパッチを適用することができます。アプリケーションパッケージにパッチを適用すると、前回のパッチ以降に変更が加えられたファイルのみが処理され、接続された Android デバイスに送信されます。
アプリケーションへのパッチ適用方法
アプリケーションへのパッチの適用は、Unity エディターで行えます。独自のビルドパイプラインを実装する場合は、スクリプティング API を使用して行うことができます。
アプリケーションへの初回のパッチ適用時には、Unity がデバイス上にパッチ適用環境を設定します。このため、初回のパッチには、将来のパッチよりも長い時間を要します。
エディターから適用する
Unity エディターからアプリケーションにパッチを適用する場合は、以下の手順に従ってください。
- Build Settings ウィンドウを開きます (メニュー: File > Build Settings)。
- Platform リストから Android プラットフォームを選択します。
- Development Build を有効にします。
- Patch を選択するか、Unity がパッチのビルドを終了した後にパッチを実行する場合は Patch And Run を選択します。

Android Build Settings ウィンドウ。
スクリプティング API を使用して適用する
独自のビルドパイプラインを実装する場合は、スクリプティング API を使用してアプリケーションにパッチを適用できます。これを行うには、BuildOptions.BuildScriptsOnly オプションと BuildOptions.PatchPackage オプションを BuildPipeline.BuildPlayer メソッドに渡します。
例:
BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity"};buildPlayerOptions.target = BuildTarget.Android;// Use Patch & Run for all builds for optimal turn-around times.// (In prior versions, an initial regular Build & Run was necessary.)buildPlayerOptions.options = BuildOptions.PatchPackage | BuildOptions.AutoRunPlayer | BuildOptions.Development;BuildPipeline.BuildPlayer(buildPlayerOptions);
アプリケーションへのパッチ適用の仕組み
アプリケーションへのパッチ適用時に、Unity は以下を実行します。
- すべてのコンパイル済み Java ソースを含んだ最小限の APK を作成します。
- 前回のパッチ以降に変更されたファイルを取得し、アプリケーションのキャッシュフォルダー内のディレクトリ に格納します。
/storage/emulated/0/Android/data/<PackageName>/pram-shadow-files/ - ネイティブライブラリファイル (Il2cpp を使用してコンパイルされたスクリプトを含む) をアプリケーションのデータディレクトリ に格納します。
/data/data/<PackageName>/pram-shadow-files/lib/
アプリケーションは、起動時に、APK 内にマーカーファイルがあるかどうかをチェックします。マーカーが存在する場合、アプリケーションはファイルの読み込みを ディレクトリにリダイレクトします。
pram-shadow-filesBuild & Run ではパッチファイルは一切消去されません。代わりに APK のインストールが置き換えられます。これにより ディレクトリへのリダイレクトが無効になります。これは、後続のパッチビルドが、変更されていないファイルを再使用できることを表します。
pram-shadow-filesパッチファイルの消去
アプリケーションのキャッシュの消去は Android のストレージ設定を使用して行えます。キャッシュを消去すると、アプリケーションのパッチのビルドプロセスでインストールされたパッチファイルが削除されます。
アプリケーションのキャッシュを消去する手順は各 Android デバイスで異なります。使用しているデバイスでの手順は、以下の方法で確認してください。
- デバイスメーカーのヘルプを参照します。
- 使用しているデバイスのメーカーを確認し、メーカーのサポートウェブサイトへのリンクを辿ってください。
- サポートウェブサイトで、アプリケーションのキャッシュを消去する手順を検索してください。