Frage

Ich habe es geschafft, meine Anwendung ziemlich gut umzustrukturieren, damit mit Ausnahme einiger Methoden in einer abgeleiteten Aktivitätsklasse alles in einem Bibliotheksprojekt liegt.

Es funktioniert wunderschön, außer dass die Konsole von Eclipse (nicht Logcat!) Ausgibt die folgende Fehlermeldung:

[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!

Ich habe beide Projekte gereinigt (Bibliothek und Anwendung), die Eclipse neu gestartet, die Projekte neu gebaut, aber diese seltsame Fehlermeldung bleibt bestehen.

Was bedeutet diese Fehlermeldung? (Besonders im Licht, dass alles in Ordnung zu sein scheint)

Wie werde ich es los?

AKTUALISIEREN: Ich habe versucht, das Projekt zu entfernen und es dann gemäß dem folgenden Vorschlag erneut zu importen. Es half nicht. Ich fand dann Dieser Thread Das half mir zu erkennen, dass ich hatte <uses-library> In der AndroidManifest.xml der Anwendung bezieht sich auf Mylibrary. Ich habe es gelöscht, das Projekt gereinigt und wieder aufgebaut. Das Problem besteht weiterhin.

Ich vermute jetzt, dass dies "echtes Problem" ist, z. B. eine Misskonfiguration einiger Wege oder etwas anderes von meiner Seite. Was könnte es sein?

War es hilfreich?

Lösung

Ich fand die Quelle des Problems!

Es stellt sich heraus, dass "Mit der neuen Bibliotheksfunktion geben Sie nicht die Android -Projekte an, von denen Sie im Abschnitt Java Build Pfad der Eigenschaften abhängen. Sie tun es im Android -Abschnitt der Eigenschaften".

Ich musste also nur das Anwendungsprojekt gehen Properties, schlage die Projects Registerkarte, wählen Sie mein eigenes Bibliotheksprojekt und klicken Sie auf die Remove Taste. Das ist es. Kein Problem mehr.

Wählen Sie in Eclipse Java ee die Projekteigenschaften aus und wählen Sie dann Project References, Überprüfen Sie dann den Facebooksdk (siehe Bildschirmaufnahme) enter image description here

Dank an Lance Nanek!

Andere Tipps

Das ist interessant ... Ich habe nicht ganz getan, was die Antwort angibt.

Ich habe ein separates Android -Projekt namens "ConnectionHandler"Was eine Verbindung zu einem Webservice herstellt, um Informationen abzurufen. Dieses Projekt enthält keine Aktivitätsklassen. (Wenn dies der Fall wäre, müssen Sie Änderungen an der AndroidManifest -Datei in Ihrer Hauptanwendung erfordern und den folgenden Anweisungen folgen.)

Meine separate verwenden ConnectionHandler -Projekt Als Bibliothek musste ich Folgendes tun:

  1. In der Hauptanwendung> Projekteigenschaften auswählen> Gehen Sie zu Java Build -Pfad> Gläser hinzufügen> Wählen Sie den Bin -Ordner von ConnectionHandler> Wählen Sie ConnectionHandler.jar aus
  2. Im ConnectionHandler -Projekt> Projekteigenschaften> Android> Islibrary überprüfen
  3. Wählen Sie in der MainApplication> Projekteigenschaften> Wählen Sie zu Android> Hinzufügen zu ConnectionHandler im Abschnitt Bibliothek.

Das funktioniert für mich, Und ich kann eine Verbindung zu meinem Webservice herstellen, obwohl ich in meiner Hauptanwendung keine Quelldateien habe. Alles ist in meinem Connectionhandler -Glas enthalten, auf das verwiesen wird.

Hoffe das hilft jemandem ...

Heute habe ich diese Fehlermeldung in der Konsolenansicht von Eclipse erhalten, aber es stellte sich heraus, dass dies nicht das Problem war. Meine Anwendung wurde auf meinem Gerät erstellt und installiert und lief sogar um einen Bruchteil einer Sekunde (bis sie abstürzte). So sah meine Konsolensicht auf 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 enger Betrachtung meiner Logcat gab es jedoch eine dumme Ausnahme aus einem Fragment, das ich initialisieren wollte. Sobald ich mein Fragment (das ein NPE erhöhte) repariert hatte, hat alles gut geklappt, selbst wenn mir meine Konsole immer noch sagt, dass es diese Bibliotheks -APKs nicht finden kann.

Haben Sie versucht, das Projekt zu entfernen, ohne das Projekt aus zu löschen und das Projekt neu zu importieren? Das schien für mich zu funktionieren, als ich dieses Problem hatte.

Mit den Eclipse -Einstellungen können Sie überall mit Bibliotheken hinzugefügt werden. Ich hatte eine Referenzlib in /libs und referenzierte Bibliotheksordner. Ich musste sie aus diesen Standorten entfernen oder löschen und in Android -Abhängigkeiten einfügen (unter Verwendung von Einstellungen -> Android und Browsen unterhalb des Kontrollkästchen "IS Library").

Das richtige Layout für mein Projekt:http://www.pasteall.org/pic/show.php?id=34513

Für mich war der Grund, warum dies geschah, dass das Bibliotheksprojekt und das Hauptprojekt das gleiche Paket hatten. Der einfachste Weg, das Paket zu ändern, ist zu right click on the library project > Android Tools > Rename Application Package.

Die Lösung für dieses Problem für mich bestand darin, fehlerhafte Einträge aus der Manifestdatei der Bibliotheksprojekte zu entfernen.

Der Absturz würde nur zur Laufzeit stattfinden, wenn er die erste Verwendung meines Bibliotheksprojekts traf. Sobald ich die Eigenschaft des Anwendungsnamens ändere, um die korrekte Anwendungsklasse für das Projekt zu reflektieren, das Gebraucht Das Bibliotheksprojekt, dann funktionierte es

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top