Ich habe es geschafft, meine Anwendung ziemlich gut umzustrukturieren, sodass sich bis auf einige Methoden in einer abgeleiteten Aktivitätsklasse alles in einem Bibliotheksprojekt befindet.
Es funktioniert wunderbar, außer dass die Eclipse-Konsole ( nicht LogCat!) Die folgende Fehlermeldung ausgibt:
[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!
Ich habe beide Projekte (Bibliothek und Anwendung) bereinigt , Eclipse neu gestartet und die Projekte neu erstellt, aber diese seltsame Fehlermeldung bleibt bestehen.
Was bedeutet diese Fehlermeldung? (vor allem angesichts der Tatsache, dass alles in Ordnung zu sein scheint)
Wie werde ich es los?
UPDATE : Ich habe versucht, das Projekt zu entfernen und es dann gemäß dem folgenden Vorschlag erneut zu importieren. Es hat nicht geholfen. Ich fand dann diesen Thread , der mir dabei half zu erkennen, dass ich <uses-library>
in der AndroidManifest.xml der Anwendung einen Verweis auf MyLibrary hatte. Ich habe es gelöscht, das Projekt bereinigt und neu erstellt. Das Problem besteht weiterhin.
Ich vermute jetzt, dass dies ein "echtes Problem" ist, z. B. eine Fehlkonfiguration einiger Pfade oder etwas anderes von meiner Seite. Was könnte es sein?
remove
kann meine App keine Symbole in meiner Bibliothek finden. Dies hilft: Mit dieser neuen Bibliotheksfunktion geben Sie die Android-Projekte, von denen Sie abhängig sind, nicht im Abschnitt Java Build Path der Eigenschaften an. Sie tun dies inAndroid section
den Eigenschaften.Das ist interessant ... Ich habe nicht ganz getan, was in der Antwort angegeben ist.
Ich habe ein separates Android-Projekt namens " ConnectionHandler ", das eine Verbindung zu einem Webservice herstellt, um Informationen abzurufen. Dieses Projekt enthält keine Aktivitätsklassen. (In diesem Fall müssten Sie Änderungen an der AndroidManifest-Datei in Ihrer Hauptanwendung vornehmen und die folgenden Anweisungen befolgen.)
Um mein separates ConnectionHandler-Projekt als Bibliothek zu verwenden, musste ich Folgendes tun:
Dies funktioniert für mich und ich kann eine Verbindung zu meinem Webservice herstellen, obwohl ich in meiner Hauptanwendung keine Quelldateien dafür habe. Alles ist in meinem ConnectionHandler-Glas enthalten, auf das verwiesen wird.
Hoffe das hilft jemandem ...
quelle
Heute wurde diese Fehlermeldung in der Konsolenansicht von Eclipse angezeigt, aber es stellte sich heraus, dass dies nicht das Problem war. Meine Anwendung wurde auf meinem Gerät erstellt und installiert und lief sogar für den Bruchteil einer Sekunde (bis sie abstürzte). So sah meine Konsolenansicht in Eclipse aus:
[2013-06-03 09:42:25 - my-android] Android Launch! [2013-06-03 09:42:25 - my-android] adb is running normally. [2013-06-03 09:42:25 - my-android] Performing com.my.android.activity.MainActivity activity launch [2013-06-03 09:42:25 - my-android] Uploading my-android.apk onto device '650rfs2e' [2013-06-03 09:42:31 - my-android] Installing my-android.apk... [2013-06-03 09:42:35 - my-android] Success! [2013-06-03 09:42:36 - my-other-android] Could not find my-other-android.apk! [2013-06-03 09:42:36 - android-SherlockFragment] Could not find android-SherlockFragment.apk! [2013-06-03 09:42:36 - my-android] Starting activity com.my.android.activity.MainActivity on device 650rfs2e [2013-06-03 09:42:36 - my-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.my.android/.activity.MainActivity }
Bei genauer Betrachtung meines LogCat wurde jedoch eine dumme Ausnahme von einem Fragment ausgelöst, das ich zu initialisieren versuchte. Nachdem ich mein Fragment repariert hatte (das eine NPE auslöste), funktionierte alles einwandfrei, auch wenn meine Konsole mir immer noch sagt, dass diese Bibliotheks-APKs nicht gefunden werden können.
quelle
Haben Sie versucht, das Projekt zu entfernen, ohne es von der Festplatte zu löschen und das Projekt erneut zu importieren? Das schien für mich zu funktionieren, als ich dieses Problem hatte.
quelle
Wenn Sie die Eclipse-Einstellungen verwenden, werden möglicherweise überall Bibliotheken hinzugefügt. Ich hatte eine referenzierte lib in den Ordnern / libs und referenzierte Bibliotheken. Ich musste sie von diesen Speicherorten entfernen oder löschen und unter Android-Abhängigkeiten einfügen (mithilfe von Einstellungen -> Android und Durchsuchen des Kontrollkästchens "Bibliothek").
Das richtige Layout für mein Projekt: http://www.pasteall.org/pic/show.php?id=34513
quelle
Für mich war der Grund dafür, dass das Bibliotheksprojekt und das Hauptprojekt dasselbe Paket hatten. Der einfachste Weg, das Paket zu ändern, ist zu
right click on the library project > Android Tools > Rename Application Package
.quelle
Die Lösung für dieses Problem bestand für mich darin, fehlerhafte Einträge aus der Manifest-Datei der Bibliotheksprojekte zu entfernen.
Der Absturz würde nur zur Laufzeit auftreten, wenn er die erste Verwendung meines Bibliotheksprojekts traf. Sobald ich die Eigenschaft Anwendungsname geändert habe, um die richtige Anwendungsklasse für das Projekt wiederzugeben, das das Bibliotheksprojekt verwendet hat, hat es funktioniert
quelle