この記事では、HTC Wildfire(Android 2.2)の例を使用して、Windows 7上のホストを持つVirtualBoxでUbuntu 11.10を搭載した仮想マシンにインストールされたAndroid SDKを構成し、USBに接続された実際のデバイスで動作する方法について説明します。
1. Android SDKをインストールします
リンクからLinux用SDKをダウンロードします。 たとえば、android-sdk_r15-linux.tgz。 ファイル名はバージョンによって異なります(r15)。 ここで、アーカイブからSDKを、たとえば/ optフォルダーなどの便利な場所に抽出する必要があります。 これを行うには、アーカイブファイルを右クリックし、コンテキストメニューで[ここに抽出]を選択します(Ubuntuの英語版の場合)。 その後、ターミナルで(Ctrl + Alt + T)コマンドを実行します
~$ sudo mv Downloads/android-sdk-linux /opt
Android SDKにはJDK(Java Development Kit)が必要です。 コマンドを使用してインストールします
~$ sudo apt-get install openjdk-6-jdk
おそらくJDK 7ではすべてが順調になりますが、 公式の要件に従います 。
Android SDK Managerを実行します
~$ /opt/android-sdk-linux/tools/android
接続されたデバイスを操作するために必要なADB(Android Debug Bridge)を含むAndroid SDK Platform-toolsをインストールします。
2. USBセットアップ
次に、仮想マシンをオフにし、VirtualBoxの設定でUSBフィルターを構成します(電話は「充電のみ」モードで接続する必要があります)。 [USB]セクションのマシンの設定で、緑色の十字が付いたアイコンを右クリックし、リストから電話を選択します。 ここで、今後必要になるベンダーIDを見つけることができます。
Ubuntuを起動します。 読み込み後、メニューVirtualBox Devices-> USB Devicesで、デバイスを選択します(仮想的に接続します)。
おそらくホスト(Windows 7)で、VirtualBoxに必要なUSBドライバーのインストールが開始されます。
その後、コマンドを使用してUbuntuで
~$ lsusb
接続されたUSBデバイスのリストを表示できます。 最後にリストされたID 0bb4:0c8b High Tech Computer Corp. -HTCデバイス。 この行からベンダーIDを見つけることもできます(0bb4の最初の4文字:0c8b)
USBデバイスへのアクセス権を構成します。 これを行うには、ルールを含むファイルを作成します。
~$ sudo touch /etc/udev/rules.d/51-android.rules ~$ sudo gedit /etc/udev/rules.d/51-android.rules
ルールを追加
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
0bb4は上記と同じベンダーIDです。 保存します。
次に、仮想マシンを再起動し、メニューVirtualBox Devices-> USB Devicesでデバイスを再接続します。
3.スクリーンショットを撮る
電話機で、USBデバッグモードを有効にする必要があります(設定->アプリケーション->開発)。 その後、DDMSを開始します
~$ /opt/android-sdk-linux/tools/ddms
デバイス名の代わりにDDMSウィンドウに「???????????????」のようなものが表示される場合、デバイスへのアクセス権に問題があります。 51-android.rulesファイルのルールを確認します。 デフォルトでは、デバイスはアクセスモード0664で動作します。これにより、ADB(Android Debug Bridge)は接続されたデバイスで正しく動作しなくなります。
すべてが上記のスクリーンショットのように見える場合、すべてが正常です。 これで、OSの更新を奪われた携帯電話のスクリーンショットを撮ることができます。 これを行うには、リストでデバイスをクリックしてデバイスを選択し、[デバイス]メニューから[スクリーンキャプチャ]を選択します。