はじめに
adb shell am start で Android アプリを起動した時に指定された引数を解析する機能
「Uni Android Intent」を GitHub に公開しました
バージョン
- Unity 2018.3.11f1
使用例
adb shell am start ^
-n com.baba_s.uniandroidintent/com.unity3d.player.UnityPlayerActivity ^
--ei i 123 ^
--el l 456 ^
-e s ABC ^
--ez b true ^
--eia ia 111,223,343 ^
--ela la 444,555,666 ^
--esa sa AAA,BBB,CCC
adb shell am start を使用して、引数付きで Android アプリを起動した場合に
// int 型の値を取得 Debug.Log( UniAndroidIntent.GetInt( "i" ) ); // long 型の値を取得 Debug.Log( UniAndroidIntent.GetLong( "l" ) ); // string 型の値を取得 Debug.Log( UniAndroidIntent.GetString( "s" ) ); // bool 型の値を取得 Debug.Log( UniAndroidIntent.GetBool( "b" ) ); // int 型の配列を取得 foreach ( var n in UniAndroidIntent.GetIntArray( "ia" ) ) { Debug.Log( n ); } // long 型の配列を取得 foreach ( var n in UniAndroidIntent.GetLongArray( "la" ) ) { Debug.Log( n ); } // string 型の配列を取得 foreach ( var n in UniAndroidIntent.GetStringArray( "sa" ) ) { Debug.Log( n ); }
このようなコードで引数を解析して使用できます

adb shell am start の引数の指定方法
| 型 | 指定方法 |
|---|---|
| int | --ei 【引数名】 【引数の値】 |
| long | --el 【引数名】 【引数の値】 |
| string | -e 【引数名】 【引数の値】 |
| bool | --ez 【引数名】 【引数の値】 |
| int の配列 | --eia 【引数名】 【配列の値(カンマ区切り)】 |
| long の配列 | --ela 【引数名】 【配列の値(カンマ区切り)】 |
| string の配列 | --esa 【引数名】 【配列の値(カンマ区切り)】 |
用途
- 例えば、Jenkins などでアプリを自動ビルドした後に
そのアプリを Android 端末に自動でインストールして
さらに自動でエージングテストを実行することで、
ビルドしたアプリが正常に動作するかどうか確認する、といった場面で使用できます