Wie verwende ich meine benutzerdefinierte Bibliothek apk-Datei in anderen Anwendungen

8

Ich habe meine eigene benutzerdefinierte Bibliothek apk-Datei (sagen lib.apk) & amp; Ich will es schaffen für andere Anwendungen verfügbar. Wie stelle ich die uses-Bibliothek in der android manifest.xml-Datei bereit? andere Apps, um meine benutzerdefinierte Bibliothek zu verwenden.

    
Arutha 07.09.2009, 13:29
quelle

5 Antworten

7

Das Element <uses-library> ist für Add-Ons vorgesehen, die als Erweiterungen der Firmware bereitgestellt werden. AFAIK, wird es für Ihr Szenario nicht verwendbar sein.

Wahrscheinlich müssen Sie einen Service implementieren, der eine API über AIDL verfügbar macht, oder eine Reihe dokumentierter Intent -Aktionen verwenden, um Daten mit anderen Anwendungen auszutauschen, oder eine ContentProvider verfügbar machen.

Ansonsten packen Sie Ihren Code als JAR, nicht als APK. Sie können viele Beispiele dafür in meinen GitHub-Repositorys sehen (alle cwac-one folgen diesem Muster).

    
CommonsWare 07.09.2009 13:45
quelle
3

Stellen Sie beim Konvertieren von einer jar-Bibliothek in eine apk-Bibliothek sicher, dass der Verweis auf das jar aus "Java Build Path" entfernt wird - & gt; "Projekte" und die Bibliothek wurde zu "Android" hinzugefügt - & gt; "Bibliothek".

    
phreed 28.12.2010 16:59
quelle
0

Ich versuche, eine Jar-Bibliothek in Eclipse zu verwenden (ich habe eine externe jar-Bibliothek in den Java-Build-Pfad-Optionen meines Projekts hinzugefügt). Die Anwendung kompiliert, aber ich habe eine "Konnte nicht finden Klasse ..." Ausnahme zur Laufzeit.

    
Arutha 07.09.2009 14:11
quelle
0

Sie können tatsächlich ein Projekt erstellen, das mit einem anderen Projekt verknüpft ist.

Sie müssen zwei Dinge in Eclipse tun:

  • Fügen Sie uses-library = Paketname in der Datei manifest.xml
  • hinzu
  • Projekteigenschaften öffnen - & gt; Java-Buildpfad - & gt; Projekte und fügen Sie das Projekt der verwendeten Bibliothek hinzu

Aber ich habe es nicht geschafft, es laufen zu lassen. Der SDK lädt beide Pakete korrekt hoch, aber ich bekomme einen Linkfehler

%Vor%

Die VM kann die Klasse nicht in meiner App laden, die mit der libs-App verknüpft ist.

    
Viesturs 15.04.2010 13:48
quelle
-1

Die Anwendung "lib.apk" sollte Intents mit Intent-Filters in der Datei AndroidManifest.xml veröffentlichen.

Die Aktivität, die die Verwendung der Aktivität innerhalb der lib.apk erfordert, muss nur eine Absicht wie folgt starten:

%Vor%     
Roy Samuel 13.10.2010 09:53
quelle

Tags und Links