2

我有一个非常简单的应用程序,但是当我添加 roboguice 时它会抛出

java.lang.RuntimeException:无法实例化应用程序 com.MyFirstApp.MyFirstApplication:java.lang.ClassNotFoundException:com.MyFirstApp.MyFirstApplication

应用类:

public class MyFirstApplication extends RoboApplication {

    @Override
    protected void addApplicationModules(List<Module> modules) {
        //modules.add(new DefaultModule());
    }
}

主要活动:

public class MainActivity extends RoboActivity {

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

清单:

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

    <uses-sdk 
        android:minSdkVersion="14" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:name="MyFirstApplication">
        <activity
            android:name="com.MyFirstApp.Activities.MainActivity"
            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>

我已将 guice-2.0-no_aop.jar 和 roboguice-1.1.3.jar 放在 assets 文件夹中,并将它们添加到构建路径中。

当我移除机器人部分时,它工作正常。谁能告诉我我做错了什么。

4

2 回答 2

6

好吧,我发现了问题所在。我使用的是 SDK v17+,在那个版本中,外部库需要放在“libs”文件夹中,并且只能放在 libs 文件夹中。所以我找到了所有教程,他们只是把它放在错误的资产文件夹中。

链接到我得到答案的地方: http: //groups.google.com/group/roboguice/browse_thread/thread/474116b05205​​0ae2

于 2012-04-16T14:28:44.203 回答
1

首先,扩展 fromRoboApplication是 RoboGuice 1.x 的东西,你真的应该使用 RoboGuice 2.0(你不再需要这样做)。现在,对于您的例外,您的 Application 课程真的在 com.MyFirstApp.MyApplication吗?如果没有,您将需要更新name属性以匹配。

于 2012-04-08T18:19:28.957 回答