我最近更新了Android 3.2 SDK,导致我的应用程序无法正常运行,立即强制退出并出现“无法实例化活动ComponentInfo”错误。我检查了所有关于此主题的帖子,并且相信我已经涵盖了所有导致此错误的常见问题。我认为它可能与集成的谷歌地图有关,但是在更新之前它可以正常工作。这里是LogCat和清单文件。由于main activity类非常大,因此我想避免发布它。
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>