Câu hỏi Chụp ảnh màn hình trong GenyMotion


tôi đang dùng Genymotion để chạy ứng dụng android. Bất kỳ ai có thể cho tôi biết cách chụp ảnh màn hình bằng Genymotion ?


75
2018-02-14 05:21


gốc


Xin đừng quên chọn câu trả lời! ;) - Ben Marten


Các câu trả lời:


Disclaimer: Tôi là một phần của 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. Nó là một trong những tính năng trả tiền của widget 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. Hãy cẩn thận, chỉ còn lại một ngày dùng thử: - /

Khi máy ảo của bạn được khởi động, hãy mở tiện ích screencast

enter image description here

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

enter image description here

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


33
2018-02-14 14:12



Cảm ơn bạn rất nhiều vì đã bình luận - kavie
Cảm ơn dya. Thông thường, trên StackOverflow, nếu một câu trả lời giải quyết vấn đề của bạn, bạn phải đánh dấu nó là giải quyết thay vì upvote như bạn đã làm. - eyal-lezmy
không còn miễn phí nữa - panchicore
Dưới đây là câu trả lời tốt nhất .. - İsmail Yavuz


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

enter image description here


190
2018-04-15 19:28



Đ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 đã chọn. - X.X_Mass_Developer
Điều này sẽ không làm việc cho 2.3.7 thiết bị trên Genymotion vì hiện tại có một lỗi trong việc triển khai framebufer của họ. Chỉ là FYI. - Reck
Có lối tắt nào cho việc này không? - Jacky
Đây sẽ là câu trả lời được chấp nhận. - Ashkan Sarlak
Đây là câu trả lời đúng ... cảm ơn - saeed


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ể gõ screenshot trong Terminal và nhận được ảnh chụp màn hình của trình mô phỏng hiện đang chạy trong thư mục Tải xuống của tôi.


50
2018-06-19 21:47



Trên máy Mac, tôi đã nhận được adb server is out of date. killing... lỗi khi thử điều này. Tôi đã sửa nó bằng cách sử dụng adb bao 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
giải pháp tuyệt vời! hoạt động như một nét duyên dáng .. - Mohammad Zekrallah
Tốt đẹp! Hoạt động tuyệt vời! - MiLeung
mát mẻ vì vậy tôi không cần phải nâng cấp giấy phép genymotion của tôi: khóc:! - liu pluto
Tôi thích làm cho tên duy nhất 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'> ~ / Máy tính để bàn / Android_Screenshot _ $ (ngày "+% Y-% m-% d-% H-% M" -% S) .png ' - Musa almatri


Sử dụng 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 bạn có quyền ghi vào 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
    

23
2018-02-05 16:32



cảm ơn, nó hoạt động. - Musa almatri
Cảm ơn rất nhiều!!! - GalloPinto
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 một 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 bạn nên thay đổi vị trí đích của adb pull vào một thư mục nơi 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
Cảm ơn bạn, @SaAtomic, tôi đã chỉnh sửa câu trả lời của mình bằng một ghi chú. - gabrielmaldi


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 như tất cả việc nâng hạng nặng, vì vậy bạn nên mở VirtualBox và xem những gì bạn có thể làm trong đó.

Bạn sẽ tìm thấy các tùy chọn trong Virtualbox để quay video! enter image description here


11
2018-02-18 22:18



Tôi đã mở Oracle VM VirtualBox Manager trên Windows 7 và có vẻ như không có gì giống của bạn ... - TWiStErRob
Tôi chỉ cần cài đặt VirtualBox trên Win7 và nó trông như thế này cho 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 Android Genymotion không? (Có thể nó chỉ hoạt động trên Android 4, tôi đã thử 2.3.7) - TWiStErRob
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 hạt 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


adb shell screencap -p /sdcard/screen.png


7
2018-02-01 10:21





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

  1. Xuất apk của bạn.
  2. Bắt đầu Genymotion.
  3. Kéo apk đến trình giả lập, để cài đặt nó.
  4. Đi tới 'android-sdk-macosx> tools> 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 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.


5
2017-07-16 06:02





  1. Chọn trình mô phỏng sinh học
  2. Phím tắt nhấn mô tả bên dưới

    • Windows: Ctrl + Shift + S

    • 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


4
2017-10-07 06:25



Nó hoạt động nhưng ảnh chụp màn hình không thể lưu trong máy tính để bàn. Nó được lưu trong C: / Users / ~ LoginName ~ / ~ AVD Name ~ / Screenshot-datetimestamp.png - Mohamed Mohaideen AH
Đối với 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


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 mô phỏng 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 Camera sau đó lưu nó vào vị trí cụ thể. In Devices window just click on Camera icon. I already mark it by circle here


3
2018-03-10 05:32





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


2
2017-12-18 10:07





@Reck nói có một lỗi trong việc thực hiện Genymotion vì vậy 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 không có screencap chỉ huy.

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

Trong hoạt động:

screenshot(getWindow().getDecorView());

Trong phân đoạn:

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

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


0
2017-09-26 13:19