Android端末のセットアップ
USB debuggingの有効化
Setting >> About Phone
下にスクロールして、「Build number」と書かれている部分を複数回タップします。
You are now a developer!
と表示され、Settingsに「Developer options」という項目が追加されますので、そこから「USB debugging」をOnに設定します。
PC(Linux)側のセットアップ
udev rulesの設定
rootでログインして、udev ruluesに使いたい端末の情報とデバッグするユーザーの情報を追加します。
# vi /etc/udev/rules.d/51-android.rules
# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="android"
GROUPはデバッグで使いたいユーザーの所属するグループです。
ATTR{idVendor}ばデバッグで使いたいAndroid端末のVendor IDを設定します。Vendor IDは公開されている情報を参照するか、lsusb
などのコマンドを使って確認できます。
$ lsusb
Bus 001 Device 001: ID 18d1:**** Google Inc. Nexus 4 (debug)
udev rulesが設定できたらリロードします。
# udevadm control --reload-rules
デバッグ
後はプログラムをビルドして、デバッグしていきます。
ビルドとデバッグに必要なAndroid SDKは下記リンクよりダウンロードできます。
Installing the Android SDK | Android Developers
http://developer.android.com/sdk/installing/index.html
以下、よく使うコマンドをいくつかメモしておきます。
adb devices
接続されている端末の表示
$ adb devices
List of devices attached
01234567 device
adb start-server/adb kill-server
adb serverの実行
$ adb start-server
adb serverの停止
$ adb kill-server
apkのインストール
$ adb install bin/yourapp.apk
-r
オプションで上書きインストールできます。
$ adb install -r bin/yourapp.apk
adb logcat
ログの表示
$ adb logcat
-c
オプションでログ情報のクリアします。
$ adb logcat -c
タグを指定してフィルタリング
$ adb logcat -s "Tag"
screencap(おまけ)
screencap
を使うとコマンドラインからスクリーンキャプチャーを取得することができます。
$ adb shell screencap -p /sdcard/example.png
screenrecord(おまけ)
4.4 Kitkat以降のデバイスでは、screenrecord
コマンドを使って画面表示を動画で記録できます。
$ adb shell screenrecord /sdcard/example.mp4
記録した動画ファイルをPCへの転送はadb pull
で行えます。
$ adb pull /sdcard/example.mp4 /tmp/
Android端末の動画ファイルはshellのrm
コマンドで行えます。
$ adb shell rm -i /sdcard/example.mp4
リンク
Using Hardware Devices | Android Developers
http://developer.android.com/tools/device.html
Android Debug Bridge | Android Developers
http://developer.android.com/tools/help/adb.html
関連記事
LinuxにAndroid端末を接続してMTPでファイル転送
LinuxにAndroid端末をUSB接続してファイル転送(MTP)を使いたい場合「MTPfs」というツールが使えます。
インストール(Gentoo Linux)
# emerge --ask --verbose mtpfs
使い方
マウント
# mtpfs /mnt/mount_point
アンマウント
# fusermount -u /mnt/mou...