java.lang.RuntimeException: 无法实例化活动

3
我尝试了所有可能的解决方案来解决这个问题,但是似乎没有什么作用。这个问题出现在我将SDK工具版本从r16更新到r19以及SDK平台工具更新到r11后。我已经在清单中包含了所有的类,而且在这次更新之前一切都正常。你有什么想法如何解决这个问题吗?(我尝试了很多来自本站和其他网站的解决方案...)
以下是我的错误日志:
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

这是我的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>

你的 Splash 类是 public 的并且不是 abstract 的吗? - Cristian
1个回答

7
无法找到类:com.bugfullabs.depress.Splash。首先,请确保包名没有打错(看起来应该是bugfullaps)。
其次,Splash类是否包含在库中?如果是,请检查您的Java Build Path配置,并确保在“Order and Export”选项卡下勾选库文件,以便将其与应用程序一起导出。
编辑:刚刚想起来,如果您有一个lib目录,请将其重命名为libs。这是从您使用的版本中更改的内容之一。祝好运!

1
老兄,你太棒了!我只需要重新命名这个该死的lib文件夹就行了……我差点疯了……:D 非常感谢!!你能告诉我,在哪里找到了关于这些更改的文档吗?当我在d.android.com上寻求帮助时,我没有遇到过它。非常感谢!! - daltostronic
1
太棒了,很高兴你能回到实际编码!当我更新 Eclipse 插件时,我也遇到了完全相同的问题(还有其他一些问题)。答案在日志中。有两个异常,一个在结尾处没有帮助,而有用的异常在前几页!那实际上是一个宝贵的教训,哈哈。 - objbuilder
哈哈,太好了!我还没有尝试过阅读日志,首先我在这里尝试了一下:D 再次感谢你,下次我会检查日志......我想给你的答案投票,但我还没有15个声望点...(如果我得到了,我会投票给你!)我必须说stackoverflow真的很棒...这样有价值的解决方案来得如此之快! - daltostronic
1
非常好!在r19中将libs重命名为lib是必要的。在提问之前请仔细阅读日志。 - Defuera

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接