2012-04-08 2 views
2

У меня есть очень простое приложение, которое работает, но когда я добавить 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 в папке активов и добавил их к buildpath.

, когда я удаляю часть робочки, он отлично работает. может кто-нибудь сказать мне, что я сделал неправильно.

ответ

6

Ну, я узнал, в чем проблема. Я использовал SDK v17 +, и в этой версии внешняя библиотека должна быть помещена в папку «libs» и только в папке libs. поэтому все учебники я нашел, где они просто положили его в папку с ресурсами, где это неправильно.

Ссылка, где я получил ответ я искал: http://groups.google.com/group/roboguice/browse_thread/thread/474116b052050ae2

1

Прежде всего, расширение от RoboApplication - это вещь RoboGuice 1.x, вы действительно должны использовать RoboGuice 2.0 (где вам больше не нужно это делать). Теперь, для вашего исключения, действительно ли ваш класс приложений на com.MyFirstApp.MyApplication? Если нет, вам нужно будет обновить атрибут name для соответствия.

+0

Как я использую 1.1.3 я действительно должен простираться от RoboApplication правого? Также я на 100% уверен, что там, где он находится. – LordSauron

+0

Oke, сделал то, что вы предложили и обновил до 2.0. приложение работает. но теперь эта функция вызывает ошибку. без RoboActivity он работает с ним, он просто говорит: java.lang.RuntimeException: не удалось создать экземпляр активности ComponentInfo {com.MyFirstApp/com.MyFirstApp.Activities.MainActivity}: java.lang.ClassNotFoundException: com.MyFirstApp.Activities.MainActivity – LordSauron

+0

То же самое, убедитесь, что имя пакета правильно. – dmon

Смежные вопросы