2010-02-23 28 views
17

Tôi đang cố gắng Android SDK cho lần đầu tiên. Tôi bắt đầu với hướng dẫn HelloAndroid. đã theo dõi chính xác từng bước nhưng trình mô phỏng khởi chạy mà không có ứng dụng của tôi. eclipse console nói:HelloAndroid emulator vấn đề

[2010-02-23 11:47:55 - HelloAndroid]------------------------------ 
[2010-02-23 11:47:55 - HelloAndroid]Android Launch! 
[2010-02-23 11:47:55 - HelloAndroid]adb is running normally. 
[2010-02-23 11:47:55 - HelloAndroid]Performing com.example.helloandroid.HelloAndroid activity launch 
[2010-02-23 11:47:55 - HelloAndroid]Automatic Target Mode: Preferred AVD 'my_avd' is not available. Launching new emulator. 
[2010-02-23 11:47:55 - HelloAndroid]Launching a new emulator with Virtual Device 'my_avd' [2010-02-23 11:48:09 - HelloAndroid]New emulator found: emulator-5554 
[2010-02-23 11:48:09 - HelloAndroid]Waiting for HOME ('android.process.acore') to be launched... 

Tôi thấy trình giả lập, văn bản '' Android '' trên đó nhưng không có gì khác xảy ra. ai đó có thể giúp đỡ được không? cảm ơn!

+0

Tôi thấy tường lửa Comodo đang ngăn nhật thực khỏi nói chuyện với trình mô phỏng - Tôi khuyên bạn nên vô hiệu hóa bất kỳ tường lửa nào trước khi đi quá xa. – Pete

Trả lời

18

Tóm tắt
(Bạn có thể xem chi tiết đầy đủ bên dưới các bước tóm tắt này).

  1. Uninstall/Cài đặt lại Android SDK vào thư mục tắt của C: \ (không có khoảng trắng trong đường dẫn)
  2. Tái tạo các AVD.
  3. Đặt biến môi trường PATH cho vị trí thư mục SDK Android mới
  4. Gỡ cài đặt/cài đặt lại Trình cắm ADT Android trong Eclipse.
  5. Định cấu hình vị trí SDK Android trong Eclipse.
  6. Khởi động lại (để giảm mức sử dụng CPU)
  7. Chạy trình mô phỏng từ dòng lệnh và đặt nó để sử dụng tất cả các CPU có mức ưu tiên Cao hoặc "Thời gian thực". Hãy lưu ý việc sử dụng CPU của bạn.
  8. Mở Eclipse và chạy ứng dụng.

Chi tiết
tôi đã dành hai ngày nhận được giả lập để chạy các ứng dụng HelloAndroid. Trong trường hợp của tôi, sự cố có thể là sự kết hợp của sự cố với cài đặt Android SDK và sự cố hiệu suất CPU. Tôi nghĩ rằng một cái gì đó đã gây ra giả lập để chạy cực kỳ chậm làm cho giả lập xuất hiện để treo. PC của tôi là một máy tính đa nhân Intel i7 6GB 64-bit Windows 7 64-bit của tôi. Task Manager hiển thị 8 CPU trên PC của tôi trên thẻ Performance.

Triệu chứng của tôi là Android 2.2 AVD trong trình mô phỏng xuất hiện treo khi chữ "Android" được hiển thị trên màn hình. Màn hình chính sẽ không bao giờ hiển thị. Kịch bản này đã xảy ra hơn và hơn. Tôi thường đợi 30 phút hoặc 45 phút để không có kết quả.

môi trường của tôi:

  • Android SDK Revision 12
  • Android 2.2 AVD
  • Windows 7 64-bit
  • Eclipse IDE cho Java Developers Indigo phát hành Build id 20110615-0604
  • Intel CPU đa lõi Core i7, 6 GB, 1,6 GHz

Tôi đã thử khởi chạy trình giả lập từ dòng lệnh mà không cần khởi động Eclipse tại dấu nhắc lệnh và điều đó không giúp ích gì. Bộ mô phỏng vẫn treo. Tôi nhận thấy rằng Task Manager cho thấy hộp của tôi ở mức sử dụng CPU 50% mà dường như khá cao. CPU 0 được chốt ở mức 100%.

Đây là những gì đã khắc phục.

Tôi đã gỡ cài đặt Android SDK R12 và cài đặt lại nó ra khỏi thư mục gốc của C: tại C: \ android-sdk. Trước đây tôi đã gặp phải sự cố vì Android SDK được đặt tại thư mục "C: \ Program Files"; SDK có lỗi không thể xử lý không gian trong đường dẫn. Tôi chạy "uninstall.exe" từ thư mục Android SDK để thực hiện việc gỡ cài đặt. Gỡ cài đặt mất nhiều thời gian hơn cài đặt.

Tôi đã thêm "; C: \ android-sdk \ tools \; C: \ android-sdk \ platform-tools \" vào biến môi trường PATH.

