仮想マシンでルートなしでAndroid 2.3.3以下のスクリーンショットを撮ります

追加のツールや操作なしでスクリーンショットを撮る機能は、バージョン2.3.4からのみAndroidに登場しました。 Android 2.3.3以前の場合、ネイティブのスクリーンショット機能はありません。 この目的のための市場からのすべてのアプリケーションにはルートが必要です。 (私が知っているものから)ルートなしで「古い」バージョンのAndroidを搭載したデバイスのスクリーンショットを撮る唯一の方法(別のデバイスで電話を撮影することを検討していない場合)は、Android SDKのDDMS(デバッグモニター)を使用してこれを行うことです



この記事では、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の更新を奪われた携帯電話のスクリーンショットを撮ることができます。 これを行うには、リストでデバイスをクリックしてデバイスを選択し、[デバイス]メニューから[スクリーンキャプチャ]を選択します。










All Articles