Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Informacje o bibliotekach pomocy technicznej systemu Android
Firma Google utworzyła biblioteki pomocy technicznej, aby udostępnić nowe funkcje starszym wersjom systemu Android. Ogólnie rzecz biorąc, biblioteki pomocy technicznej mają numer wersji w nazwie, czyli najniższy poziom interfejsu API systemu Android, z którym są zgodne (np. Support-v4 można używać tylko na poziomie 4 i nowszym interfejsu API. Więcej informacji znajduje się w tej dyskusji na temat rozwiązania Stack Overflow).
Dwie biblioteki pomocy technicznej: Support-v4 i Support-v13 nie mogą być używane razem w tej samej aplikacji, czyli wzajemnie się wykluczają. Jest to spowodowane tym, że Support-v13 faktycznie zawiera wszystkie typy i implementację programu Support-v4. Jeśli spróbujesz odwołać się do obu w tym samym projekcie, wystąpią zduplikowane błędy typu.
Problemy z odwoływaniem się
Od tego czasu Support-v4 stało się tak popularne, wiele bibliotek innych firm teraz zależy od niego. Zamiast tego mogą one zależeć od wersji Support-v13, ale częściej zależy to od wersji 4 , ponieważ zapewnia to aplikacjom korzystającym z tych bibliotek innych firm opcję obsługi poziomów interfejsu API aż do 4.
Jeśli biblioteka innej firmy Xamarin odwołuje się do powiązania z usługą Xamarin.Android.Support.v4.dll , każda aplikacja korzystająca z tej biblioteki musi również odwoływać się do elementu Xamarin.Android.Support.v4.dll.Support-v4 Staje się to problemem, gdy ta sama aplikacja chce również użyć niektórych funkcji z Xamarin.Android.Support.v13.dll powiązania do Support-v13. Jeśli odwołujesz się do obu powiązań, wystąpią zduplikowane błędy typu.
Zestaw powiązań typu w wersji 4
Aby obejść ten problem, utworzyliśmy specjalny Xamarin.Android.Support.v4.dll zestaw, który nie ma implementacji, ale po prostu [assembly: TypeForwardedTo (..)] atrybuty, które przekazują wszystkie Support-v4 typy do implementacji w zestawie Xamarin.Android.Support.v13.dll .
Oznacza to, że deweloper może odwołać się do tego zestawu przekazywanego typu w swojej aplikacji, który będzie spełniał odwołanie do dowolnych bibliotek innych firm, jednocześnie pozwalając Xamarin.Android.Support.v13.dll na korzystanie z Xamarin.Android.Support.v4.dll aplikacji.
Pomoc narzędzia NuGet
Deweloper może ręcznie dodać odpowiednie odwołania, ale możemy użyć narzędzia NuGet, aby ułatwić wybór odpowiedniego zestawu (normalne powiązanie w wersji 4 lub zestaw v4) podczas instalowania pakietu NuGet.
Xamarin.Android.Support.v4 Pakiet NuGet zawiera teraz następującą logikę:
Jeśli aplikacja jest przeznaczona dla interfejsu API Level 13 (Gingerbread 3.2) lub nowszego:
Xamarin.Android.Support.v13Narzędzie NuGet zostanie automatycznie dodane jako zależność- Typ przekazywany będzie przywoływane
Xamarin.Android.Support.v4.dllw projekcie
Jeśli aplikacja jest przeznaczona dla dowolnego elementu niższego niż poziom 13 interfejsu API, otrzymasz normalne Xamarin.Android.Support.v4.dll powiązanie, do którego odwołujesz się w projekcie.
Czy muszę używać wersji Support-v13?
Jeśli aplikacja jest przeznaczona dla interfejsu API Level 13 lub nowszego Xamarin Android Support-v4 i wybierzesz użycie pakietu NuGet, Xamarin Android Support v13 pakiet NuGet jest wymaganą zależnością.
Uważamy, że bardzo niewielki wzrost rozmiaru aplikacji (dwa pliki .jar różnią się o 17 kb) jest godny zgodności i mniej bólów głowy powoduje.
Jeśli jesteś nieugięty w aplikacji Support-v4 , która jest przeznaczona dla interfejsu .nupkgAPI Level 13 lub nowszego, zawsze możesz ręcznie pobrać plik , wyodrębnić go i odwołać się do zestawu.