Sau đó tôi đã xóa AVD bằng cách sử dụng Trình quản lý SDK và tạo lại nó.

Tôi đã gỡ cài đặt Plugin ADT cho Eclipse, khởi động lại Eclipse, sau đó cài đặt lại Plugin ADT, sau đó đóng Eclipse.

Tôi đã định cấu hình lại Eclipse bằng đường dẫn SDK Android mới (Window> Preferences> Android> SDK Location).

Trên tab Xử lý tác vụ, tôi đã bật "Hiển thị quy trình từ tất cả người dùng". Sau đó tôi nhấp chuột phải "emulator-arm.exe * 32", sau đó nhấp "Set Affinity ..." và nhận thấy rằng trình mô phỏng được thiết lập để chỉ sử dụng CPU 0 vì vậy tôi đã thay đổi nó để sử dụng tất cả CPU. Tôi cũng đặt trình mô phỏng thành ưu tiên "Thời gian thực".

Quan sát mức sử dụng CPU 50%, tôi đã khởi động lại.

Sau khi khởi động lại, tôi bắt đầu giả lập bằng cách sử dụng dòng lệnh:

emulator @Android22 

Android22 là tên của AVD tôi. Tôi đã sử dụng trình quản lý tác vụ để đặt ái lực cho trình giả lập sử dụng tất cả các CPU và đặt độ ưu tiên thành cao. Sử dụng CPU của tôi bây giờ là khoảng 13%, chủ yếu là do giả lập. Trình giả lập mất khoảng 3 phút để hiển thị Màn hình chính. Yay!

Sau đó, tôi đã mở Eclipse bằng ứng dụng HelloAndroid và ứng dụng chạy thành công trong trình mô phỏng.

Tôi đã viết chi tiết những gì tôi đã làm vì hai ngày qua đã là một nỗi đau thực sự. Tôi nhận thấy một số bài viết về vấn đề này với nhiều người dường như không thành công. Tôi đã thực hiện các bước được đề cập trong một số bài viết nhưng không tìm thấy một nơi mô tả toàn bộ quá trình.

Chúc may mắn. Tôi hy vọng thông tin này sẽ giúp ai đó.

+0

Trình giả lập chậm/treo đã xảy ra lần nữa. Emulator dường như đã ngừng chạy. Khi tôi cố gắng để lau chùi hướng dẫn sử dụng Notepad bằng Eclipse, Eclipse khởi động trình mô phỏng nhưng trình mô phỏng được treo trên màn hình "Android" động. Bộ xử lý của tôi đang chạy khoảng 50% mức sử dụng CPU. Tôi khởi động lại máy tính của tôi và xác minh rằng việc sử dụng CPU là bình thường (1% - 3% sử dụng CPU). Sau đó tôi bắt đầu trình giả lập từ dòng lệnh. Sau đó tôi đã sử dụng trình quản lý tác vụ để đặt ái lực của trình mô phỏng thành "Tất cả CPU" thay vì chỉ một CPU. Trình giả lập mất 2 phút để tải. – walkerk

+0

Tôi tự hỏi liệu việc sử dụng CPU cao có xảy ra khi trình giả lập chưa chạy và Eclipse cố khởi chạy trình mô phỏng. – walkerk

7

Đang tải. Bạn có thể kiểm tra tiến độ tải trong logcat từ DDMS hoặc adb shell logcat.

Mất một thời gian để tải trình mô phỏng, nhưng hãy nhớ rằng bạn không cần phải khởi động lại trình mô phỏng khi bạn cập nhật mã của mình. Bạn chỉ cần nhấn Run as... trong nhật thực và nó sẽ chăm sóc tải lên và cài đặt lại vào emu.

Cũng nên nhớ rằng bạn có thể sử dụng điện thoại thay vì trình mô phỏng. Tôi thường sử dụng điện thoại của mình khi máy tính tôi đang làm việc quá chậm.

Chúc bạn may mắn với sự phát triển của Android!

+0

Cảm ơn. nó thực sự được nạp cuối cùng. – oriharel

7

Và có lẽ đó chỉ là tôi, nhưng tôi mất một lúc để tìm ra "LogCat" là gì mà tôi đã đọc.

Nếu bạn đang sử dụng Eclipse, hãy làm "Window/Show View/Other". Sau đó gõ "LogCat" vào hộp "Show View" và "Android-> LogCat" sẽ hiển thị. Chọn tùy chọn đó và bây giờ bạn sẽ có một tab LogCat hiển thị thông tin đầu ra. Bạn có thể kiểm soát mức độ thông tin được hiển thị bằng các nút "VDIWE" ở góc trên cùng bên phải.

+1

Cảm ơn. điều đó thực sự giúp đảm bảo rằng một cái gì đó thực sự xảy ra ở chế độ nền ... – oriharel

1

