W tej chwili mam projekt biblioteki, na przykład projekt Foo
, który zależy od biblioteki takiej jak OkHttp
.Czy AAR może zawierać zależności przechodnie?
Teraz Foo
ma maven buildstep, który generuje roczne sprawozdanie z działalności i przekazuje go do publicznego miejsca.
Teraz powiedzmy, że mam projekt B, nazwaliśmy go Bar
. Pasek to aplikacja dla systemu Android, a Bar
zależy od wersji Foo
.
Cóż, mam to. Jednak, kiedy zadzwonić do public static
funkcji w Foo
z Bar
że nazywa OkHttp
, otrzymuję komunikat:
java.lang.NoClassDefFoundError: com.squareup.okhttp.OkUrlFactory
at com.foo.sdk.utils.OkHttpStack.<init>(OkHttpStack.java:15)
tak, to możliwe coś takiego? Czy też trzeba będzie ręcznie polegać na Bar
na OkHttp
, a także na innych zależnościach, które ma ?
Podążam tym podejściem bez większego sukcesu. Zgodnie z poprzednio objaśnioną metodą moje ustawienia powinny wyglądać następująco: 'compile ('com.my :: biblioteka :: [email protected]') { przechodnia = true }' Ale kiedy importuję ostatnią bibliotekę w mój projekt, biblioteka przejściowa brakuje. Nie mam pojęcia, jak postępować, jakikolwiek pomysł? –
@MichaelKnight Jeśli umieścisz plik aar jako plik lokalny przy użyciu flatDir, oznacza to, że aar nie zawiera zależności tranzytowych, powinieneś uwzględnić je ręcznie. Jednakże, jeśli pobierasz aar z, na przykład, maven repo, to biblioteka ma opis zależności, których używa (w pliku pom), a gradle może automatycznie pobrać je dla ciebie. – NazarK
@MichaelKnight nie działa dla mnie –