java.lang.RuntimeException: Unable to instantiate activity

馋奶兔 提交于 2020-01-04 03:56:25

问题


I've tried all possible solutions to this problem, but nothing seems to work... The problem occured, when i've updated my SDK Tools version from r16 to r19 and SDK Platform-tools to r11. I have all classes included to the manifest, and everything worked before this update. do you have an idea how to fix this problem? (i tried a lot of solutions from this site and others...)

Here is my Error log:

05-17 23:29:10.888: E/AndroidRuntime(20945): FATAL EXCEPTION: main
05-17 23:29:10.888: E/AndroidRuntime(20945): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.bugfullabs.depress/com.bugfullabs.depress.Splash}: java.lang.ClassNotFoundException: com.bugfullabs.depress.Splash
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2229)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.ActivityThread.access$600(ActivityThread.java:139)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.os.Looper.loop(Looper.java:154)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.ActivityThread.main(ActivityThread.java:4944)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at java.lang.reflect.Method.invokeNative(Native Method)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at java.lang.reflect.Method.invoke(Method.java:511)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at dalvik.system.NativeStart.main(Native Method)
05-17 23:29:10.888: E/AndroidRuntime(20945): Caused by: java.lang.ClassNotFoundException: com.bugfullabs.depress.Splash
05-17 23:29:10.888: E/AndroidRuntime(20945):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.Instrumentation.newActivity(Instrumentation.java:1039)
05-17 23:29:10.888: E/AndroidRuntime(20945):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
05-17 23:29:10.888: E/AndroidRuntime(20945):    ... 11 more

Here is my AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bugfullabs.depress"
    android:versionCode="2"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".Splash"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".DEpressActivity"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name=".SettingsMenu"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name=".Credits"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name=".game.LevelSelect"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name=".game.GameActivity"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name=".game.FinishScreen"
            android:label="@string/app_name" >
        </activity>
    </application>

</manifest>

回答1:


It can't find the class: com.bugfullabs.depress.Splash. First thing is to make sure there's not a typo in the package name. (seems like it should be bugfullaps)

Next, is the Splash class contained in a library? If so, check your Java Build Path configuration and make sure under the Order and Export tab that your library file is checked so that it's exported with the application.

EDIT: Just remembered, if you have a lib directory, rename it to libs. That's one of the things that changed from the version you were using. Good luck!



来源:https://stackoverflow.com/questions/10643970/java-lang-runtimeexception-unable-to-instantiate-activity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!