2012-05-16 115 views
5

我最近更新了Android 3.2 SDK,並且因爲我無法運行我的應用程序而沒有它立即強制退出並給出「無法實例化活動ComponentInfo」錯誤。我已經檢查了該主題的每一篇文章,並相信我已經涵蓋了導致此錯誤的所有常見問題。我相信這可能與整合谷歌地圖有關,但它在更新之前正常運行。這裏是LogCat和清單。主要的活動類是相當大的,所以我想避免發佈。java.lang.RuntimeException:無法在SDK更新後實例化活動ComponentInfo

05-16 14:08:16.313: I/dalvikvm(2880): Failed resolving 

Lcnp/apps/dronecontrol/DroneControlActivity; interface 112 'Lslickdevlabs/apps/usb2seriallib/AdapterConnectionListener;' 
05-16 14:08:16.313: W/dalvikvm(2880): Link of class 'Lcnp/apps/dronecontrol/DroneControlActivity;' failed 
05-16 14:08:16.313: D/AndroidRuntime(2880): Shutting down VM 
05-16 14:08:16.313: W/dalvikvm(2880): threadid=1: thread exiting with uncaught exception (group=0x40239760) 
05-16 14:08:16.313: E/AndroidRuntime(2880): FATAL EXCEPTION: main 
05-16 14:08:16.313: E/AndroidRuntime(2880): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{cnp.apps.dronecontrol/cnp.apps.dronecontrol.DroneControlActivity}: java.lang.ClassNotFoundException: cnp.apps.dronecontrol.DroneControlActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/cnp.apps.dronecontrol-2.apk] 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1739) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.ActivityThread.access$500(ActivityThread.java:122) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.os.Looper.loop(Looper.java:132) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.ActivityThread.main(ActivityThread.java:4123) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at java.lang.reflect.Method.invoke(Method.java:491) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at dalvik.system.NativeStart.main(Native Method) 
05-16 14:08:16.313: E/AndroidRuntime(2880): Caused by: java.lang.ClassNotFoundException: cnp.apps.dronecontrol.DroneControlActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/cnp.apps.dronecontrol-2.apk] 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:251) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at java.lang.ClassLoader.loadClass(ClassLoader.java:540) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at java.lang.ClassLoader.loadClass(ClassLoader.java:500) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.Instrumentation.newActivity(Instrumentation.java:1022) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1730) 
05-16 14:08:16.313: E/AndroidRuntime(2880):  ... 11 more 
05-16 14:13:50.023: I/dalvikvm(2918): Failed resolving Lcnp/apps/dronecontrol/DroneControlActivity; interface 112 'Lslickdevlabs/apps/usb2seriallib/AdapterConnectionListener;' 
05-16 14:13:50.023: W/dalvikvm(2918): Link of class 'Lcnp/apps/dronecontrol/DroneControlActivity;' failed 
05-16 14:13:50.023: D/AndroidRuntime(2918): Shutting down VM 
05-16 14:13:50.023: W/dalvikvm(2918): threadid=1: thread exiting with uncaught exception (group=0x40239760) 
05-16 14:13:50.023: E/AndroidRuntime(2918): FATAL EXCEPTION: main 
05-16 14:13:50.023: E/AndroidRuntime(2918): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{cnp.apps.dronecontrol/cnp.apps.dronecontrol.DroneControlActivity}: java.lang.ClassNotFoundException: cnp.apps.dronecontrol.DroneControlActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/cnp.apps.dronecontrol-1.apk] 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1739) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.ActivityThread.access$500(ActivityThread.java:122) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.os.Looper.loop(Looper.java:132) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.ActivityThread.main(ActivityThread.java:4123) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at java.lang.reflect.Method.invoke(Method.java:491) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at dalvik.system.NativeStart.main(Native Method) 
05-16 14:13:50.023: E/AndroidRuntime(2918): Caused by: java.lang.ClassNotFoundException: cnp.apps.dronecontrol.DroneControlActivity in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/cnp.apps.dronecontrol-1.apk] 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:251) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at java.lang.ClassLoader.loadClass(ClassLoader.java:540) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at java.lang.ClassLoader.loadClass(ClassLoader.java:500) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.Instrumentation.newActivity(Instrumentation.java:1022) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1730) 
05-16 14:13:50.023: E/AndroidRuntime(2918):  ... 11 more 

這裏是明顯的,我相信錯誤是在這裏,我沒有改變任何代碼我更新了SDK之後,它纔剛剛開始崩潰

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="cnp.apps.dronecontrol" 
    android:versionCode="7" 
     android:versionName="1.6"> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
    <uses-sdk android:minSdkVersion="13" /> 
    <uses-feature android:name="android.hardware.usb.host" android:required="true"></uses-feature> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <uses-library android:name="com.google.android.maps" /> 
     <activity android:name=".DroneControlActivity" 
        android:windowSoftInputMode="adjustPan|stateHidden" 
        android:label="@string/app_name" 
        android:launchMode="singleTask" android:screenOrientation="landscape"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

      <intent-filter> 
       <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> 
      </intent-filter> 

      <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" 
       android:resource="@xml/device_filter" /> 
     </activity> 
     <activity android:name=".MenuHelper" 
        android:label="@string/app_name" /> 

    </application> 
</manifest> 

回答

9

可怕的ClassNotFoundException。你必須把你的第三方庫放在一個「libs」文件夾中,並重新引用它們(右鍵單擊,屬性,Java Build Path,Libraries,Add Jar ...)。

+0

哇,修復它,非常感謝,我從來沒有嘗試過,你有解釋爲什麼它在更新之前工作,而不是之後? – user1399328

+0

@ user1399328由於proguard版本 – Akram

相關問題