Chromebookで動作するAndroidアプリにadbを接続する方法

  • 16
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

ChromebookでAndroidアプリが動くようになりました。2016/7月現在対応端末はAsus Chromebook flipのみですが、年内には対応端末が増えるとアナウンスされています。

ChromebookでAndroidアプリを動作させる場合、ほとんどの場合問題なく動作します。が、OSが違うということもあり、独自の対応が必要になってくる場合も増えてくると思います。

ということで、ChromebookのAndroidコンテナにadbを通す方法を調べました。

(本稿はAndroid開発とWindowsの使い方とLinuxの使い方が大体分かってる人向きです)

Chromebook flipを入手する

国内では2GBモデルが¥34000ぐらいです。ちょっとしたAndroidタブレットよりもずっと安いので皆でガンガン買いましょうw

https://www.amazon.co.jp/%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3-Chromebook-C100PA-RK3288-%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%8D%E3%83%AB-10-1%E3%82%A4%E3%83%B3%E3%83%81/dp/B015W23ZW0/ref=sr_1_1?ie=UTF8&qid=1467715551&sr=8-1&keywords=Chromebook+flip

Androidアプリが動くようにする

2016/7月現在、devチャネルで配布されているM53でしかAndroidアプリは動作しませんので、以下のリンクを参考にアップデートしてください。

https://ischool.co.jp/2016-06-18/
https://support.google.com/chromebook/answer/1086915?hl=ja

M53以降にアップデートすると、OS起動時にGoogle Playが自動的に入るのでサインインします。
サインイン出来たら、自分のアプリをインストールして動作確認しましょう。
(うまくサインイン出来ない例が報告されています)

Developerモードに切り換える

デバッグ出来るようにするためには、ChromebookをDeveloperモードに切り換える必要があります。これはつまりAndroidで言うところのBootloader Unlockなので、ここから先はメーカー保証のサポート外の行為になります。
メーカー保証が大事な方はここから先には進まないでください。

https://www.chromium.org/chromium-os/poking-around-your-chrome-os-device#TOC-Putting-your-Chrome-OS-Device-into-Developer-Mode

最初に上記リンク先を上から下までちゃんと読んでください。

flipをdeveloperモードに切り換えるには、以下のページを参照してください。
http://take-root.net/gadgets/chromebook-developer-mode/

Developerモードに切り換える時にPowerWash(システムの初期化)が行われるので、先にユーザーデータのバックアップは取っておきましょう。

Developerモードで何が出来るの?

ちょっと脱線。

  • OSの書き換えが出来ます(本稿では触れません)
  • ChromeOSのシェルが使えます(root権限で)
  • androidのシェルが使えます(root権限で)
  • androidアプリのサイドロード(Google Play以外のソースからのapkインストール)が出来ます

Developerモードで覚えておくこと

ctrl-alt-[=>](F2キー)でシェル画面に切り換え (VT2=virtual terminal 2と呼びます)
ctrl-alt-[<=](F1キー)でGUI画面に切り換え
Chrome上でctrl-alt-tでcrosh(シェルもどき)起動


VT2のログインアカウントは chronos / passなし または、root / test0000


androidのシェルを呼び出す。(adb shellしたような状態)

$ sudo android-sh

androidのシェルでコマンド実行。

$ sudo android-sh -c 'command line'

ChromeOS/Androidコンテナ共にroot権限が取れるので、セキュリティ的には凄くヤバイ状態です。運用には気をつけましょう。

adbのつなぎ方(公式)

以下のリンク先に書かれています。
http://www.chromium.org/chromium-os/android-apps

adbのつなぎ方(非公式)

Windowsではそのままでは使えないので、アレンジしました。
(2016/7/25追記 アップデートで手順が簡単になったので、以下公式を日本語で説明したものとなります)

(この後の記述では、特記しない場合VT2にchronosでログインした状態とします)

まず、diskへの変更を可能にします。(vt2)

$ sudo /usr/libexec/debugd/helpers/dev_features_rootfs_verification
$ sudo reboot

ここで一旦再起動されます。

次にsshを有効化します。(vt2)

$ sudo /usr/libexec/debugd/helpers/dev_features_ssh

次にAndroidコンテナでadbdを起動します。

GUI画面右下の時計パネル→設定を開き、Androidアプリ→設定をクリックします。

chromesettings.png

すると、Androidコンテナの設定アプリが開きます。
いつものように、端末情報→ビルド番号を7回叩いて開発者向けオプションを出し、USBデバッグを有効にします。

ホストPC上からadbを接続します。

C:\> adb kill-server
C:\> adb connect <ChromebookのIPアドレス>:22

(ChromebookのIPアドレスはifconfigコマンドで分かります)

adb connectでエラーが出なければOKです。

C:\> adb devices

を実行すると、Android設定アプリ上でRSAフィンガープリントの確認画面が表示されるので、チェックボックスにチェックを入れて、OKを押します。

後は普通のAndroidデバッグと同様にadbコマンドが使えるようになります。
再接続時は以下の様にします。

C:\> adb kill-server
C:\> adb connect <ChromebookのIPアドレス>:22

Chromebookに最適化してね!

デバッグ出来るようになったらこっちのものなので、一つでも多くのアプリをChromebook対応していきましょう!

最後に

Chromebookはいいぞ