2013-12-12 20 views
40

Sử dụng Cordova CLI, tôi thiết lập một ứng dụng và xây dựng nó:Bắt Cordova/PhoneGap để thi đua trên Genymotion thiết bị ảo

cordova create hi com.example.hi Hi 
cd hi 
cordova platform add android 
cordova build android 

tôi chạy Genymotion và bắt đầu một thiết bị có tên là "api9". Tôi chạy Android Debug Bridge adb devices và nó cho thấy là

192.168.8.101:5555 

tôi cố gắng để khởi động ứng dụng với cordova emulate android nhưng tôi nhận được:

Error: An error occurred while emulating/deploying the android project. ...spawn ENOENT 

Tuy nhiên, tung người quản lý thiết bị ảo Android và bắt đầu một thiết bị mô phỏng ; các công cụ cordova emulate android hoạt động và adb devices danh sách;

192.168.8.101:5555 
emulator-5554 

Tôi nên làm gì để làm cho Cordova cạnh tranh thông qua thiết bị Genymotion?

Trả lời

94

Có vẻ như adb thấy thiết bị ảo genymotion là thiết bị thực và không phải là thiết bị được mô phỏng, hãy thử cordova run android thay vì cordova emulate android.

+1

Bạn đã làm cho ngày của tôi :), người sẽ dạy về điều đó! – numediaweb

+1

đó là hợp lý ... trong thực tế, giả lập dựa trên virtualbox hoạt động như một thiết bị thực. – netalex

+0

Cuối cùng một cách dễ dàng hơn để mô phỏng. Android SDK, với Nexus 7, rất chậm chạp trên Mac OS X Yosemite, RAM Imac 2008 12Gb. Genymotion cho phép thử nghiệm nhiều thiết bị bán chạy nhất "thực" hơn, và mô phỏng Galaxy S3 rất phản ứng (sử dụng librairies của họ, chứ không phải SDK Android - Xem cài đặt Genymotion). Sử dụng phiên bản mới nhất của Genymotion tính đến 2015-02-01. –

2

Khi danh sách thiết bị trống, không được đề cập trong trường hợp này, bạn cần kết nối adb theo cách thủ công với thiết bị genymotion.

Vì vậy, bạn có nó chạy trong cùng một môi trường JAVA SDK vì vậy không sử dụng một trong sẵn có trong Genymotion.

Sau đó khởi động thiết bị của bạn. Trên màn hình sẽ xuất hiện một số biểu tượng genymotion. Nhấp vào nó và bạn sẽ thấy IP.

Sử dụng sau đó trong bảng điều khiển lệnh "adb connect 198.123.123.123" (sử dụng IP của riêng bạn tất nhiên).

Sau đó danh sách thiết bị của bạn được cập nhật.

Cuối cùng sử dụng "cordova run android" và nó sẽ cài đặt ứng dụng của bạn vào thiết bị ảo.

Tương tự cũng áp dụng cho khung ionic: "ionic run android". Thận trọng: không có bất kỳ thiết bị nào được tìm thấy, nó sẽ dự phòng giả lập ...

+0

'Trên màn hình sẽ xuất hiện một số biểu tượng genymotion' Bạn có nghĩa là trên màn hình của màn hình thiết bị ảo tôi không có biểu tượng như vậy chỉ là thiết bị tìm kiếm bình thường của tôi. – landed

+0

nếu không có biểu tượng nào bạn có thể nhìn vào cài đặt của thiết bị ảo và tìm mạng –

+0

Đã chạy cordova chạy android và thiết bị genymotion - sau đó kiểm tra cài đặt đã đi vào mạng và chỉ xem wifi, bluetooth, v.v. không biểu tượng và không thể hiểu tại sao điều này sẽ có tbh nhưng cảm ơn sự giúp đỡ của bạn .. – landed