2011-07-15 28 views
5

Sau khi công cụ SDK nâng cấp lên phiên bản 12, Khi tôi kết nối với monkeyrunner và phương pháp sử dụng báo chí như device.press ('KEYCODE_HOME', 'XUỐNG') sẽ nhận được lỗi msglà gì đối số thứ 3 của monkeyrunner.press

Traceback (cuộc gọi gần đây nhất): Tệp "", dòng 1, trong LoạiError: nhấn: Đối số thứ 3 là bắt buộc.

Nhưng tôi kiểm tra tài liệu sdk mà báo chí chỉ chứa hai đối số. là vấn đề gây ra bởi công cụ SDK phiên bản mới.

+0

Tôi thấy lỗi tương tự. Và kiểm tra các nguồn có vẻ như thực sự chỉ có 2 là bắt buộc. Rất lạ. – Matthias

+0

Trông giống như một lỗi trong monkeyrunner. Chỉ cần thêm một String trống làm đối số thứ ba và nó sẽ hoạt động. – Matthias

Trả lời

3

Để nhấn phím bằng cách sử dụng trình chạy con khỉ, bạn cần sử dụng một cái gì đó như device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP) bạn không cần thêm đối số thứ 3.

Có lẽ vấn đề của bạn là bạn đang sử dụng 'DOWN' thay vì MonkeyDevice.DOWN

+0

có cùng một vấn đề, tại 2.3.3 – atian25

+0

Hãy xem mã nguồn thiết bị của Monkeyrunner tại http://android.git.kernel.org/?p=platform/sdk.git;a=blob;f=monkeyrunner/ src/com/android/monkeyrunner/MonkeyDevice.java dựa trên những gì tôi có thể nói nó dường như nói rằng báo chí chỉ cần 2 đối số. Nhưng có lẽ nó có thể hữu ích để tìm thấy những gì sai. – someoneHuman

+0

Giải pháp này phù hợp với tôi. –

1

Để nhấn một phím sử dụng runner khỉ bạn cần phải sử dụng một cái gì đó giống như device.press ('KEYCODE_HOME', 'XUỐNG',' ') bạn trai tôi không không nhận được bất kỳ lỗi nào.

Đối số thứ ba sẽ trống ở đây.

2

Thực tế đối số thứ ba cũng là một chuỗi cho biết loại báo chí. Nó là một hằng số trong MonkeyDevice: DOWN, UPDOWN_AND_UP

Nếu bạn không muốn nhập MonkeyDevice để chỉ sử dụng nó trên này, chuỗi chính xác mà sẽ được sử dụng trong Monkeyrunner nên 'down', 'up''downAndUp'.

Chúng được xác định trong lớp enum ChimpChat.TouchPressType. Dưới đây dưới đây là mã nguồn phần của nó:

public enum TouchPressType { 
    DOWN("down"), UP("up"), DOWN_AND_UP("downAndUp"); 
... 
} 
0

Bạn cần phải thêm MonkeyDevice

Ví dụ một lệnh dán sẽ trông như thế này.

device.press('KEYCODE_PASTE',MonkeyDevice.DOWN) 
Các vấn đề liên quan