2010-06-23 40 views
7

Tôi đã sửa đổi/chỉnh sửa các phần của nền tảng Android nhưng đã gặp sự cố khi cố gắng kiểm tra chỉnh sửa của mình. Sau khi thực hiện các thay đổi của tôi đối với nguồn nền tảng, tôi đã có thể biên dịch thành công nguồn - do đó tạo system.img, ramdisk.img và userdata.img.Trình mô phỏng Android treo khi khởi động?

Khi tôi đi kiểm tra điều này trong trình mô phỏng, trình giả lập chỉ treo trên màn hình "ANDROID_", với dấu gạch dưới nhấp nháy, nhưng dường như không bao giờ tải. Bất kỳ đề xuất?

Lệnh tôi sử dụng để chạy các giả lập như sau:

./emulator -system $HOME/android/platform/out/target/product/generic/system.img -ramdisk $HOME/android/platform/out/target/product/generic/ramdisk.img -data $HOME/android/platform/out/target/product/generic/userdata.img

Cảm ơn,
Chris

Trả lời

8

Việc khởi động đầu tiên có thể mất một thời gian, đặc biệt là trên một máy chậm nhưng nếu không cố gắng chạy lệnh adb logcat để xem đầu ra nhật ký. Điều đó sẽ giúp bạn xác định vấn đề có thể là gì.

Ngoài ra nếu bạn muốn bỏ qua việc cung cấp tất cả các tùy chọn cho trình mô phỏng, tức là hệ thống và phương thức kia bạn có thể sử dụng tập lệnh được cung cấp trong thư mục xây dựng. Chạy các lệnh từ thư mục gốc của dự án mã nguồn mở:

source build/envsetup.sh 
setpaths 

Người đầu tiên sẽ chạy script envsetup cho Android cung cấp một số lệnh hữu ích. Phần thứ hai thiết lập tất cả các đường dẫn cần thiết để phát triển nền tảng Android. Trong số đó có biến ANDROID_PRODUCT_OUT thông báo cho trình mô phỏng nơi tìm kiếm hình ảnh xây dựng. Nó được đặt thành các thư mục mặc định mà bạn đã chỉ định ở trên. Sau khi chạy setpaths bạn chỉ có thể bắt đầu giả lập với build của bạn bằng cách gõ giả lập trên dòng lệnh.

+1

Cảm ơn các mẹo. Tôi đã thử chạy lệnh adb logcat, điều này đã cho tôi thấy nhiều hơn nữa. Có vẻ như trình mô phỏng bị mắc kẹt trong một số loại vòng lặp khởi động vô hạn. Các vòng lặp bắt đầu với AndroidRuntime BẮT ĐẦU <<<<<<<<<<<<<< Và mỗi lần lặp kết thúc với I/ServiceManager (25): dịch vụ 'media.audio_flinger' chết I/ServiceManager (25): dịch vụ 'media.player' đã chết I/ServiceManager (25): service 'media.camera' đã chết I/ServiceManager (25): dịch vụ 'media.audio_policy' đã chết – Chrisc

+0

Hmm, có thể là một trong những các dịch vụ quan trọng không khởi động được và do đó init sẽ cố gắng khởi động lại toàn bộ thời gian chạy Android. Tùy thuộc vào máy bạn chạy trên chúng tôi đã gặp phải một số vấn đề với âm thanh trong trình mô phỏng trong trường hợp tùy chọn -noaudio có thể giúp. Ngoài ra, có bạn đã cố gắng để làm một xây dựng và chỉ cần chạy dự án "như là" mà không có thay đổi của bạn. Nó luôn luôn là tốt để biết rằng hệ thống mặc định chạy trước khi thử sửa đổi nền tảng. – BMB

+0

Cảm ơn BMB, hóa ra là có lỗi xảy ra ở đâu đó trong mã của tôi. Với những điều chỉnh hơn nữa cho nội dung của tôi, Android đã khởi động thành công. – Chrisc