sau khi áp dụng các giải pháp trên, hãy thử chỉnh sửa AVD của bạn, đặt thuộc tính phần cứng "Kích thước vùng ứng dụng Max VM" thành 192 hoặc cao hơn và chọn da QVGA. Tôi gặp vấn đề tương tự, và với các cài đặt này, AVD được tải trong chưa đầy một phút.

0

Có vẻ như giải pháp được ưu tiên là mua một trong các "Điện thoại Android Dev" như được quảng cáo trên trang web dành cho nhà phát triển Android.

Gần hai năm sau, các vấn đề trình giả lập vẫn như cũ. Trong Eclipse mới nhất với các plugin mới nhất, sau một vụ tai nạn giả lập, việc sử dụng CPU là 30%, được tiêu thụ bởi các hoạt hình mạnh trong trình mô phỏng.

Plugin Eclipse có chế độ xem nhật ký LogCat với tùy chọn lưu đầu ra vào tệp. Tùy chọn đó tạo ra một tệp có độ dài 0 với tất cả các mục được chọn.

Đây không phải là phần mềm. Nó là cái gì khác.

1

Đồng ý với các thiên tài trên,

Đã cùng một vấn đề (bị mắc kẹt tại tải "nhà"), nhắc nhở tôi về một vấn đề tải về i đã (bị mắc kẹt tại 99% và không đi xa hơn -> (yeah im a noob, nhưng nó vẫn nhắc tôi về điều đó)) và kết hợp với sự căm ghét sâu sắc đối với bất kỳ phần mềm bảo vệ tường lửa và virus nào đã cho tôi một cơn thịnh nộ năng lượng cao đã phá hủy mọi thứ chỉ có chút giống với từ " bảo vệ "

-> trình giả lập hoạt động tốt sau đó!

  • vẫn mất phút 6-7 để tải giả lập, nhưng "logcat" có thể giúp vượt qua thời gian :)
0

Đối với những người gặp phải chủ đề này do một vấn đề mới, cho phép tôi để cung cấp các tiếp theo. Hy vọng rằng nó sẽ tiết kiệm folks một số ngày mất năng suất và kéo tóc.

Phiên bản làm việc cuối cùng của Google SDK (Nội dung thư mục công cụ) là phiên bản 22.3, nhưng phiên bản cũ hơn, không còn trong tệp XML (https://dl-ssl.google.com/android/repository/repository-8.xml), vì vậy bạn không có đường dẫn hạ cấp rõ ràng từ bên trong GUI.

Sự cố này gây ra sự cố được mô tả bởi OP cho tất cả các phiên bản API "Intel" trước 19 mà tôi đã thử nghiệm và "ngoại lệ dấu chấm động" cho Intel API-19. Lưu ý rằng các phiên bản Arm của trình mô phỏng sẽ vẫn hoạt động, mặc dù chậm hơn nhiều nếu một phiên bản đang sử dụng khả năng tăng tốc của Intel.

Vấn đề là tài liệu trong chủ đề này, mà tôi đã không phát hiện ra cho đến khi cố gắng API-19, như vậy mà "dấu chấm" lỗi được cung cấp một kết hợp google tìm kiếm:

https://code.google.com/p/android/issues/detail?id=66786

Một giải pháp là việc thực hiện Virtual Box của genymotion, mặc dù nó đòi hỏi một phiên bản mới của glibc, chưa có trong Debian ổn định hoặc CentOS. (Tôi chỉ dành một ngày cài đặt OpenSUSE để tôi có thể "quay trở lại làm việc" trước khi tìm ra bản sửa lỗi ở trên).

Giải pháp nhanh nhất là đổi tên "Công cụ" (trong "android-SDK" thư mục) để "Broken-công cụ", sau đó tải về phiên bản cũ, mà một người nào đó trong chủ đề, trên, nằm (bằng cách nào đó): http://dl.google.com/android/android-sdk_r22.3-linux.tgz http://dl.google.com/android/android-sdk_r22.3-windows.zip

khi mở tgz, người ta sẽ tìm thấy một dân "Tools" thư mục, có thể được sao chép vào một của "android-SDK" thư mục, nơi bạn lại đặt tên cho phiên bản cũ để "Broken-Tools", ở trên.

Nếu những liên kết này (không phải phiên bản alpha được quảng cáo là 'ổn định') sẽ chết, hãy lưu ý rằng các bản sao khác tồn tại ở các vị trí không chính thức khác (không có nghi ngờ nào được đăng bởi các nhà phát triển 'thất vọng' khác đang cố gắng giúp đỡ các nghiên cứu sinh của họ) .

Nhờ Macarse, để chỉ cho tôi "adb shell logcat", cho phép tôi định vị "vòng lặp bị lỗi" xảy ra trong các API trước 19, tạo ra hành vi "Android Splash Screen Forever", tập trung xung quanh lỗi "SSLCertificateSocketFactory".