Czy ktoś może wyjaśnić, co oznacza zespół narzędzi Android w poniższym krótkim akapicie?Wyjaśnij strategię zależności przechodnich opisaną w dokumentacji systemu Android Build System.
W szczególności: Co to jest "somelib.jar"?
Czy sugerują, żebym utworzył nowy projekt podrzędny, który ma tylko zależności, nazwałby go "projectA", a następnie miałby opublikować projekt "projectA.jar"? (using artifacts.add ("default", plik ("projectA.jar"))
Wymagane zachowanie, którego chcę, to opublikowanie "projectA.jar" wraz z jego zależnościami bez powodowania "zdefiniowania wielu plików dex" błędy
Cytat:.
Jeśli masz lokalną słoik lub biblioteki AAR, które chcesz użyć w bardziej niż jednego projektu, nie można po prostu odwoływać bezpośrednio jako lokalny zależność. To jest bec ause plugin na Androida będzie narzekał, jeśli znajdzie ten sam plik JAR dwa razy podczas dekompresji projektu i wszystkich jego zależności . (Zauważ, że w tej chwili nie możesz faktycznie użyć lokalnego pliku aar , nawet jeśli odwołasz się do niego tylko raz).
Jednym ze sposobów rozwiązania tego problemu jest wdrożenie artefaktu w repozytorium. Chociaż jest to możliwe, może nie być wygodne ze względu na obciążenie związane z zarządzaniem takim repozytorium.
Inną opcją jest utworzenie nowego podprojektu Gradle i uczynienie tego opublikowanego artefaktu projektu plikiem jar lub aar, który chcesz ponownie wykorzystać. Wtedy możesz po prostu mieć inne podprojekty Gradle zależą od tego nowego podprojektu.
W tym nowym podprojektu, wystarczy utworzyć build.gradle z następujący:
configurations.create ("Default")
artifacts.add ("Default", plik ("somelib .jar '))