
【Androidアプリ開発】5:ADBコマンドでクロームブックにapkファイルをインストールしてみる(Android Debug Bridge)
本記事の概要
概要
前回『APKファイル作成(野良アプリなどで使用)及び端末へのインストール』からの続きです。
今回は「ADBコマンドでクロームブックにapkファイルをインストールしてみる(Android Debug Bridge)」事に挑む。
ADB デバッグを有効にする
apkファイル作成自体は簡単(署名関連の.jksファイルも一度作れば使い回せる)だが、実機での展開が面倒でした。
そもそも、クロームブックってAndroidアプリを動かせるよね
つまり、スマホ端末でなく、クロームブック自体にapkファイルをインストールしてみたら❓って話なんですわ。
調べたら、ADB(Android Debug Bridge)なるコマンドラインツールがあるらしい。
なお、このADBはクロームブック対象というよりは、Android関連全体で使えるものである。
・Android Debug Bridge(adb)
・Chromebook でアプリをテストする
上記の2つは「ADB」という単語なのでちょっとややこしい。
まずクロームブック側だが「ADB デバッグを有効にする」必要がある。
【注意事項】
重要: ADB をオフにすると、Chromebook は初期状態にリセット(Powerwash)されます。保存したデータはすべて失われます。
一度、「ADB デバッグを有効にする」をすると、無効に戻した場合、クロームブックそのものが初期状態にリセットされるので要注意だ。

設定 → 詳細設定 → デベロッパー → Linux 開発環境
ここで「Android アプリの開発」をクリックします。

「ADB デバッグを有効にする」をオンにします。
戻ることは許されない『地獄への片道切符』👹

しかし、いざ往かん、apkファイル実行のために👣

再起動すると、このような画面になる

app/debug/app-debug.apk を早速ダブルクリックしてみる

Turn on Chrome OS Developer Mode to install apps from sources other than the PlayStore.
( PlayStore 以外のソースからアプリをインストールするには、Chrome OS 開発者モードをオンにします。 )
「ADB デバッグを有効にする」以外にクロームブック自体を「Developer Mode」にするようだ。
この「Developer Mode」はデーターが消えるだのセキュリティー面の問題など色んなリスクがある。
しかし以前と違い今は「Developer Mode」にしなくてもインストール出来るコマンドラインが用意されている、
… 、それが
ADBコマンドだ❗
ADBコマンド(Android Debug Bridge)
ADBコマンドは、Androidのデバイスと通信するためのコマンドラインツールとされている。
基本的にスマホ端末にアプリをインストールするのに使われるが、クロームブックの直下インストールに使うことも出来るのだ💡
$ sudo apt-get install android-sdk-platform-tools-common

ADBコマンドは、android-sdk-platform-tools をインストールすることで使えるようになる。
で、後から知ったのだが、Android Studioをインストールした時点で用意されているようなので、わざわざインストールの必要が無かったぽい。
まあ、いいか。
$ adb --help

取り敢えずヘルプを見ようとしたが、コマンドが無いと言われる。
おかしいな、パスが通っていないのかな❓
$ which -a adb

何故か見つからない。
android_sdk/platform-tools/ ディレクトリから adb devices を実行します。接続されていれば、デバイス名が「device」のリストに表示されます。
移動しなきゃいけない系の模様。
「 android_sdk/platform-tools/ 」 ディレクトリってどこにあるのだろうか❓
$ sudo find / -name "platform-tools" -type d

あったあった。
SDKにあるので、Android Studioをインストール時点であるっぽいですね。
ていうか、Linuxの場合
「 android_sdk/platform-tools/ 」 ではなく
「 Android/Sdk/platform-tools/ 」 のようですね。
$ ls -l /home/test/Android/Sdk/platform-tools

よしよし
$ Android/Sdk/platform-tools/adb --help

やっとadbが見つかった。
面倒なので、パスは通さない。たまにしか使わないし。
で、スマホ端末に転送インストールとかだと
#TCP/IP接続(ポート:5555)
$ adb tcpip 5555
#スマホ端末に接続
$ adb connect <スマホ端末のIP>:5555
#ADBの終了
$ adb kill-server
などが必要らしいが、クロームブック直下インストールなので、この辺りは要らない。
$ Android/Sdk/platform-tools/adb install /home/test/AndroidStudioProjects/MyApplication/app/debug/app-debug.apk
↑ 上記コマンド、何故か折返しがされないので、右スクロールで続きを見てください(若干長いです)

1回目は「adb: device offline」となるのですが、この時

何故か「USBデバッグ」許可ダイアログが出るんですよね。
で、「続行」押下して、再び adb install をすると
$ Android/Sdk/platform-tools/adb install /home/test/AndroidStudioProjects/MyApplication/app/debug/app-debug.apk
↑ 上記コマンド、何故か折返しがされないので、右スクロールで続きを見てください(若干長いです)

今度は「adb: device offline」が無く、成功します。

メニューに「My Application」のアイコンが追加されているぞ💡

メニューに「My Application」のアイコンが追加されているぞ💡

一度、「ADB デバッグを有効にする」にした場合、クロームブックにログインの際に
『このデバイスにはgoogleが確認していないアプリがインストールされている可能性があります』
と出るようになる。
このメッセージは、ADBデバッグを無効にすれば消えるが、クロームブックそのものが初期状態にリセットされてしまうのは先述の通りである。
著書
『 プログラマーにおくるAndroidアプリ開発の入門書 』
2024年6月時点での最新技術をぎっしりと詰め込んであるので、アプリ開発に参画するエンジニアの人は、是非ともご覧になって頂ければと思います📱