2016-05-04 10 views
9

Próbuję wygenerować wiązanie Xamarin dla Androida com.adobe.creativesdk.image bibliotekaJak wygenerować wiązanie Xamarin dla AAR z wieloma zależnościami?

Problem polega na tym, że ta biblioteka zawiera 20 referencji, a te odniesienia na pewno zawierają znacznie więcej. Musiałbym zbadać całe drzewo i wyodrębnić wszystkie odniesienia, aby dodać je do projektu wiążącego.

Na pewno musi być łatwiejszy sposób na zrobienie tego. Powiedziano mi, że mogę utworzyć pakiet AAR zawierający wszystkie odniesienia przy użyciu Android Studio, ale nie jestem pewien, co zrobić, aby to zadziałało. Niektóre z odniesień to też AAR.

Czy możesz podać mi prawidłową ścieżkę, aby to wiązanie działało?

+0

masz starał się ten http://stackoverflow.com/questions/24309950/create-aar-file-in-android-studio – Ankur1994a

+0

Ankur1994a: Obawiam się, że nie widzę, jak to pomaga. Czy możesz wyjaśnić, proszę? –

Odpowiedz

1

Miałem ten sam problem iw końcu rozwiązałem go, dodając po prostu zależności. Wiele można dodać za pomocą pakietów NuGet (kliknij prawym przyciskiem myszy na bindproject i kliknij dodaj pakiety nugetowe ...), najpopularniejsze z nich, takie jak usługi odtwarzania, gons okhttp3 itd. Można znaleźć tutaj. Jeśli ty, tak jak ja, miałeś kilka niecodziennych zależności, być może będziesz musiał dodać je jako projekty wiążące.

Przeczytałem, że można dodać zależność aar/jar bezpośrednio do projektu wiążącego i ustawić działanie kompilacji, aby odwoływać się do JAR lub embeddedReferenceJar, ale to nie działało dla mnie. Jestem stosunkowo nowy w stosunku do xamarin, więc nie jestem pewien, czy to po prostu nie jest sposób, w jaki ma być użyty, czy też dlatego, że nie mógł być automatycznie związany z powodu błędu wykonania (dostał błędy i ostrzeżenia, które musiałem naprawić w metapliku, gdy później dodałem słoik zależności/aar do własnego bindsproject).

Bez względu na sposób, w jaki zostałem wprowadzony do działania, dodałem nowy obiekt bindingsproject do rozwiązania, w którym dodałem słoik zależności/aar, a następnie zbudowałem go i dodałem potrzebne wiersze/węzły do ​​metapliku, aby go skompilować . Następnie po prostu dodałem projekt "wiązania zależności" jako odniesienie w moim rzeczywistym bindsproject.

To wygląda bardziej na obejście niż na rzeczywiste rozwiązanie, ale przynajmniej mam je do roboty, więc mam nadzieję, że może ci pomóc.

1

Biblioteki wiążące zawsze mają własne zastrzeżenia, ale zamierzam dokonać pewnych uogólnień, aby utrzymać porządek.

  1. Sprawdź zależności i jeśli którekolwiek z nich są już w Nuget UŻYJ TYCH. Rzeczy takie jak biblioteki wsparcia Android, API Google Play, pakiety IBM SDK itp. Większość z nich ma już powiązania i znajduje się w Nuget.

  2. Nie zapomnij sprawdzić numerów wersji swoich zależności względem tych w Nuget. Może Twoja .aar lib jest w rzeczywistości bardziej aktualna niż Binding on Nuget.

  3. Oddzielne duże biblioteki. Znajdź resztę swoich zależności, które nie są w Nuget, które są stosunkowo duże, a następnie utwórz osobne projekty Biblioteki powiązań Androida dla każdego z nich. Powszechnie Binding API rozpadają się z dużymi bibliotekami jako zależnościami, więc jest znacznie łatwiej (i czystsze IMO) do tworzenia oddzielnych projektów dla nich, a następnie dodać odniesienia do projektu do biblioteki końcowej.

  4. Oddziel swój numer jars od aars. Zwykle twoje pliki .aar są duże, ale i tak pobierają własne powiązania i przechodzą w pętlę # 3, ale w zależnościach od jar należy użyć akcji budowania ReferenceJar.

  5. Graj z urządzeniem MetaData.xml. Może to zająć dużo czasu, ale interfejsy API Binding nie są doskonałe. Użyj MetaData i innych plików, aby go wyczyścić do swoich potrzeb.

kilka innych rzeczy, które mogą pomóc:

Powiązane problemy