Androidアプリケーションを実行するためにGenymotionを使用しています。 Genymotionでスクリーンショットをキャプチャする方法を教えてもらえますか?
免責事項:私はGenymotionチームと同じ会社の一員です。
この機能は製品に含まれています。これは、スクリーンキャストウィジェットの有料機能の1つです。 こちらの価格設定ページをご覧ください 。
アクセスする2つの方法:
VMが起動したら、スクリーンキャストウィジェットを開きます
次に、専用ボタンで写真を撮ります
UPDATE:Android Device Monitor または コマンドライン を使用してスクリーンショットを撮る別の方法があります=
Android StudioまたはEclipseを使用している場合は、Android DDMSの[スクリーンキャプチャ]ボタンをクリックするだけです。
Adbを使用して、コマンドラインからスクリーンショットを取得できます。
adb Shell screencap -p | Perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
この記事の詳細: http://blog.shvetsov.com/2013/02/grab-Android-screenshot-to-computer-via.html
生活を楽にするために、.bash_profileでエイリアスを作成しました。
alias screenshot="adb Shell screencap -p | Perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/Android_screenshot.png"
ターミナルでscreenshot
と入力すると、ダウンロードディレクトリで現在実行中のエミュレータのスクリーンショットを取得できます。
次のコマンドを使用します。
Windows:
C:\"Program Files"\Genymobile\Genymotion\tools\adb Shell screencap -p "/mnt/sdcard/output.png" && C:\"Program Files"\Genymobile\Genymotion\tools\adb pull "/mnt/sdcard/output.png" "C:\output.png" && C:\"Program Files"\Genymobile\Genymotion\tools\adb Shell rm "/mnt/sdcard/output.png"
C:\output.png
への書き込み権限があることを確認してください。それ以外の場合は、任意のパスに変更します。OS X:
/Applications/Genymotion.app/Contents/MacOS/tools/adb Shell screencap -p | Perl -pe 's/\x0D\x0A/\x0A/g' > ~/Desktop/Android_Screenshot_$(date +%Y-%m-%d-%H-%M-%S).png
動画も無料で撮れると思います。 GenymotionはVirtualBoxを使用してほとんどすべての面倒な作業を行うため、VirtualBoxを開いてその中でできることを確認する必要があります。
Virtualboxには、ビデオをキャプチャするオプションがあります!
Mac:Cmd + Shift + S
Windows : Ctrl+Shift+S
Mac : Cmd+Shift+S
You can find your screenshots at desktop
adb Shell screencap -p /sdcard/screen.png
お使いのMacが遅く、Eclipseとエミュレーターを一緒に実行するのが嫌いな場合は、こちらの方が簡単です。
これは、低速のコンピューターを使用する場合に適したオプションです。
Eclipseを使用している場合、任意のタイプのエミュレーターの手順に従います。1. DDMSを選択します。2. DDMSの[デバイス]ウィンドウで、Genymotionデバイスを選択します。
LinuxおよびWindowsの場合(Windowsでgitbashを使用しました)adb Shell screencap -p | sed 's/\r$//' > screen.png
Macの場合adb Shell screencap -p | Perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
@Reckによると、Genymotionの実装にはバグがあるため、2.3.7でスクリーンショットを撮ることはできません。これは、Android Studio/DDMSが適切なピクセルを取得できないことを意味します。 adb Shell screencap
は、screencap
コマンドがないと言います。
コードにアクセスできると仮定すると、このメソッドを呼び出すことができます。
public static void screenshot(View view) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
view.draw(new Canvas(bitmap));
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
try {
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
storageDir.mkdirs();
File file = File.createTempFile(timeStamp, ".png", storageDir);
bitmap.compress(Bitmap.CompressFormat.PNG, 0, new FileOutputStream(file));
Log.i("SCREENSHOT", "adb pull " + file);
} catch (IOException e) {
Log.e("SCREENSHOT", "Cannot save screenshot of " + view, e);
}
}
活動中:
screenshot(getWindow().getDecorView());
フラグメント内:
screenshot(getActivity().getWindow().getDecorView());
私が知っている唯一の制限は、ステータスバーが含まれないことです。
スクリーンショットを撮る
多くのAndroidデバイスでは、キーの組み合わせでスクリーンショットをキャプチャできます。電源と音量を同時に押し続けます。次のようにAndroid Studioでスクリーンショットをキャプチャすることもできます。
接続されたデバイスまたはエミュレーターでアプリを実行します。接続されたデバイスを使用する場合は、USBデバッグを有効にしてください。 Android Studioで、[表示]> [ツールウィンドウ]> [Logcat]を選択してLogcatを開きます。ウィンドウ上部のドロップダウンからデバイスとプロセスを選択します。ウィンドウの左側にある[スクリーンキャプチャ]をクリックします。スクリーンショットエディタウィンドウにスクリーンショットが表示されます
Genymotion Emulatorでも動作します
macを使用している場合は、CMD + Shift + 4(OSXで選択した部分のスクリーンショット)で、シミュレーター領域を選択するだけで十分な場合があります:)