wake-up-neo.com

Konnte Library.apk nicht finden!

Ich konnte meine Anwendung recht gut umstrukturieren, sodass sich bis auf einige Methoden in einer abgeleiteten Aktivitätsklasse alles in einem Bibliotheksprojekt befindet.

Es funktioniert einwandfrei, 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 bereinigt (Bibliothek und Anwendung), Eclipse neu gestartet und die Projekte neu erstellt, aber diese seltsame Fehlermeldung bleibt bestehen.

Was bedeutet diese Fehlermeldung? (Vor allem in Anbetracht 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 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 hatte, das auf MyLibrary verweist. Ich habe es gelöscht, das Projekt gesäubert und neu aufgebaut. Das Problem besteht weiterhin.

Ich vermute jetzt, dass dies ein "echtes Problem" ist, z. Fehlkonfiguration einiger Pfade oder etwas anderes von meiner Seite. Was könnte es sein?

73
an00b

Ich habe die Ursache des Problems gefunden!

Es stellt sich heraus, dass " mit der neuen Bibliotheksfunktion die Android - Projekte, von denen Sie abhängig sind, nicht im Abschnitt Java" Pfad erstellen "der Eigenschaften angegeben werden Tun Sie dies im Abschnitt Android der Eigenschaften ".

Also musste ich nur das Properties des Anwendungsprojekts aufrufen, auf die Registerkarte Projects klicken, mein eigenes Bibliotheksprojekt auswählen und auf die Schaltfläche Remove klicken. Das ist es. Kein Problem mehr.

Wählen Sie in Eclipse Java EE die Projekteigenschaften aus, wählen Sie dann Project References Und überprüfen Sie das FacebookSDK (siehe Screenshot). enter image description here

Vielen Dank an Lance Nanek !

162
an00b

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

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. (Wenn dies der Fall wäre, müssten Sie die AndroidManifest-Datei in Ihrer Hauptanwendung ändern und die folgenden Anweisungen befolgen.).

m mein separates ConnectionHandler-Projekt als Bibliothek zu verwenden, musste ich Folgendes tun:

  1. In der Hauptanwendung> Projekteigenschaften auswählen> Wechseln Sie zu Java= Build Path> Jars hinzufügen> Wählen Sie den bin-Ordner von ConnectionHandler aus> wählen Sie connectionhandler.jar aus
  2. Im ConnectionHandler-Projekt> Projekteigenschaften auswählen> Android> isLibrary überprüfen
  3. In der Hauptanwendung> Projekteigenschaften auswählen> Gehe zu Android> Verweis auf ConnectionHandler im Abschnitt Bibliothek hinzufügen.

Dies funktioniert für mich und ich kann eine Verbindung zu meinem Webservice herstellen, obwohl ich keine Quelldateien dafür habe in meiner Hauptanwendung. Alles ist in meinem ConnectionHandler-Jar enthalten, auf das verwiesen wird.

Hoffe das hilft jemandem ...

4
ryvianstyron

Heute bekam ich diese Fehlermeldung in der Konsolenansicht von Eclipse, 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 genauem Hinsehen meines LogCat wurde jedoch eine dumme Ausnahme von einem Fragment geworfen, das ich zu initialisieren versuchte. Sobald ich mein Fragment repariert habe (das eine NPE ausgelöst hat), hat alles bestens geklappt, auch wenn mir meine Konsole immer noch mitteilt, dass diese Bibliotheks-APKs nicht gefunden werden können.

2

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.

1
Novazero

Die Lösung für dieses Problem bestand für mich darin, fehlerhafte Einträge aus der Manifest-Datei des Bibliotheksprojekts zu entfernen.

Der Absturz würde nur zur Laufzeit auftreten, wenn mein Bibliotheksprojekt zum ersten Mal verwendet wird. Sobald ich die Application Name-Eigenschaft geändert habe, um die richtige Anwendungsklasse für das Projekt widerzuspiegeln, das verwendet das Bibliotheksprojekt, hat es funktioniert

0
Shane

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

0
Jarett Millard

Unter Verwendung der Eclipse-Einstellungen können überall Bibliotheken hinzugefügt werden. Ich hatte eine referenzierte Bibliothek in den Ordnern/libs und Referenced Libraries. Ich musste sie von diesen Speicherorten entfernen oder löschen und sie unter Android Dependencies (using Preferences -> Android und Surfen unter dem Kontrollkästchen "Is Library" einfügen. )

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

0
darKoram