やりたいこと
toB向けのアプリを開発していると、Androidの仕事用プロファイルとして起動した時のみに発生するバグに遭遇したりして、仕事用プロファイルでデバッグをしたい時があります。
事前準備
adbのパスを通す
前提として、adbのパスを通しておきましょう。
Qiitaのこの記事を参考にすると良いと思います。
ターミナルにadbのパスを通す(Mac)
デバイスに仕事用プロファイルを設定する
そもそも実機に仕事用プロファイルが設定されていないと、アプリを仕事用プロファイルとしてインストールすることができません。
まずGoogleのドキュメントを参考にして、お手持ちのデバイスに仕事用プロファイルを追加しましょう。
一旦実機で実行する
仕事用プロファイルをアプリに入れたら、実機で実行してしまいましょう。
仕事用プロファイルが入っている状態で実行をすると、自分の個人用と仕事用プロファイルでどちらにもアプリが端末にインストールされるはずです。
個人用プロファイルにしかインストールされない場合、、、
- 個人用のアプリを消して再度実行
-
Run/Debug Configurationsの
Install for all users
にチェックを入れる
の上記2点を確認してみてください
後者のInstall for all users
は下の画像のようになっていればOKです。
ユーザーIDを調べる
仕事用プロファイルの入った実機をPCに繋いだ状態でターミナルで以下のコマンドを打ちます
adb shell pm list users
すると結果として以下のように返ってくると思います
UserInfo{0:Drew:13} running
UserInfo{10:Work profile:30} running
仕事用プロファイルが正しく作用しているデバイスであれば、2つのUserInfo
が取得できるはずです。
仕事用プロファイルに当たるUserInfoは後者にあたります。
欲しいユーザーIDはここだと10
です。
ユーザーIDを指定してデバッグする
デバッグ対象のユーザーIDがわかったら、ユーザーIDを指定してデバッグが可能になります。
AndroidStudioのツールバーの『Run > Edit Configurations』を選択します。
Run/Debug Configurationのウィンドウが開いたら、Launch OptionsのLaunch Flagsに以下の文言を入力します。
--user 10
--user
の後ろにはそれぞれの仕事用プロファイルのユーザーIDを入力してください。
これで実機デバイスで実行すれば、デバッグが仕事用プロファイルの方で行われるようになります。