Android プレイヤーのコマンドライン引数を指定する
Specify startup command-line arguments to pass to Unity.
読み終わるまでの所要時間 4 分最終更新 1ヶ月前
カスタムの Unity アクティビティを拡張する使用例は、Android プレイヤーを起動する際にコマンドライン引数を渡すことです。使用可能なコマンドライン引数については、コマンドライン引数 を参照してください。
カスタムアクティビティで起動時のコマンドライン引数を指定するには、以下の手順を実行します。
- カスタムアクティビティを作成 し、アプリケーションのエントリーポイントとして設定します。
- カスタムアクティビティで、メソッドをオーバーライドします。
String UnityPlayerActivity.updateUnityCommandLineArguments(String cmdLine) - メソッド内で、引数を独自の起動引数と連結して、結果を返します。重要:
cmdLine引数は空の文字列または null である可能性があるため、コードがこれらの可能な値を処理できるように気を付けてください。cmdLine
以下の例は、現在のデバイスに基づいてグラフィックス API を選択するために、起動引数を指定する方法を示しています。
package com.company.product;import com.unity3d.player.UnityPlayerActivity;import android.os.Bundle;import android.os.Build;public class OverrideExample extends UnityPlayerActivity { private boolean preferVulkan() { // Use Vulkan on Google Pixel devices if (Build.MANUFACTURER.equals("Google") && Build.MODEL.startsWith("Pixel")) return true; else return false; } private String appendCommandLineArgument(String cmdLine, String arg) { if (arg == null || arg.isEmpty()) return cmdLine; else if (cmdLine == null || cmdLine.isEmpty()) return arg; else return cmdLine + " " + arg; } @Override protected String updateUnityCommandLineArguments(String cmdLine) { if (preferVulkan()) return appendCommandLineArgument(cmdLine, "-force-vulkan"); else return cmdLine; // let Unity pick the Graphics API based on PlayerSettings } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }}
コマンドライン引数を指定する他の方法
カスタムアクティビティ以外にも、次の方法でコマンドライン引数を指定できます。
- Android Studio: Android Studio でプロジェクトを開くと、Run/Debug Configurations ダイアログ の起動フラグを介して Unity に起動コマンドライン引数を渡すことができます。
- Android Debug Bridge (adb) 経由: 以下のコードを使用して、adb を介して Android アプリケーションを起動することで、コマンドライン引数を渡すことができます。
adb shell am start -n "<package_name>/<activity_name>" -e unity <command_line_arguments>
以下の例は、 コマンドライン引数をアプリケーションに渡す方法を示しています。
-systemallocatoradb shell am start -n "com.Company.MyGame/com.unity3d.player.UnityPlayerActivity" -e unity -systemallocator