安卓:无法实例化活动ComponentInfo

3

我在开发安卓应用程序时遇到了问题。我先进行了一些研究,发现有其他人和我一样遇到了同样的问题。我阅读了所有的评论并尝试了所有方法,但仍然遇到相同的错误。

这是我的错误:

05-29 12:39:36.701: E/AndroidRuntime(823): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.georgepanayi.mixfmcyprus.radio/com.georgepanayi.mixfmcyprus.radio.Main_Activity}: java.lang.ClassNotFoundException: Didn't find class "com.georgepanayi.mixfmcyprus.radio.Main_Activity" on path: /data/app/com.georgepanayi.mixfmcyprus.radio-1.apk
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.os.Looper.loop(Looper.java:137)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-29 12:39:36.701: E/AndroidRuntime(823):  at java.lang.reflect.Method.invokeNative(Native Method)
05-29 12:39:36.701: E/AndroidRuntime(823):  at java.lang.reflect.Method.invoke(Method.java:511)
05-29 12:39:36.701: E/AndroidRuntime(823):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-29 12:39:36.701: E/AndroidRuntime(823):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-29 12:39:36.701: E/AndroidRuntime(823):  at dalvik.system.NativeStart.main(Native Method)
05-29 12:39:36.701: E/AndroidRuntime(823): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.georgepanayi.mixfmcyprus.radio.Main_Activity" on path: /data/app/com.georgepanayi.mixfmcyprus.radio-1.apk
05-29 12:39:36.701: E/AndroidRuntime(823):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
05-29 12:39:36.701: E/AndroidRuntime(823):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-29 12:39:36.701: E/AndroidRuntime(823):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
05-29 12:39:36.701: E/AndroidRuntime(823):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
05-29 12:39:36.701: E/AndroidRuntime(823):  ... 11 more

我看到问题出在清单文件中的活动部分,这是我的类和清单文件:

package com.georgepanayi.mixfmcyprus.radio;

import org.holoeverywhere.app.Activity;

import android.os.Bundle;

public class Main_Activity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mix_fm__main);
    }

}

清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.georgepanayi.mixfmcyprus.radio"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.Mixfmradio" >
        <activity
            android:name=".Main_Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

我正在使用Holoeverywhere、SherlockActionBar 4.3.1和ViewPagerIndicator 2.4.1等库,有人能找到问题吗?

谢谢。


在这种情况下,请尝试同步您的项目。 - clwhisk
2个回答

2
问题出在Holoeverywhere上。为了解决这个问题,我进入项目属性->Java构建路径->顺序和导出,然后选择android私有库选项。接着,在清单文件的<application>标签中添加了android:name="org.holoeverywhere.app.Application"。请注意保留HTML标签。

0

这是我的清单文件。对我来说有效。您需要在应用程序声明中添加android:name="MyApp"。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.georgepanayi.mixfmcyprus.radio"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="17" />

    <instrumentation android:label="TestStack" android:name=".Main_Activity" android:targetPackage="com.georgepanayi.mixfmcyprus.radio"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:name=".Main_Activity"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".Main_Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

您可以查看项目演示 https://github.com/Prototik/HoloEverywhere.git


我已经再次测试了Holoeverywhere和Sherlock ActionBar,它可以正常工作。但是现在我尝试使用ViewPagerIndicator时遇到了问题。我已经按照你的示例更改了清单文件,但仍然出现相同的错误!!!我将尝试删除ViewPagerIndicator并让您知道结果。 - George Panayi

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