Architektury procesorů
Xamarin. Android podporuje několik architektur procesoru, včetně 32 a 64 bitů zařízení. Tento článek vysvětluje, jak cílit aplikaci na jednu nebo více architektur PROCESORů podporujících Android.
Přehled architektur procesoru
Při přípravě aplikace pro vydání musíte určit, jakou architekturu procesoru platformy vaše aplikace podporuje. Jeden APK může obsahovat strojový kód pro podporu více různých architektur. Každá kolekce kódu specifického pro architekturu je přidružena k binárnímu rozhraní aplikace (ABI). Každý ABI definuje, jak se očekává, že tento kód počítače bude v době běhu pracovat s Androidem. Další informace o tom, jak to funguje, najdete v tématu zařízení s více jádry Xamarin. Android.
Jak určit podporované architektury
Obvykle explicitně vybíráte architekturu (nebo architektury), pokud je vaše aplikace nakonfigurovaná pro vydání. Pokud je aplikace nakonfigurována pro ladění, jsou povoleny možnosti použít sdílený modul runtime a použít možnosti rychlého nasazení , které zakazují explicitní výběr architektury.
v Visual Studio klikněte pravým tlačítkem myši na projekt pod Průzkumník řešení a vyberte vlastnosti. Na stránce Možnosti pro Android zkontrolujte část vlastností balíčku a ověřte, jestli je zakázané používat sdílený modul runtime (vypnutí této funkce umožňuje explicitně vybrat, které instrukce ABI se mají podporovat). Klikněte na tlačítko Upřesnit a v části podporované architekturyzaškrtněte architektury, které chcete podporovat:
Xamarin. Android podporuje následující architektury:
- armeabi – procesory založené na ARM, které podporují aspoň ARMv5TE sadu instrukcí. Všimněte si, že není bezpečná pro přístup
armeabiz více vláken a neměla by být používána na zařízeních s více procesory.
Poznámka
Od Xamarin. Android 9,2již není podporováno.
armeabi-v7a – procesory založené na ARM s hardwarovou operací s plovoucí desetinnou čárkou a více procesorů (SMP). Všimněte si, že
armeabi-v7astrojové číslo se na zařízeních ARMv5 nespustí.arm64-v8a – procesory založené na architektuře ARMv8 architektury 64.
x86 – procesory podporující instrukční sadu x86 (nebo IA-32). tato sada instrukcí je ekvivalentní k tomu Pro Pentium, včetně instrukcí MMX, SSE, SSE2 a instrukční sse3.
x86_64 Procesory podporující 64 sady instrukcí x86 (označované také jako x64 a amd64).
Xamarin. Android je výchozím nastavením pro sestavení vydaných armeabi-v7aarmeabi-v7a . Toto nastavení poskytuje významně lepší výkon než armeabi . Pokud cílíte na 64 platformu ARM (například Nexus 9), vyberte arm64-v8a . Pokud nasazujete aplikaci na zařízení x86, vyberte x86 . Pokud cílové zařízení x86 používá architekturu 64 procesoru, vyberte x86_64 .
Zaměření na více platforem
Chcete-li cílit na více PROCESORových architektur, můžete vybrat více než jednu ABI (za cenu větší velikosti souboru APK). Můžete použít příkaz generovat jeden balíček (. apk) na vybranou možnost ABI (popsaný v tématu Nastavení vlastností balíčku) a vytvořit pro každou podporovanou architekturu samostatný APK.
Nemusíte vybírat arm64-v8a ani x86_64 pro cílení na 64 zařízení; 64-bitová podpora není nutná ke spuštění vaší aplikace na 64 hardwaru. Například 64 zařízení ARM (například Nexus 9) může spouštět aplikace nakonfigurované pro . Hlavní výhodou povolování 64 je, aby vaše aplikace mohla adresovat více paměti.
Poznámka
Od srpna 2018 budou nové aplikace požadovány pro rozhraní API na úrovni 26 a od verze ze srpna 2019 bude nutné, aby 32 kromě 16bitové verze poskytovala i 64 bitové verze .
Další informace
V některých situacích možná budete muset pro každou architekturu vytvořit samostatný APK (pro snížení velikosti APK nebo protože vaše aplikace má sdílené knihovny, které jsou specifické pro konkrétní architekturu CPU). Další informace o tomto přístupu naleznete v tématu Build ABI-Specific kopírují.

