2012-06-07 171 views
0

我的應用程序,主要基於OpenCV的樣品(樣品2攝像機)鏈接的OpenCV 2.4.0。無故障工作一個月左右後,我突然患上了可怕的"Dalvik error 1"問題。當通常的修復沒有工作,我決定從頭開始建立一個新的項目具有相同的源文件,希望可以解決這個問題...新建的Android應用程序構建,但是,推出崩潰

那麼它建立,但在啓動崩潰。這裏的控制檯內容:

06-07 14:01:01.383: D/dalvikvm(20915): Trying to load lib /data/data/barry.opencvdemo/lib/libopencv_java.so 0x4051c988 
06-07 14:01:02.204: D/dalvikvm(20915): Added shared lib /data/data/barry.opencvdemo/lib/libopencv_java.so 0x4051c988 
06-07 14:01:02.354: D/AndroidRuntime(20915): Shutting down VM 
06-07 14:01:02.354: W/dalvikvm(20915): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0) 
06-07 14:01:02.374: E/AndroidRuntime(20915): FATAL EXCEPTION: main 
06-07 14:01:02.374: E/AndroidRuntime(20915): java.lang.RuntimeException: Unable to start activity ComponentInfo{barry.opencvdemo/barry.opencvdemo.Sample2NativeCamera}: java.lang.NullPointerException 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.ActivityThread.access$1500(ActivityThread.java:135) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.os.Looper.loop(Looper.java:150) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.ActivityThread.main(ActivityThread.java:4385) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at java.lang.reflect.Method.invokeNative(Native Method) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at java.lang.reflect.Method.invoke(Method.java:507) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at dalvik.system.NativeStart.main(Native Method) 
06-07 14:01:02.374: E/AndroidRuntime(20915): Caused by: java.lang.NullPointerException 
06-07 14:01:02.374: E/AndroidRuntime(20915): at barry.opencvdemo.Sample2NativeCamera.onCreate(Sample2NativeCamera.java:47) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) 
06-07 14:01:02.374: E/AndroidRuntime(20915): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836) 
06-07 14:01:02.374: E/AndroidRuntime(20915): ... 11 more 

一切似乎是在正確的地方,並與正確的名稱,但有些不工作。以上是否足以讓某人指出我明顯丟失的東西,或者是否應該發佈一些源代碼?代碼本身工作......這是關於構建或我擔心的鏈接的設置。

當神做點什麼整個Dalvik的錯誤1業務我個人會很高興。

非常感謝您的任何建議。

+0

請發佈代碼它崩潰! – Thkru

+0

請在這裏提供Sample2NativeCamera.java代碼 –

+2

在onCreate中的代碼周圍放置一個try catch塊,並在catch中放置一個斷點。你會發現異常。從異常日誌中看起來您正在使用尚未初始化的對象/變量。 – Asdfg

回答

0

try catch block周圍的代碼onCreate將斷點設置在catch。你會發現異常。從異常日誌中看起來您正在使用尚未初始化的對象/變量。

0

這發生在你的應用程序遇到錯誤時,不知道該如何迴應。正如之前所說的,你可以用try/catch塊來包圍代碼的一部分。

此外:06-07 14:01:02.374: E/AndroidRuntime(20915): java.lang.RuntimeException: Unable to start activity ComponentInfo{barry.opencvdemo/barry.opencvdemo.Sample2NativeCamera}: java.lang.NullPointerException

這是解決你的問題的線索。 NullPointerException意味着一個類正在等待某個對象在某個地方,但是卻得到了一個空值。

您可以嘗試圍繞你的代碼與它的try/catch的一部分,或者只是把一些的System.out.println()四周,看看運行停止工作的位置。

希望這會有所幫助!