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

Source: https://habr.com/ru/post/J133797/


All Articles