Eclipse + AndroidSDK - Problem mit Referenzen

Robokopp

Bekanntes Mitglied
Hallo,

ich habe ein umfangreicheres Androidprojekt vor mir und wollte einige "Strukturänderungen" vornehmen.
Beispielsweise sollen alle Klassen/Activities, die mit den Einstellungen zusammenhängen in ein und das selbe Package verschoben werden. Das ist normalerweise auch kein Problem, da Eclipse ja die ganzen Abhängigkeiten beim verschieben automatisch updated.

Das ist bei mir auch der Fall, trotzdem Crasht das Programm dann zur Laufzeit, da die verschobenen Klassen angeblich nicht gefunden werden können.

Leider verstehe ich nicht, warum das so ist. Da ist anscheinend noch irgendwo der alte "Ort" der Klassen hinterlegt, auf den das Programm versucht zuzugreifen.

Mit dem Manifest kann es nicht zusammenhängen, da ich das gleiche Problem auch bei Views hab, die ja sowieso nicht registriert werden müssen.

Ich hab mal testweise alle Klassen,Layouts, Drawables in ein neues Projekt kopiert, dort dann die Struktur so angelegt wie ich es wollte und dann erst kompiliert.Leider versucht er auch dort auf die alten Orte zuzugreifen.

Kennt einer das Problem und vielleicht eine Lösung?
 
Jetzt ja, damit finde ich nichts.


Hier mal der Log:

01-07 15:13:14.715: E/AndroidRuntime(28849): FATAL EXCEPTION: main
01-07 15:13:14.715: E/AndroidRuntime(28849): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.android.myapp/de.android.myapp.game.GameActivity}: android.view.InflateException: Binary XML file line #120: Error inflating class de.android.myapp.game.Inventory
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2354)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.ActivityThread.access$600(ActivityThread.java:150)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.os.Handler.dispatchMessage(Handler.java:99)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.os.Looper.loop(Looper.java:137)
01-07 15:13:14.715: E/AndroidRuntime(28849): at java.lang.reflect.Method.invoke(Method.java:511)
01-07 15:13:14.715: E/AndroidRuntime(28849): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
01-07 15:13:14.715: E/AndroidRuntime(28849): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
01-07 15:13:14.715: E/AndroidRuntime(28849): at dalvik.system.NativeStart.main(Native Method)
01-07 15:13:14.715: E/AndroidRuntime(28849): Caused by: android.view.InflateException: Binary XML file line #120: Error inflating class de.android.myapp.game.Inventory
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-07 15:13:14.715: E/AndroidRuntime(28849): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.Activity.setContentView(Activity.java:1881)
01-07 15:13:14.715: E/AndroidRuntime(28849): at de.android.myapp.game.GameActivity.onCreate(GameActivity.java:28)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.Activity.performCreate(Activity.java:5104)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2258)
01-07 15:13:14.715: E/AndroidRuntime(28849): ... 11 more
01-07 15:13:14.715: E/AndroidRuntime(28849): Caused by: java.lang.ClassNotFoundException: Didn't find class "de.android.myapp.game.Inventory" on path: /data/app/de.android.myapp-2.apk
01-07 15:13:14.715: E/AndroidRuntime(28849): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
01-07 15:13:14.715: E/AndroidRuntime(28849): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-07 15:13:14.715: E/AndroidRuntime(28849): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.createView(LayoutInflater.java:552)
01-07 15:13:14.715: E/AndroidRuntime(28849): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
01-07 15:13:14.715: E/AndroidRuntime(28849): ... 27 more
 
Das scheint mir die entscheidende Stelle zu sein:

01-07 15:13:14.715: E/AndroidRuntime(28849): Caused by: android.view.InflateException: Binary XML file line #120: Error inflating class de.android.myapp.game.Inventory

Kann es sein, dass du irgendwelche Layout-Files hast in denen selbst geschriebene Views verwendet werden? Eclipse kann die nämlich beim Refactoring nicht automatisch ausbessern.
 

Zurück
Oben