LinuxでAndroidアプリをデバッグする手順

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...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です