Chụp ảnh màn hình trong GenyMotion


Câu trả lời:


40

Tuyên bố từ chối trách nhiệm: Tôi thuộc cùng một công ty với nhóm Genymotion.

Tính năng này được bao gồm trong sản phẩm. Đây là một trong những tính năng trả phí của tiện ích phát màn hình. Xem trang giá ở đây .

Hai cách để truy cập nó:

  • trả tiền cho giấy phép chuyên nghiệp hoặc indie
  • sử dụng phiên bản dùng thử, nó cung cấp cho bạn các tính năng độc lập. Cẩn thận , chỉ còn một ngày dùng thử: - /

Sau khi máy ảo của bạn được khởi động, hãy mở tiện ích phát màn hình

nhập mô tả hình ảnh ở đây

Sau đó, chụp ảnh bằng nút chuyên dụng

nhập mô tả hình ảnh ở đây

CẬP NHẬT: Bạn có dưới đây các cách khác để chụp ảnh màn hình bằng Trình theo dõi thiết bị Android hoặc dòng lệnh


1
Cảm ơn bạn rất nhiều vì nhận xét của bạn
kavie

2
Cảm ơn dya. Thông thường, trên StackOverflow, nếu câu trả lời giải quyết được vấn đề của bạn, bạn phải đánh dấu nó là đã giải quyết thay vì ủng hộ như bạn đã làm.
eyal-lezmy

193

Nếu bạn đang sử dụng Android Studio hoặc Eclipse, bạn chỉ cần nhấp vào nút "Chụp màn hình" trong Android DDMS:

nhập mô tả hình ảnh ở đây


2
Điều này cũng hoạt động trong Eclipse và không chỉ trong Android Studio. Chỉ cần chuyển sang DDMS và nhấp vào biểu tượng máy ảnh với thiết bị phù hợp được chọn.
X.X_Mass_Developer

4
Điều này sẽ không hoạt động cho các thiết bị 2.3.7 trên Genymotion vì hiện có một lỗi trong việc triển khai framebufer của chúng. Chỉ là FYI.
Reck

Có lối tắt nào cho việc này không?
LiangWang

nếu nó cho thấy lỗi mà không thể kết nối với thiết bị chỉ khởi động lại Android Studio :)
Choletski

52

Bạn có thể sử dụng adb để lấy ảnh chụp màn hình từ dòng lệnh:

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

Bài viết này có các chi tiết: http://blog.shvetsov.com/2013/02/grab-android-screenshot-to-computer-via.html

Để làm cho cuộc sống của tôi dễ dàng hơn, tôi đã tạo một bí danh trong .bash_profile:

alias screenshot="adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png"

Bây giờ tôi có thể nhập screenshotTerminal và nhận được ảnh chụp màn hình của trình giả lập hiện đang chạy trong thư mục Tải xuống của tôi.


3
Trên máy Mac, tôi đã gặp adb server is out of date. killing...lỗi khi thử điều này. Tôi cố định nó bằng cách sử dụng adbbao gồm trong Genymotion:/Applications/Genymotion.app/Contents/MacOS/tools/adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > ~/Downloads/android_screenshot.png
cgenco

Đẹp! Hoạt động tuyệt vời!
sdfsdf

tuyệt nên tôi không cần nâng cấp giấy phép genymotion của mình: cry:!
liu pluto

Đây là câu trả lời ở cấp độ CHUYÊN NGHIỆP, cảm ơn! Cũng giống như một bản cập nhật, trên Mac OSX nó hiện đang làm việc với lệnh: screenshot alias = "adb shell screencap -p> ~ / Downloads / android_screenshot.png"
Juangui Jordán

1
Tôi muốn làm cho cái tên trở nên độc đáo bằng cách thêm dấu thời gian: alias screenshot = '/ 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 '
Musa almatri,

24

Sử dụng các lệnh này:

  • Các cửa sổ:

    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"
    
    • Lưu ý: Đảm bảo rằng bạn có quyền viết thư tới C:\output.png; nếu không, hãy thay đổi nó thành bất kỳ con đường nào bạn thích.
  • 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
    

1
Với những thay đổi nhỏ, nó đang làm việc cho tôi:adb shell screencap -p "/mnt/sdcard/output.png" && adb pull "/mnt/sdcard/output.png" . && adb shell rm "/mnt/sdcard/output.png"
manikanta

Tôi tin rằng người dùng bình thường trên Windows không có quyền ghi trực tiếp vào "C: \", vì vậy tốt hơn bạn nên thay đổi vị trí đích của adb pullthư mục thành thư mục mà bạn thực sự có quyền ghi, để đảm bảo điều này hoạt động. Nếu không, giải pháp khá đơn giản và thanh lịch, cảm ơn!
SaAtomic

1
Cảm ơn bạn, @SaAtomic, tôi đã chỉnh sửa câu trả lời của mình với một ghi chú.
gabrielmaldi

error: cannot connect to daemon: cannot connect to 127.0.0.1:5037 (10061)
JCarlosR

13
  1. Chọn trình mô phỏng genymotion
  2. Nhấn phím tắt mô tả bên dưới

    • Windows: Ctrl + Shift + S

    • Máy Mac: Cmd + Shift + S

  3. Bạn có thể tìm thấy ảnh chụp màn hình của mình trên máy tính để bàn


