Ich arbeite an einem Android-Bibliotheksprojekt und möchte Picasso zu meiner Bibliothek hinzufügen. Ich habe bemerkt, dass unterschiedliche Bibliotheken unterschiedliche Ansätze, dies zu tun:Bibliotheksabhängigkeiten von Drittanbietern zur Android-Bibliothek hinzufügen
- Einige Bibliotheken verwenden statische Bibliothek Abhängigkeit (wie gif_encoder und gif_decoder Bibliotheken in Glide lib)
- Einige Bibliotheken verwenden übliche dynamische gradle oder pom Abhängigkeiten (wie Picasso verwendet OKHttp oder Wire verwendet Retrofit und RxJava). Ich meine nicht, dynamische Versionen hier mit + Zeichen gekennzeichnet (wie 2.3.3+)
- Einige Bibliotheken erfordern die explizite Abhängigkeit von einem gewissen lib zusammen mit der Zielbibliothek hinzufügen (wie RxAndroid verwendet RxJava)
So Die Frage: Was ist der beste Weg, Bibliotheken von Drittanbietern zum Android-Bibliotheksprojekt hinzuzufügen? Ich meine den Weg, der den Bibliotheksintegrationsprozess für den Endbenutzer vereinfachen und Versionskonflikte und andere mögliche Probleme vermeiden würde. Was sind die Vor- und Nachteile eines bestimmten Ansatzes?
Aus meiner Sicht, und fügte hinzu, die Abhängigkeiten in der Bibliothek Modul gradle ist der beste Ansatz: durch die Verwendung
Sie können auch Ihre externen JAR-Dateien auf Gradle direkt kompilieren. Auf diese Weise machen Sie den Endnutzer transparent, was Sie zur Erfüllung seines Zwecks benötigen. Wenn Sie den Benutzer dazu veranlassen, Ihre Abhängigkeiten zusammen zu importieren, erhöhen Sie die Komplexität beim Importieren Ihrer Bibliothek und sogar Fehler, falls der Benutzer sie nicht importiert. Wenn der Benutzer jedoch eine andere Version der Bibliothek verwendet, die das Modul verwendet, können Konflikte zwischen den beiden auftreten, so dass der Benutzer sie in der Gradle-Datei lösen muss. –