Closed9

実機でデバッグしながらAndroidアプリ開発。

若槻龍太若槻龍太

まずは実機デバッグの方法を確認。

Androidアプリを公開するフォーマットとして「AAB(Android App Bundle)」と「APK」がある。AABは公開のみを目的としており、APKはインストールかつ実行が可能な形式である。
https://developer.android.com/guide/app-bundle/faq

実機でデバッグしながらの開発はAPKを引き続き使えば良さそう。

若槻龍太若槻龍太

Android Studioでデフォルトで作成したアプリでAPKを実機で動かしてみる。

APKの生成

[Build > Build Bundles]

すぐに完了したっぽい。

違うこれじゃない。

正しくはこっち。

[APK]を選択して[Next]。

[Key store path]で[Create new]

パスワードが長すぎた

[Next]

[Create]

選択しなかったらエラーが出た。

選択して[Create]

若槻龍太若槻龍太

adbコマンドを使うならAPKの転送は不要だった。
https://developer.android.com/studio/command-line/adb

adb installをしようとしたらcommand not foundになる。

adb install ./AndroidStudioProjects/MyApplication/app/release/app-release.apk 
// zsh: command not found: adb

PATHを通す必要があった。

export PATH=$PATH:$HOME/Library/Android/sdk/platform-tools

https://coriander-tomita.hatenablog.com/entry/2019/01/24/013351

再度adb installをしようとしたらmore than one device/emulatorとなる。

adb install ./AndroidStudioProjects/MyApplication/app/release/app-release.apk
// adb: more than one device/emulator

Android Studioでのエミュレーターの起動と、実機の接続を同時にしているから。

デバイス一覧の取得。

adb devices -l
List of devices attached
R5CR31RFKEA            device usb:17825792X product:SC-52B model:SC_52B device:SC-52B transport_id:3
emulator-5554          device product:sdk_gphone64_arm64 model:sdk_gphone64_arm64 device:emu64a transport_id:1

-sオプションで実機のIDを指定してインストール実行。

adb -s R5CR31RFKEA install ./AndroidStudioProjects/MyApplication/app/release/app-release.apk

https://stackoverflow.com/questions/14654718/how-to-use-adb-shell-when-multiple-devices-are-connected-fails-with-error-mor

するとインストールできた。

アプリの起動もできた。

若槻龍太若槻龍太

adbにより実機にアプリがインストールされたら、Android Studioでのアプリの実行および停止操作は、エミュレーターではなく実機に対して行われるようになる。

若槻龍太若槻龍太

アンインストールする場合のコマンド。

adb -s R5CR31RFKEA uninstall ./AndroidStudioProjects/MyApplication/app/release/app-release.apk
Failure [DELETE_FAILED_INTERNAL_ERROR]

エラーになった。

USBケーブルの接続を物理的に外す。

するとエミュレーターの端末一覧から実機が消えた。

後は実機に残っているアプリを手動でアンインストールした。

若槻龍太若槻龍太

コードの変更を実機上のアプリに再インストールせずに反映させたい場合。

[Apply Change and Restart Activity]

反映された。

このスクラップは2023/02/05にクローズされました