Version: Unity 6.0 (6000.0)
言語 : 日本語
Android デバイスでのパフォーマンスデータの収集
Android 向けの最適化

アプリケーションへのパッチ適用

Android 向けアプリケーションのビルドには、かなりの時間を要する場合があります。開発中のイテレーションを迅速に行うために、アプリケーションパッケージをリビルドする代わりにパッチを適用することができます。アプリケーションパッケージにパッチを適用すると、前回のパッチ以降に変更が加えられたファイルのみが処理され、接続された Android デバイスに送信されます。

アプリケーションへのパッチ適用方法

アプリケーションへのパッチの適用は、Unity エディターで行えます。独自のビルドパイプラインを実装する場合は、スクリプティング API を使用して行うことができます。

アプリケーションへの初回のパッチ適用時には、Unity がデバイス上にパッチ適用環境を設定します。このため、初回のパッチには、将来のパッチよりも長い時間を要します。

エディターから適用する

Unity エディターからアプリケーションにパッチを適用する場合は、以下の手順に従ってください。

  1. Build Settings ウィンドウを開きます (メニュー: File > Build Settings)。
  2. Platform リストから Android プラットフォームを選択します。
  3. Development Build を有効にします。
  4. Patch を選択するか、Unity がパッチのビルドを終了した後にパッチを実行する場合は Patch And Run を選択します。
Android Build Settings ウィンドウ。
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-files ディレクトリにリダイレクトします。

Build & Run ではパッチファイルは一切消去されません。代わりに APK のインストールが置き換えられます。これにより pram-shadow-files ディレクトリへのリダイレクトが無効になります。これは、後続のパッチビルドが、変更されていないファイルを再使用できることを表します。

パッチファイルの消去

アプリケーションのキャッシュの消去は Android のストレージ設定を使用して行えます。キャッシュを消去すると、アプリケーションのパッチのビルドプロセスでインストールされたパッチファイルが削除されます。

アプリケーションのキャッシュを消去する手順は各 Android デバイスで異なります。使用しているデバイスでの手順は、以下の方法で確認してください。

  1. デバイスメーカーのヘルプを参照します。
  2. 使用しているデバイスのメーカーを確認し、メーカーのサポートウェブサイトへのリンクを辿ってください。
  3. サポートウェブサイトで、アプリケーションのキャッシュを消去する手順を検索してください。
Android デバイスでのパフォーマンスデータの収集
Android 向けの最適化