1

Tôi thường phải khởi động lại để nó chạy. Hôm nay nó sẽ không khởi động lại bất kể điều gì. Làm một log ./adb luôn cho thấy 'chờ thiết bị'. Vì vậy, tôi đã khởi động lại nó bằng cách sử dụng Eclipse Android SDK và AVD Manager/Start ... (tùy chọn), bỏ chọn tùy chọn 'Khởi chạy từ ảnh chụp nhanh' và sau khi quá trình tải xuống, trình giả lập hoạt động.

10

Tôi đã gặp sự cố này và khắc phục sự cố bằng cách xóa trình mô phỏng và tạo trình mô phỏng mới. Trong nhật thực:

  1. menu Window -> Android SVK và AVD Manager
  2. Chọn thiết bị ảo (nên được chọn trước)
  3. Chọn emulator đem lại cho bạn những vấn đề
  4. Chỉnh sửa để xem các thiết lập và ghi nhớ chúng.
  5. Xóa trình giả lập.
  6. Tạo một hình mới giống với hình cũ.
  7. Khởi động trình giả lập từ đây bằng nút bắt đầu.

Bắt đầu sau khoảng 30 giây sau khi tôi làm điều đó.

Thông thường trình mô phỏng bắt đầu trong khoảng 2-3 phút đối với tôi. Rồi nó ngừng hoạt động một cách bí ẩn. Tôi đã nhìn thấy hoạt hình khởi động trong 30 phút trước khi tôi từ bỏ. Khởi động lại máy tính xách tay của tôi đã không giúp đỡ, mà làm cho tôi nghĩ rằng đó là một vấn đề với các thiết lập giả lập, và tôi vấp vào giải pháp này.

  • Lưu ý # 1: Thao tác này sẽ xóa dữ liệu người dùng của bạn.
  • Lưu ý # 2: Như đã đề cập ở đâu, bạn nên kiểm tra "Đã bật" cho Ảnh chụp nhanh khi bạn tạo hoặc chỉnh sửa trình mô phỏng, điều này cho phép bạn khởi động nhanh hơn vào lần tiếp theo.
  • Lưu ý # 3: Trình giả lập mới của tôi xuất hiện bằng tiếng Trung. Điều đó thật lạ lùng :)
+0

Cảm ơn điều này, sửa chữa đơn giản nhưng không nên obvoius ... Đã cứu tôi rất nhiều đau đầu! – Robert

1

Bí quyết của tôi để khởi chạy trình mô phỏng yếu (RAM: chỉ 1 GB) là khởi động đầu tiên sau khi WinXP khởi động xong. Hơn nữa, sử dụng một thể hiện giả lập với độ phân giải nhỏ hơn (số lượng pixel nhỏ hơn trên màn hình để mô phỏng, ví dụ: chỉ 240x400) cũng giúp ích.

6

Hãy thử sử dụng adb logcat trong thiết bị đầu cuối để xem điều gì đang xảy ra với trình mô phỏng. Khi tôi làm điều đó, tôi đã lưu ý rằng

I/ServiceManager( 918): service 'media.audio_flinger' died 
I/ServiceManager( 918): service 'media.player' died 
I/ServiceManager( 918): service 'media.camera' died 
I/ServiceManager( 918): service 'media.audio_policy' died 

lặp lại cứ 10 giây một lần. Tôi đã thử cho phép máy ảnh của tôi trong AVD và bộ mô phỏng bắt đầu hoạt động.

Để bật máy ảnh, hãy nhập android avd vào đầu cuối và đặt tùy chọn camera trước và sau.

+0

nó hoạt động ... cảm ơn người đàn ông – Massimo212121

+0

Làm thế nào để thiết lập tùy chọn camera phía trước và sau bằng cách sử dụng thiết bị đầu cuối? bất kỳ lệnh nào? – Darpan

Các vấn đề liên quan