2016-07-10 12 views
0

Unter der Annahme, dass ich eine LibraryA bauen und kompilieren sie in eine LibA.jar, dann erstelle ich einen LibraryB und legte die erzeugte LibA.jar in LibraryB/libs und kompilieren sie in eine LibB.jar.Wie kann ich eine Methode aus der Abhängigkeitsbibliothek einer Bibliothek in Android Studio referenzieren?

Das Problem ist, wie ich LibB.jar in ein neues Android App-Modul, kann ich nicht direkt Methoden in LibA.jar verweisen. Sieht so aus, als ob ich nur Methoden in LibB.jar referenzieren kann, aber die LibB.jar ist mit einer LibA Abhängigkeit kompiliert. Gibt es eine Möglichkeit, dieses Problem zu lösen?

Antwort

0

Unter der Annahme, dass Sie alle Zugriff auf den Quellcode zu LibraryA haben und LibraryB, können Sie es einfach für LibraryB indem LibraryA als seperaten Modul lösen. Wenn Sie also LibraryB in ein Projekt einfügen möchten, müssen Sie auch LibraryA einschließen.

Wenn LibraryA in LibraryB für den externen Gebrauch versteckt ist, können Sie eine öffentliche Methode, wo Sie die LibraryA von LibraryB, so etwas wie getLibraryA().methodA1() bekommen kann.

0

Sie können .aar verwenden, um die Bibliothek zu umbrechen. Das Format von .aar ermöglicht das "Einbetten" von Abhängigkeiten. Es gibt eine Gradle lib on GitHub, die dabei hilft. Wenn Sie Maven-Repos verwenden, kann die POM-Datei für LibraryB ihre Abhängigkeit LibraryA beschreiben.