LinuxでAndroidデバイスの実機を使ったデバッグの方法

Android統合開発環境仮想マシンのご利用者のために、参考までに https://developer.android.com/guide/developing/device.html を訳した物を書いて置きます。

以下は上記サイトを訳したものです。誤訳があれば info @ trail4you.comまでお知らせ頂けると幸いです。

実機を使ったデバッグの方法

モバイルアプリを構築する場合、ユーザにそれをリリースする前に実際のデバイス上で、 あなたのアプリを常にテストすることは重要です。

このページは、アンドロイド・デバイスをテストしデバッグするために、 開発環境やアンドロイド・デバイスをどのように設定するかについて説明します。

あなたのアプリを実行したり、デバッグしたり、テストしたりする環境として、 どのようなアンドロイド・デバイスでも使えます。

SDKに含まれたツール群が、あなたがコンパイルするごとに、 あなたのアプリをアンドロイド・デバイスにインストールし、起動することを助けてくれます。

Eclipse や ADBを使ったコマンドラインから、 アプリケーションをアンドロイド・デバイスに直接インストールすることができます。

まだアンドロイド・デバイスを持っていない場合は、 お近くのサービス・プロバイダーにどんなアンドロイド・デバイスが有るのか相談して下さい。

SIMロックされていない電話を望むなら、グーグル・Nexus Sも候補のひとつでしょう。

Nexus Sおよび他のアンドロイド・デバイスを購入する場所を見つけるには、 google.com/phone ( https://www.google.com/phone/detail/nexus-s ) を訪れてください。

注:アンドロイド・デバイス上で開発する場合、 実機用と異なる設定を成されたアプリをアンドロイド・エミュレータを使用して テストしている事を忘れないで下さい。 また、エミュレータは例えば加速度計のように、 アンドロイド・デバイスの全ての機能をテストする事は出来ませんが、 アプリケーションの機能が異なるバージョンのアンドロイド・プラットホームや 異なるスクリーンサイズ、オリエンテーション、等々で適切に動作するかを検証できます。

アンドロイド・デバイスの設定方法

アンドロイド・デバイスを使用して、 まるでエミュレータ上にいるかのごとく、アプリを開発したりデバッグしたり出来ます。

開始する前に幾つか設定が必要です。

  1. Android Manifestにあなたのアプリがデバッグ可能であることを記述してください。

    Eclipseを使用する場合、Eclipse IDEからあなたのアプリを直接実行することができ、 自動的にデバッギング可能に設定されますから、このステップをスキップすることができます。

    AndroidManifest.xml ファイルの中の, 要素に android:debuggable="true" を追加します。

    <application>
    android:debuggable="true"

    注:AndroidManifest.xml ファイルを手動でデバッグ可能にする場合は、 リリース用のビルドを行なう前に必ずデバッグ可能を削除してください。 (リリースされたアプリケーションは通常デバッグ可能であるべきではありません)

  2. アンドロイド・デバイス上で「USBデバッグ」を有効に設定する

    アンドロイド・デバイス上で Settings > Applications > Development and enable USB debugging へ移動して設定する。(Android 4.0 の場合 Settings > Developer options)

  3. あなたのシステムをアンドロイド・デバイスを認識するように設定する

    • ウィンドウズ上で開発しているなら、adbのためのUSBドライバをインストールする必要があります。

      インストール・ガイドおよびOEMドライバへのリンクについては、 各メーカーの USBドライバ・ドキュメントを参照してください。 ( https://developer.android.com/tools/extras/oem-usb.html )

    • Mac OS Xの上で開発しているなら、そのままで動作します。

      このステップをスキップしてください。

    • Ubuntuリナックス上で開発しているなら、 開発に使用したいデバイスタイプ毎のUSB構成情報を持った udev 規則ファイルを追加する必要があります。

      規則ファイルでは、ATTR{idVendor}プロパティによって指定される、 装置メーカー毎に決められたベンダーIDで識別されます。

      ベンダーIDのリストについては、下記のUSBベンダーIDを参照してください。

    • Ubuntuリナックス上で装置検知を設定する:

      1. rootとしてログインして、/etc/udev/rules.d/51-android.rules ファイルを作成してください。

        ファイルに各ベンダーを加えるためにこのフォーマットを使用してください:

        SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

        この例において、ベンダーIDはHTC向けです。

        MODE割り当ては読み取り/書き込み許可を指定します。 また、GROUPは、どのUnixグループがデバイスノードを所有するか定義します。

        注:ルールの記法は環境に依存して多少異なるかもしれません。

        必要に応じて udevのドキュメントを調べて下さい。

        ルールの記法の概要は https://www.reactivated.net/writing_udev_rules.html を見て下さい。

      2. 次のコマンドを実行します

        chmod a+r /etc/udev/rules.d/51-android.rules 
        

USBの上に差し込まれた時、SDKの platform-tools/ ディレクトリから adbデバイスを実行することで、デバイスが接続されることを確認することができます。

もし接続されれば、装置名が「装置」としてリストされるでしょう。

Eclipseを使用している場合は、通常通りアプリケーションを起動するかデバッグしてください。

利用可能なエミュレータや接続しているデバイスから選択するダイアログが表示されます。

アプリをインストールして実行したいデバイスを選択してください。

Android Debug Bridge(adb)を使用する場合、 接続しているデバイスをターゲットとするために-dフラグをつけてコマンドを実行することができます。

USBベンダーID

この表は、リナックス上でUSBデバイスのサポートを追加するために必要なベンダーIDの表です。

USBベンダーIDは、上に記述されたように、規則ファイル中のATTR{idVendor}プロパティに与えられる値です。

Company USB Vendor ID
Acer 0502
ASUS 0b05
Dell 413c
Foxconn 0489
Fujitsu 04c5
Fujitsu Toshiba 04c5
Garmin-Asus 091e
Google 18d1
Hisense 109b
HTC 0bb4
Huawei 12d1
K-Touch 24e3
KT Tech 2116
Kyocera 0482
Lenovo 17ef
LG 1004
Motorola 22b8
NEC 0409
Nook 2080
Nvidia 0955
OTGV 2257
Pantech 10a9
Pegatron 1d4d
Philips 0471
PMC-Sierra 04da
Qualcomm 05c6
SK Telesys 1f53
Samsung 04e8
Sharp 04dd
Sony 054c
Sony Ericsson 0fce
Teleepoch 2340
Toshiba 0930
ZTE 19d2