Jaki procent urządzeń z Androidem działa na architekturze x86?

25

To pytanie może być zbędne lub możliwe, że jest duplikatem, ale używam biblioteki NDK, która działa tylko na urządzeniach ARM. Czy mogę wiedzieć, jaki procent urządzeń z Androidem może obsługiwać moja aplikacja w oparciu o architekturę procesora, podobnie jak te statystyki dotyczące wersji platformy Android ?

sri
źródło
1
Osobista opinia jest taka, że ​​możesz je po prostu zignorować - Intel całkiem niedawno przestał produkować Atom, a nawet ostatnią generację. of Atom nie zawiera kodu SKU dla telefonów; wśród poprzednich urządzeń x86 tylko Zenfone 2 zyskał zauważalną przyczepność.
Andy Yan
To ma sens, dzięki! Prześlij to jako odpowiedź, abym mógł ją przyjąć :)
sri
Witryna odradza publikowanie odpowiedzi opartych na opiniach - przedstawię tylko fakty.
Andy Yan

Odpowiedzi:

15

Ponieważ ostatecznie decydujesz, czy x86 jest nadal warte wysiłku, aby wesprzeć, wymienię tutaj kilka faktów na temat x86 dla urządzeń z Androidem:

  • Intel postanowił przerwać linię Atom dla telefonów / tabletów .
  • Ostatnia generacja podręcznych komputerów Atom - seria x3, x5 i x7 - była co najwyżej wyposażona w niższej klasy chińskie tablety z Androidem. Niektóre są wyposażone w funkcje telefonu / danych (w oparciu o x3-C3230RK ). Niezależnie od tego żaden nie trafił na urządzenia głównego nurtu, a zwłaszcza telefony.
  • Ostatnim popularnym urządzeniem z Androidem x86 był Zenfone 2 firmy ASUS, wydany w marcu 2015 r. - i nawet jego kolejne warianty przeszły na Snapdragon 410/615 Qualcomma, częściowo z powodu problemów z kompatybilnością Androida na x86.
  • Spreadtrum współpracuje z Intelem i właśnie ogłosił SC9861G-IA w marcu 2017 r. / SC9853I w sierpniu 2017 r. Jednak to jeszcze nie zostało urzeczywistnione na urządzeniach konsumenckich, a biorąc pod uwagę koncentrację Spreadtrum na urządzeniach klasy niskiej na rynkach wschodzących, ten SoC prawdopodobnie nie da większego znaczenia x86 na Androida.

EDYCJA: Pierwsze urządzenie wykorzystujące powyższe SoCs Spreadtrum, Leagoo T5c, jest już w przedsprzedaży . Leagoo to mała firma z Chin, a urządzenie jest skierowane głównie do Indii, nie wspominając już o innym wariancie tego samego urządzenia (T5) z konwencjonalnym SoC, który jest sprzedawany w tym samym czasie, więc nie zmienia to założeń powyżej pozostanie niepopularny.

Andy Yan
źródło
2
Zasadniczo oznacza to, że nie ma wielu urządzeń, które nie są oparte na ARM. Dlatego myślę, że moja aplikacja będzie obsługiwać większą część wielu urządzeń z Androidem. Dzięki!
sri
@ iBug To samo tutaj (faktycznie miałem 2, sprzedałem jeden z nich). Problemy ze sterownikami sprawiają, że Windows na nich czasami jest trudny w użyciu, nie mówiąc już o Androidzie, powiedziałbym.
Andy Yan
@AndyYan Problem ze sterownikiem? Nie ma problemu, jeśli wyłączysz automatyczną aktualizację sterownika w WU
iBug
@iBug Nah - niektóre sterowniki, takie jak panel dotykowy i wyświetlacz, czasami działają nieprawidłowo i wymagają ponownej instalacji. Nie spowodowane automatycznymi aktualizacjami sterowników.
Andy Yan,
1
OTOH, możesz potrzebować wsparcia x86 i innych poprawek, aby uruchomić aplikację na Chromebookach .
Alex Cohn
23

Skończyłem z tym wnioskiem po wielu poszukiwaniach.

Przydatne informacje w statystykach Unity .

  • ARMv7: 98,1%

  • Intel x86: 1,7%

Jednak nie byłem zadowolony, więc zweryfikowałem to z wielu zasobów.

Według dokumentacji Androida .

armeabi został wycofany w r16. Usunięto w r17. Bez twardego pływaka.

i

Historycznie NDK obsługiwał 32-bitowe i 64-bitowe MIPS, ale wsparcie zostało usunięte w NDK r17.

Summery po wielu poszukiwaniach

  • mipsy (przestarzałe)
  • mips64 (przestarzałe)
  • armeabi (przestarzałe)
  • armeabi-v7a ( wymagany  - obecnie najpopularniejsza architektura)
  • arm64-v8a ( wymagany  - nowsza wersja armeabi-v7a)
  • x86 (opcjonalnie, bardzo ograniczona liczba urządzeń, takich jak Asus Zenfone 2, emulator Genymotion / Android)
  • x86_64 (opcjonalnie, bardzo ograniczona liczba urządzeń, takich jak Asus Zenfone 2, emulator Genymotion / Android)

Powinienem również wspomnieć, że ChromeBook korzysta z procesorów Intel x86i x86_64architektury. (Dodaj tę architekturę tylko wtedy, gdy obsługujesz ChromeBooka)

Wniosek

Jeśli aplikacja obsługuje armeabi-v7ai obsługuje arm64-v8aarchitektury, ponieważ mają one około 99% urządzeń z Androidem.

Ważna sugestia

Czy martwisz się rozmiarem aplikacji (powinieneś), powinieneś podzielić swój apk na wiele abi. Android studio i sklep Play obsługują przesyłanie wielu plików APK , dzięki czemu aplikacja ma tylko 1 architekturę plików ndk.

Więc będzie to bardzo wydajne, aby zbudować wiele apk.

Ważne linki

Khemraj
źródło