Ich habe eine Android-Anwendung (läuft auf Android Studio). Es besteht aus 2 Modulen: - Es gibt ein Low-Level-Pure-Java-Modul (nennen wir es Modul A). - Darüber hinaus gibt es das Modul B, das die Android-Anwendung ist. Für einige Verarbeitungen wird moduleA verwendet.Android Studio: Link von externen JAR in einem Multi-Modul-Projekt
Das funktioniert gut.
Ich brauche jetzt das Modul A, um eine externe Bibliothek aufzurufen. Ich habe die JAR-Datei heruntergeladen und in den Ordner moduleA/libs gestellt. Dieser libs-Ordner wird in der großen Abhängigkeit von moduleA referenziert, so dass die Kompilierung in Ordnung ist. Allerdings gibt es eine Ausnahme zur Laufzeit:
FATAL AUSNAHME Verursacht durch: java.lang.ClassNotFoundException: Nicht Klasse „XXXX“ auf Pfad: DexPathList
ich gesehen habe, dass die APK nicht enthalten die JAR-Datei, so ist es normal, dass diese Ausnahme auftritt.
Wenn ich die gleiche JAR-Datei in moduleB/libs kopiere, dann funktioniert es gut, aber ich habe die JAR-Datei zweimal im Projekt! Was ist die saubere Lösung, um damit umzugehen? Ich denke, dass es mit Gradle gelöst werden kann, aber ich weiß nicht wie.
Vielen Dank Olivier
Konvertieren von jar-Bibliothek zu aar ist Abhilfe: https://discuss.gradle.org/t/including-a-java-project-into-an-android-library-project-does-not-include-transitive-file Abhängigkeiten/2442/8 –