简单的android应用程序与roboguice抛出异常

时间:2012-04-08 18:10:20

标签: android roboguice

我有一个非常简单的应用程序,但是当我添加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());
    }
}

MainActivity:

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,并将它们添加到构建路径中。

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

2 个答案:

答案 0 :(得分:6)

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

链接到我得到的答案我正在寻找:http://groups.google.com/group/roboguice/browse_thread/thread/474116b052050ae2

答案 1 :(得分:1)

首先,从RoboApplication扩展是一个RoboGuice 1.x,你应该真正使用RoboGuice 2.0(你不再需要这样做)。现在,对于您的例外,您的Application类是否真的在com.MyFirstApp.MyApplication?如果没有,则需要更新name属性以匹配。