안드로이드 애플리케이션을 실행하기 위해 Genymotion 을 사용하고 있습니다. 아무도 Genymotion 에서 스크린 샷을 캡처하는 방법을 말해 줄 수 있습니까?
안드로이드 애플리케이션을 실행하기 위해 Genymotion 을 사용하고 있습니다. 아무도 Genymotion 에서 스크린 샷을 캡처하는 방법을 말해 줄 수 있습니까?
답변:
면책 조항 : 저는 Genymotion 팀과 같은 회사에 속해 있습니다.
이 기능은 제품에 포함되어 있습니다. 스크린 캐스트 위젯의 유료 기능 중 하나입니다. 여기에서 가격 페이지를보십시오 .
액세스하는 두 가지 방법 :
VM이 시작되면 스크린 캐스트 위젯을 엽니 다.
그런 다음 전용 버튼으로 사진을 찍습니다
업데이트 : 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
터미널에 입력 하고 다운로드 디렉토리에서 현재 실행중인 에뮬레이터의 스크린 샷을 얻을 수 있습니다 .
adb server is out of date. killing...
시도 할 때 오류 가 발생했습니다. 나는 adb
Genymotion에 포함 된 것을 사용하여 그것을 고쳤습니다 :/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
다음 명령을 사용하십시오.
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
adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
adb pull
를 실제로 쓰기 권한이있는 디렉토리로 변경하여 제대로 작동하는지 확인하는 것이 좋습니다. 그렇지 않으면 매우 간단하고 우아한 솔루션, 감사합니다!
error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
아래에 설명 된 바로 가기 키를 누르십시오.
Windows : Ctrl + Shift + S
맥 : Cmd + Shift + S
데스크탑에서 스크린 샷을 찾을 수 있습니다.
동영상도 무료로 찍을 수 있다고 생각합니다. Genymotion은 VirtualBox를 사용하여 거의 모든 무거운 작업을 수행하므로 VirtualBox를 열고 그 안에서 무엇을 할 수 있는지 살펴 봐야합니다.
Virtualbox에서 비디오 캡처 옵션을 찾을 수 있습니다!
Oracle VM VirtualBox Manager
Windows 7에서 열
Mac이 느리고 Eclipse와 에뮬레이터를 함께 실행하는 것이 싫다면 더 빠른 방법입니다.
이것은 느린 컴퓨터를 사용하는 사람들에게 좋은 옵션입니다.
@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에서 View> Tool Windows> Logcat을 선택하여 Logcat을 엽니 다. 창 상단의 드롭 다운에서 장치와 프로세스를 선택합니다. 창 왼쪽에있는 화면 캡처를 클릭합니다. 스크린 샷 편집기 창에 스크린 샷이 나타납니다.
Genymotion 에뮬레이터에서도 작동합니다.