1
Nó hoạt động nhưng không thể lưu ảnh chụp màn hình trong máy tính để bàn. Nó được lưu trong C: / Users / ~ Tên đăng nhập ~ / ~ Tên AVD ~ / Screenshot-datetimestamp.png
Mohamed Mohaideen AH

1
Cho mac nó phụ thuộc vào đường dẫn thư mục ảnh chụp màn hình của bạn, mặc định là máy tính để bàn
Iliyass Hamza

Cảm ơn vì gợi ý! Nó hoạt động ngay cả với phiên bản miễn phí của Genymotion 2.8.0 (Windows) :)
AntonK

11

Tôi nghĩ bạn cũng có thể quay video miễn phí. Genymotion sử dụng VirtualBox để thực hiện hầu hết mọi công việc nặng nhọc, vì vậy bạn nên mở VirtualBox và xem bạn có thể làm gì trong đó.

Bạn sẽ tìm thấy các tùy chọn trong Virtualbox để quay video! nhập mô tả hình ảnh ở đây


Tôi mở Oracle VM VirtualBox Managertrên Windows 7 và có vẻ gì như của bạn ...
TWiStErRob

Tôi vừa cài đặt VirtualBox trên Win7 và nó trông giống như thế này đối với tôi. i.imgur.com/XKqlFW2.jpg
TrophyGeek

Đó là một "linux", bạn có các tùy chọn tương tự cho Genymotion Android không? (Có lẽ nó chỉ hoạt động trên Android 4, tôi đã cố gắng 2.3.7)
TWiStErRob

1
bạn đã thử cái này chưa Đối với VirtualBox trên debian, nó chỉ ghi lại các thông điệp nhân của thiết bị Android.
dols

Bạn không thể khởi động thiết bị genymotion trực tiếp từ virtualBox. Giải pháp này không hoạt động.
Daniele


5

Nếu máy Mac của bạn chạy chậm và bạn ghét chạy Eclipse và trình giả lập cùng nhau thì đây là cách nhanh hơn.

  1. Xuất apk của bạn.
  2. Khởi động Genymotion.
  3. Kéo apk vào trình giả lập để cài đặt nó.
  4. Đi tới 'android-sdk-macosx> công cụ> ddms'.
  5. Chạy tệp đó.
  6. Một phiên bản ddms mới sẽ được bắt đầu. Không giống như Eclipse, nó không làm chậm hệ thống của bạn.
  7. Sử dụng tùy chọn 'Trình đơn> Thiết bị> Ảnh chụp màn hình' để chụp ảnh màn hình.

Đây là một lựa chọn tốt cho những người sử dụng máy tính chậm.


3

Nếu bạn đang sử dụng Eclipse, hãy làm theo các bước cho bất kỳ loại trình giả lập nào: 1. Chọn DDMS 2. Trong cửa sổ Devices của DDMS, chọn thiết bị Genymotion 3. Nhấp vào biểu tượng Máy ảnh rồi lưu nó vào vị trí cụ thể. Trong cửa sổ Thiết bị, chỉ cần nhấp vào biểu tượng Máy ảnh.  Tôi đã đánh dấu nó theo vòng tròn ở đây


2

Đối với Linux và Windows (Tôi đã sử dụng gitbash trên windows) adb shell screencap -p | sed 's/\r$//' > screen.png Đối với Mac adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png


0

@Reck cho biết có một lỗi trong quá trình triển khai Genymotion nên chúng tôi không thể chụp ảnh màn hình trên 2.3.7. Điều này có nghĩa là Android Studio / DDMS không thể nhận được các pixel thích hợp. adb shell screencapnói rằng không có screencaplệnh.

Giả sử bạn có quyền truy cập vào mã, bạn có thể chỉ cần gọi phương thức này:

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);
    }
}

Đang hoạt động:

screenshot(getWindow().getDecorView());

Trong mảnh:

screenshot(getActivity().getWindow().getDecorView());

Hạn chế duy nhất mà tôi biết là nó sẽ không bao gồm thanh trạng thái.


0

nếu bạn sử dụng Mac, đôi khi CMD + Shift + 4 (ảnh chụp màn hình của một phần được chọn trong OSX) và sau đó chọn vùng mô phỏng là đủ :)


0

Chụp màn hình

Trên nhiều thiết bị Android, bạn có thể chụp ảnh màn hình bằng tổ hợp phím: Nhấn và giữ đồng thời Nguồn và Giảm âm lượng. Bạn cũng có thể chụp ảnh màn hình bằng Android Studio như sau:

Chạy ứng dụng của bạn trên thiết bị được kết nối hoặc trình mô phỏng. Nếu sử dụng thiết bị được kết nối, hãy đảm bảo rằng bạn đã bật gỡ lỗi USB. Trong Android Studio, chọn View> Tool Windows> Logcat để mở Logcat. Chọn thiết bị và một quy trình từ menu thả xuống ở đầu cửa sổ. Nhấp vào Chụp màn hình ở phía bên trái của cửa sổ. Ảnh chụp màn hình xuất hiện trong cửa sổ Trình chỉnh sửa ảnh chụp màn hình

Nó hoạt động cho cả Trình giả lập Genymotion

Kiểm tra ở đây để biết thêm thông tin

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.