2010-01-13 6 views
22

Tôi mới sử dụng Android nhưng đã xuất bản ứng dụng berry và iphone. Tôi thấy rằng tôi phải tạo một trình giả lập bằng SDK, trước khi tôi có thể viết và thử nghiệm một ứng dụng. Tại sao không có trình giả lập mặc định? Tại sao không ít nhất một chiếc Nexus hoặc bộ giả lập HTC anh hùng được vận chuyển cùng với sản phẩm?Tại sao không phải trình giả lập Android chuẩn?

Chắc chắn nó được cho là linh hoạt, nhưng tại sao không làm cho nó dễ dàng để tạo ra thế giới hello và chơi xung quanh với một điện thoại Android ảo? Cả blackberry và iphone đều có bộ mô phỏng mặc định khi bạn tải xuống sdk.

Cảm ơn, Gerry

+0

Anh ấy hỏi về tất cả tá tùy chọn. Đơn giản chỉ cần chọn android 2.2 để mô phỏng một mối quan hệ là một câu trả lời vô dụng. Câu hỏi đặt ra là tất cả các tùy chọn khác, chẳng hạn như 'hỗ trợ màn hình cảm ứng', 'hỗ trợ theo dõi bóng', và các tùy chọn phức tạp hơn như 'mật độ màn hình trừu tượng' và 'ứng dụng vm tối đa heap'.tôi có thể đọc những gì họ có ý nghĩa trên tài liệu, nhưng những gì là các giá trị để mô phỏng một thiết bị nhất định ?! – gcb

Trả lời

16

Vì bạn có thể tạo ra một cấu hình giả lập - hoặc Android thiết bị ảo (AVD) - với ba cú click chuột và gõ một tên tôi không thấy quá nhiều sai với Android Emulator that ships with the SDK.

Lý do không có trình giả lập Nexus One hoặc HTC Hero là những con tàu có mã độc quyền không thể được cung cấp miễn phí với trình mô phỏng.

Giao diện người dùng Sense đi kèm với Hero chỉ được HTC viết cho thiết bị cầm tay của họ và một số Google Apps, chẳng hạn như Google Maps, GMail và YouTube thuộc sở hữu của Google và không thuộc Dự án nguồn mở Android. Tôi tin rằng Google tính phí các nhà sản xuất thiết bị cầm tay cho các ứng dụng này và nếu họ đưa chúng vào SDK thì bất kỳ ai cũng có thể sử dụng chúng miễn phí.

+4

Bạn thậm chí có thể lập luận rằng không có trình mô phỏng thiết bị được cấu hình trước là một điều tốt, bởi vì nó làm rõ rằng bạn đang phát triển cho nền tảng Android, không chỉ cho một thiết bị cụ thể. –

+2

Cảm ơn, một vấn đề tôi gặp phải là dòng lệnh chuẩn để tạo trình mô phỏng không hoạt động đối với tôi. android tạo avd --target 2 --name my_avd (không thành công) Khi tôi nhập "mục tiêu danh sách android", nó sẽ không trả về gì cả. Bạn có biết tôi đang thiếu gì trong quá trình cài đặt không? – Gerry

+2

Nếu bạn nhập 'android' không có đối số, bạn sẽ nhận được GUI để quản lý AVD. Điều đó có hiệu quả không? –

1

Tôi bị nhầm lẫn với câu hỏi của bạn. SDK gửi cùng với trình mô phỏng. Bạn chỉ cần tạo và định cấu hình phiên bản lần đầu tiên của nó thông qua SDK và trình quản lý AVD.

3

Nó từng là cách này, nhưng đã được thay đổi để làm cho nhà phát triển nghĩ về phiên bản/cấu hình nền tảng mà họ đang phát triển chống lại (và cho phép tạo nhiều nền tảng AVD).

Đây là một cách nhanh chóng để khởi động một giả lập cupcake chạy:

$ Android tạo avd -n android1.5 -t

$ emulator -avd android1.5

10

SDK bao gồm trình giả lập cho tất cả các thiết bị hiện được phát hành, bạn chỉ cần tạo và đặt tên cho chúng.

Để tạo trình mô phỏng "Nexus One", bạn sẽ tạo một AVD đang sử dụng SDK 2.1 và có kích thước màn hình là WVGA800. Nó đơn giản như vậy.

+1

512 RAM, hỗ trợ trackball, không có trường gần, camera (độ phân giải nào?) ... v.v., v.v. không đơn giản như vậy ". nhưng thử tốt. – gcb

+1

Nếu bạn không thể lo lắng tìm kiếm thông tin này, bạn không nên tạo/thử nghiệm các ứng dụng Android. –

0

Bạn có thể tạo AVD thích hợp bằng android (android.bat) trong thư mục/công cụ của sdk. Ngoài ra, bạn có thể chọn độ phân giải, thẻ sd, cấp API. Nó thực sự dễ dàng :) Nếu bạn muốn viết cho Nexus - tại sao không? Chọn cấp độ sdk thích hợp và tận hưởng.

2

Còn về các tính năng khác .... tôi muốn làm cho ứng dụng hoạt động trên tất cả các thiết bị Android nhưng, tôi không sở hữu tất cả chúng, chỉ cần 1. Vì vậy, tôi phải tạo một AVD cho mỗi cấu hình phần cứng có thể (điện thoại). có nghĩa là tôi phải theo dõi các thông số kỹ thuật chính xác để nói 5-10 điện thoại? resultion, mật độ, tỷ lệ khía cạnh, loại đầu vào, đa cảm ứng? FPU xử lý? một số làm một số không. vv vv một cái gì đó cần thực hiện.