2012-04-08 2 views
2

Ich habe eine sehr einfache Anwendung, die funktioniert, aber wenn ich hinzufügen roboguice esEinfache Android-Anwendung mit roboguice werfen Ausnahmen

java.lang.RuntimeException wirft: Kann Anwendung com.MyFirstApp.MyFirstApplication instanziiert: java. lang.ClassNotFoundException: com.MyFirstApp.MyFirstApplication

Die Anwendungsklasse:

public class MyFirstApplication extends RoboApplication { 

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

Die MainActivity:

public class MainActivity extends RoboActivity { 

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

das Manifest:

<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> 

I guice-2.0-no_aop.jar und roboguice-1.1.3.jar im Anlagenordner und fügte sie zu den gestellt haben Buildpfad.

wenn ich den Roboteil entferne, funktioniert es gut. kann mir jemand sagen, was ich falsch gemacht habe.

Antwort

1

Zunächst einmal, von RoboApplication ist eine RoboGuice 1.x Sache, sollten Sie wirklich RoboGuice 2.0 verwenden (wo Sie nicht mehr tun müssen). Jetzt, für Ihre Ausnahme, ist Ihre Application-Klasse wirklich unter com.MyFirstApp.MyApplication? Wenn nicht, müssten Sie das Attribut name entsprechend anpassen.

+0

Als i 1.1.3 verwende ich brauche von RoboApplication Recht zu verlängern? Auch ich bin 100% sicher, dass es sich dort befindet. – LordSauron

+0

Oke, tat, was Sie vorgeschlagen und auf 2.0 aktualisiert. Die Anwendung funktioniert. aber die Aktivität gibt jetzt einen Fehler aus. ohne RoboActivity funktioniert es mit it es sagt nur: java.lang.RuntimeException: Kann nicht instanziiert Aktivität ComponentInfo {com.MyFirstApp/com.MyFirstApp.Activities.MainActivity}: java.lang.ClassNotFoundException: com.MyFirstApp.Activities.MainActivity – LordSauron

+0

Das gleiche gilt, stellen Sie sicher, dass der Paketname korrekt ist. – dmon