Przedmowa: Na początku system Android obsługiwał niemal wyłącznie architekturę procesora ARMv5, ale obecnie platforma Android obsługuje 7 różnych architektur CPU, mianowicie ARMv5, ARMv7 (od 2010), x86 (od 2011), MIPS (od 2012), ARMv8, MIPS64 oraz x86_64 (od 2014), z których każda jest powiązana z odpowiadającą aplikacją ABI. Binary Interface)。 Interfejs Binarny aplikacji definiuje, jak binarne pliki (szczególnie pliki .so) działają na odpowiedniej platformie systemowej, od używanego zestawu instrukcji, przez wyrównanie pamięci z dostępnymi bibliotekami funkcji systemowych. Na Androidzie każda architektura CPU odpowiada ABI: armeabi, armeabi-v7a, x86, mips, arm64-v8a, mips64, x86_64.
Seria X86 eksport ANDROID_ABI=x86
Seria ARM Cortex-A8 lub Cortex-A9 export ANDROID_ABI=armeabi-v7a (Uwaga: armeabi-v7a jest przeznaczony dla procesorów ARM z operacjami zmiennoprzecinkowymi lub zaawansowanymi rozszerzeniami)
ARMv6 export ANDROID_ABI=Armeabi (Uwaga: Armeabi jest przeznaczone dla zwykłych lub starych procesorów Arm)
ARMv6 nie jest wyposażony w FPU Eksport ANDROID_ABI=Armeabi eksport NO_FPU=1
ARMv5 lub emulator Eksport ANDROID_ABI=Armeabi eksport NO_ARMV6=1
Seria MIPS eksport ANDROID_ABI=MIPS
1. O architekturze ARM (Advanced RISC Machine) Jest to 32-bitowa architektura procesora RISC (Reduced Instruction Set Computing), szeroko stosowana w wielu projektach systemów wbudowanych. Jednak istnieje wiele osiągnięć w innych dziedzinach, a dzięki cechom oszczędzania energii procesory ARM są bardzo odpowiednie w dziedzinie komunikacji mobilnej, odpowiadając głównym celom projektowym: niskim kosztom, wysoką wydajnością i niskim zużyciem energii. Zaletą ARM nie jest mocna wydajność, lecz efektywność; ARM korzysta z zestawu instrukcji potokowych RISC, który jest w niekorzystnej sytuacji przy wykonywaniu kompleksowej pracy, a jego zalety można w pełni wykorzystać w niektórych aplikacjach z relatywnie stałymi zadaniami. Komputery o strukturze ARM łączą CPU z urządzeniami do przechowywania danych za pośrednictwem dedykowanego interfejsu danych, dlatego trudno jest zwiększyć wydajność pamięci i pamięci ARM (zazwyczaj pojemność pamięci i przechowywania danych została określona w projekcie produktu), dlatego system wykorzystujący strukturę ARM zazwyczaj nie uwzględnia rozbudowy. Zasada "dość dobrego" jest zasadniczo realizowana. 2. O architekturze x86 Jest to złożona architektura procesora CISC (Complex Instruction Set Computer) oparta na złożonym zestawie instrukcji. Komputery X86 są i tak znacznie szybsze i wydajniejsze niż systemy oparte na ARM. Procesor X86 to ponad 1G, dwurdzeniowy i czterordzeniowy. Komputery o strukturze x86 wykorzystują metodę "mostka" do łączenia się z urządzeniami rozszerzeniowymi (takimi jak: dyski twarde, pamięć itp.), a komputery o strukturze x86 pojawiają się od prawie 30 lat, a ich urządzenia wspierające rozszerzenie są różnych typów, a cena jest stosunkowo niska, więc komputery o strukturze x86 mogą łatwo zwiększyć wydajność, na przykład zwiększając pamięć, dyski twarde itp. |