Uso de la arquitectura de Android?


Tengo algunas bibliotecas nativas que son bastante grandes e hinchan el tamaño binario de la aplicación. Miré APK dividir pero mantener y QAing varios APK no es algo que quiero hacer.

Así que me gustaría excluir arquitecturas no utilizadas en mi versión de compilación usando el ndk.abiFilters Gradle propiedad. (Las compilaciones de depuración que quiero dejar en paz para que pueda ejecutar el emulador acelerado de HAXM en x86).

Estaba pensando en tener armeabi-v7a y arm64-v8a en mi versión, pero no estoy seguro de si vale la pena preocuparse por la cuota de mercado de las otras arquitecturas que estoy cayendo. Después de mucho mirar alrededor no puedo encontrar ninguna referencia a la cuota de mercado de ARMv6 (armeabi), MIPS, x86 o x86_64. Mi intuición me dice que los tres últimos son casi inexistentes, pero no estoy seguro acerca de ARMv6.

Encontré este enlace en un foro que tiene una lista de teléfonos que usan varias arquitecturas. ¿Hay algo más confiable en alguna parte? Tal vez con % de los usuarios similar a la versión de Android dashboard?

¿Algo más que pueda extrañar si solo construyo mis librerías nativas para armeabi-v7a y arm64-v8a (o armeabi, armeabi-v7a y arm64-v8a)?

Author: kos, 2015-10-20

2 answers

En primer lugar, si te preocupa el tamaño binario, realmente no necesitas arm64-v8a, todos esos dispositivos pueden ejecutar los binarios armeabi-v7a muy bien. Solo si realmente necesitas acumular el último rendimiento extra, podría valer la pena.

En cuanto a armeabi y ARMv6; Android en sí ya no es compatible oficialmente, desde Android 4.4 (octubre 2013) - y desde Android 4.0 debería ser mucho menos común (a partir de esa versión, fuente AOSP requiere modificaciones para todavía construir para ARMv6). Así que en la práctica, si usted no está apoyando las versiones por debajo de 4.4, usted puede caer que uno sin ninguna pérdida significativa.

También, para x86; muchos de esos dispositivos vienen con una emulación sorprendentemente decente de binarios arm, por lo que también pueden manejarse con la versión armeabi-v7a.

 32
Author: mstorsjo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-19 16:16:26

Desafortunadamente, el Tablero de Android, por muy útil que sea, no proporciona información de arquitectura, ni tampoco Google Analytics.

Las estadísticas de unidad se utilizan para proporcionar estadísticas por arquitectura y características de CPU. Tenga en cuenta, sin embargo, que estas no son estadísticas generales, sino que solo cubren a los usuarios de aplicaciones/juegos de Unity.

La información ya no parece estar disponible en un enlace público, por lo que he reemplazado los enlaces directos con los últimos instantáneas en archive.org.

 26
Author: Jose Gómez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-24 11:40:36