Hier ist meine Entwicklungsprojektstruktur:
%Vor%MyLib hängt von LibA ab, ich habe MyLib als AAR gepackt und es in ein Maven-Repo freigegeben, aber wenn ich MyLib einschließe ein anderes Projekt ( TestProj ) als Remote-AAR-Abhängigkeit, bekomme ich Build-Fehler (kann nicht die Abhängigkeit von LibA lösen, LibA ist nicht enthalten die Veröffentlichung von MyLib ), Dies ist der Build.gradel im App-Ordner von TestProj :
%Vor%Und hier ist die Build.gradle von MyLib :
%Vor%Wie kann ich MyLib mit LibA freigeben, das bereits im AAR enthalten ist?
Beantworten Sie die Frage selbst. Schließlich habe ich die build.gradle in MyLib geändert in:
%Vor%so LibA wird nur im Build-Prozess von MyLib verwendet, TestProj fragt nicht nach LibA Abhängigkeit zur Kompilierzeit. Beachten Sie, dass dies NoClassDefFoundError zur Laufzeit verursachen kann. Sie müssen also den Leuten, die Ihre Bibliothek benutzt haben, mitteilen, dass sie die LibA selbst in build.gradle ihres Projekts einschließen.
Zuerst suchte ich nach einer Methode, LibA mit MyLib zu paketieren, aber es scheint schwierig.
Siehe diese Frage: Android Studio wie einzelne AAR aus mehreren Bibliotheksprojekten zu packen?