RoboGuice 2.0安装,使用ADT和API 17提供ClassNotFoundException

时间:2013-05-15 20:31:40

标签: android roboguice

我正在努力让自己与RoboGuice 2一起运行,并添加了 guice-3.0-no_aop roboguice-2.0 jsr305-1.3。 9 jars进入项目类路径但我在尝试下面给出的代码时遇到异常:

E/AndroidRuntime(1143): java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.wickedlynotsmart.myfirstapp/com.wickedlynotsmart.myfirstapp.acti
vity.MainActivity}: java.lang.ClassNotFoundException: Didn't find class 
"com.wickedlynotsmart.myfirstapp.activity.MainActivity" on path: 
/data/app/com.wickedlynotsmart.myfirstapp-2.apk

MainActivity.java

public class MainActivity extends RoboActivity {

    @InjectView(R.id.helloTextView)
    private TextView helloTextView;

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

        helloTextView.setText("Hello, My First App!");
    }

    //...     

}

MyFirstAppModule.java

public class MyFirstAppModule extends AbstractModule{

    @Override
    protected void configure() {
        // TODO Auto-generated method stub      
    }

}

roboguice.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="roboguice_modules">
        <item>com.wickedlynotsmart.myfirstapp.module.MyFirstAppModule</item>
    </string-array>    
</resources>

有人可以帮我理解吗?

感谢。

编辑:我正在使用Android API 17与Android开发工具。

2 个答案:

答案 0 :(得分:1)

从项目的构建路径中删除了guice-3.0-no_aoproboguice-2.0jsr305-1.3.9个jar。

将以下jar添加到项目内的libs文件夹中,使项目正常运行:

1. roboguice-2.0.jar
2. guice-3.0-no_aop.jar
3. javax.inject.jar

答案 1 :(得分:0)

ADT存在问题。我在ADT上使用Android Development Toolkit v22和Eclipse JUNO使用Android Development Toolkit v21尝试了Roboguice。它在Eclipse JUNO中使用ADT v21。

在ADT中,我将jar文件放到libs文件夹中,然后得到ClassNotFoundException。 在Eclipse JUNO中,当我将jar文件放到libs文件夹时,它会自动创建并将jar文件放在Android Dependencies下。这不会发生在ADT中。

添加jar文件到构建路径也不起作用。