2012-05-01 33 views
24

Vì vậy, thỉnh thoảng tôi gặp lỗi này. Đó là lúc khởi chạy ứng dụng từ nút Run trong Eclipse. điều này xảy ra một lần mỗi 4-5 lần. Bất cứ ai cũng có ý tưởng về những gì đang xảy ra.java.lang.RuntimeException: Không thể khởi tạo ứng dụng android.app.Application: java.lang.NullPointerException tại LoadedApk.makeApplication

Tôi thực sự đánh giá cao!

05-01 18:08:31.109: W/dalvikvm(15491): threadid=1: thread exiting with uncaught exception (group=0x40a311f8) 
05-01 18:08:31.109: E/AndroidRuntime(15491): FATAL EXCEPTION: main 
05-01 18:08:31.109: E/AndroidRuntime(15491): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.LoadedApk.makeApplication(LoadedApk.java:482) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.ActivityThread.access$1300(ActivityThread.java:123) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.os.Looper.loop(Looper.java:137) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.ActivityThread.main(ActivityThread.java:4424) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at java.lang.reflect.Method.invokeNative(Native Method) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at java.lang.reflect.Method.invoke(Method.java:511) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at dalvik.system.NativeStart.main(Native Method) 
05-01 18:08:31.109: E/AndroidRuntime(15491): Caused by: java.lang.NullPointerException 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:362) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.LoadedApk.getClassLoader(LoadedApk.java:305) 
05-01 18:08:31.109: E/AndroidRuntime(15491): at android.app.LoadedApk.makeApplication(LoadedApk.java:474) 
05-01 18:08:31.109: E/AndroidRuntime(15491): ... 11 more 
+0

xin đăng một số mã ở đây – MAC

+0

vâng mã, và tôi không chắc chắn "mỗi 4-5 lần" nghĩa là gì một trong năm lần ...? – Idistic

+4

NPE nằm bên trong mã android ... làm cách nào để cô ấy biết mã nào cần đăng? bạn đang sử dụng SDK/ADT nào? – JRaymond

Trả lời

25

Nhìn vào mã nguồn ICS - Nó có vẻ như vì lý do gì Package Manager không thể nhận được thông tin gói của bạn - nó chỉ có thể là một nhật thực/ADT lỗi nơi nhật thực giữ một số loại khóa trên tập tin , nhưng bất cứ điều gì nó, nó không có vẻ giống như một cái gì đó mà bạn có thể gây ra với mã của bạn. Tôi sẽ đề nghị chạy một sạch, gỡ bỏ cài đặt các ứng dụng từ giả lập/thiết bị, hoặc nếu những người không làm việc, bạn có thể thử một không gian làm việc eclipse tươi.

Một điều mà có thể là một vấn đề là nếu bạn đang sử dụng một dự án Thư viện - cố gắng hủy liên kết hai, làm sạch, và sau đó liên kết chúng lại một lần nữa - nhưng thats nó cho túi o của tôi' thủ đoạn :)

UPDATE: yorkw đưa ra một lời giải thích tốt hơn cho lý do tại sao điều này xảy ra và độ phân giải của nó ở đây: RuntimeException: Unable to instantiate application

+0

Cảm ơn bạn đã tip mẹo dọn dẹp! Trong khi dọn dẹp Eclipse đã có một vấn đề để xóa một số .jars cũ ...Tôi đã xóa chúng theo cách thủ công và sau khi xây dựng lại lỗi đã biến mất. :) –

+0

Lỗi này xảy ra trong khi sử dụng Intellij IDEA, vì vậy nó không phải là lỗi Eclipse chắc chắn. – lomza

+0

Tôi có thể xác nhận điều này xảy ra khi chạy trong ANDROID STUDIO Intellij IDEA – Maxrunner

3

đây là (gì ngạc nhiên *) một lỗi trong Eclipse/ADT/adb. Tôi đã cố gắng khắc phục bằng cách gỡ cài đặt ứng dụng của mình khỏi trình mô phỏng. Hy vọng nó sẽ không trở lại, nhưng tôi sẽ không nín thở.

* Nghiêm túc, Eclipse & ADT dường như là phần mềm buggiest mà tôi từng sử dụng. Chỉ trong một ngày tôi đã gặp phải ít nhất bốn lỗi rất khó chịu khác nhau! (Cái này, ddms bị hỏng đường ống, không gian làm việc được sử dụng nhưng nó không phải là, dex hết bộ nhớ.) Thật xấu hổ một cách đáng xấu hổ. Cảm ơn trời, chúng tôi có stackoverflow!

Chỉnh sửa: Tôi đã nói quá sớm. Lỗi này sẽ trả về ngay sau khi bạn chạy ứng dụng lần thứ hai.

+3

vâng, điều này cũng khiến tôi cảm thấy chán nản. Nó bảo vệ tâm trí của tôi rằng với tất cả các nguồn tài nguyên của Google (và đầu tư vào Android) tại sao họ lại không phát triển một IDE của riêng họ, điều đó còn hơn cả tiêu chuẩn của Xcode? – wired00

+0

Trên MacBook Pro tôi sử dụng tại nơi làm việc, tôi phải thoát ra và khởi động lại Eclipse khoảng 3x một ngày. Đó chỉ là vô lý !! Thậm chí không bắt đầu làm thế nào hiệu năng chuyển thành @ # $% khi chỉnh sửa các tệp XML trong Eclipse (Juno). –

+1

@ wired00 Rất may, chúng tôi hiện có Android Studio. Phew! – edwoollard

-2

Đây là lỗi từ tệp .project trong dự án của bạn. Bạn có thể mở các tệp khác .project trên dự án mà không có lỗi để so sánh. Hầu như, bạn có thể thấy sai với thẻ <buildCommand> trong tệp này.

1

Tôi đã gặp khó khăn với lỗi này. Lỗi xảy ra không nhất quán. Phát hiện ra nó là một phụ thuộc thư viện không được bao gồm trong đường dẫn xây dựng cho API cấp 16 (android-support-v4)

1

Tôi cũng gặp lỗi này khi chạy ứng dụng của tôi trên 4.x hoặc cao hơn cả trình giả lập và thiết bị thực tế nhưng lỗi không ngăn ứng dụng của tôi được khởi chạy, vì vậy tôi chỉ đơn giản bỏ qua nó.

+0

Tôi đồng ý, tôi thấy nó trên thiết bị 4.x và nó không phá vỡ chức năng. Tôi đã cố gắng ngăn chặn ứng dụng của mình và nó không gây ra ngoại lệ, nó chỉ xảy ra trong Eclipse khi tôi triển khai lại ứng dụng đến thiết bị 4.x. –

1

Điều này cũng xảy ra nếu bạn đang cố gắng gọi new Intent(getActivity(), ActivityXY.class) khi hoạt động đã hoàn tất và thu thập garabage. Nó thường là một chỉ báo rằng bạn quên hủy một số hoạt động không đồng bộ khi hoạt động/đoạn bị phá hủy

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