Das klingt vielleicht wie eine dumme Frage, aber was genau passiert, wenn ich den Ordner/src eines Android-Projekts aus dem Build-Pfad entfernen (nur MainActivity/gen ist übrig) Dort)? Ich kann das Projekt trotzdem kompilieren und ausführen. Was macht der Build-Pfad?Android/Eclipse: Entfernen/src Ordner aus Build-Pfad
Hintergrund: Ich bin ein wenig verrückt nach dem Import eines Maven-Projekts in Eclipse. Es hat die Ordnerstruktur/src/main/package, und wenn ich es importiere, stimmen alle deklarierten Paketnamen nicht überein (offensichtlich ein bekanntes Problem). Mein erster Versuch war, die Pakete einfach in die Ordnerstruktur (direkt nach/src) zu verschieben, bevor das Projekt importiert wurde, aber das gab mir eine Menge anderer Probleme (bezüglich des Imports anderer Pakete).
Zweiter Versuch war (das wurde bei mehreren Fragen zu SO empfohlen), einfach den Ordner/src aus dem Build-Pfad zu entfernen und voila, die Paketdeklarationen funktionieren und es gibt keine Probleme mehr in Eclipse, aber ich bin sehr merkwürdig geworden Problem bei der Laufzeit und ich weiß nicht, ob es mir verwandt ist, den Ordner/src aus dem Build-Pfad zu entfernen.
Edit: Hier ist der Fehler beim Ausführen der App. Ich sollte hinzufügen, dass MyApplication keine Aktivität ist, aber es erweitert Anwendung (verwendet, um Globals zu speichern). Google Maps wird in diesem Projekt verwendet, aber nicht in der ersten Aktivität.
02-20 14:39:34.781: E/AndroidRuntime(1479): FATAL EXCEPTION: main
02-20 14:39:34.781: E/AndroidRuntime(1479): java.lang.RuntimeException: Unable to instantiate application com.example.myapp.MyApplication: java.lang.ClassNotFoundException: Didn't find class "com.example.myapp.MyApplication" on path: /system/framework/com.google.android.maps.jar:/data/app/com.example.myapp-1.apk
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4364)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.ActivityThread.access$1300(ActivityThread.java:141)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.os.Handler.dispatchMessage(Handler.java:99)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.os.Looper.loop(Looper.java:137)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.ActivityThread.main(ActivityThread.java:5039)
02-20 14:39:34.781: E/AndroidRuntime(1479): at java.lang.reflect.Method.invokeNative(Native Method)
02-20 14:39:34.781: E/AndroidRuntime(1479): at java.lang.reflect.Method.invoke(Method.java:511)
02-20 14:39:34.781: E/AndroidRuntime(1479): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-20 14:39:34.781: E/AndroidRuntime(1479): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-20 14:39:34.781: E/AndroidRuntime(1479): at dalvik.system.NativeStart.main(Native Method)
02-20 14:39:34.781: E/AndroidRuntime(1479): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.myapp.MyApplication" on path: /system/framework/com.google.android.maps.jar:/data/app/com,example.myapp-1.apk
02-20 14:39:34.781: E/AndroidRuntime(1479): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
02-20 14:39:34.781: E/AndroidRuntime(1479): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
02-20 14:39:34.781: E/AndroidRuntime(1479): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.Instrumentation.newApplication(Instrumentation.java:968)
02-20 14:39:34.781: E/AndroidRuntime(1479): at android.app.LoadedApk.makeApplication(LoadedApk.java:499)
02-20 14:39:34.781: E/AndroidRuntime(1479): ... 11 more
Wenn Sie einige Details über Ihre sehr seltsam Runtime Problem hinzufügen könnte das könnte Hilf den Leuten festzustellen, ob das Problem mit dem src-Ordner zusammenhängt, der entfernt wird. – NathanTempelman
Verwenden Sie 'File - Import ... - Maven - Vorhandene Maven Projects' um das existierende mavenisierte Android Projekt zu importieren, lesen Sie [diese Antwort] (http: // stackoverflow.com/questions/11921769/do-ich-brauche-zu-installieren-ein-adt-plugin-wenn-ich-will-zu-use-maven/11926069 # 11926069) zu sehen, wie Sie das erforderliche Eclipse-Plugin zu bekommen. – yorkw
sollten Sie das Protokoll veröffentlichen, wo Sie Laufzeitfehler erhalten, könnte aufgrund von Deklarationen in Manifest-Datei – nandeesh