¿Cómo detectar el dispositivo Android es de 64 bits o procesador de 32 bits?
Estoy tratando de encontrar la mejor solución para esta pregunta. La razón es que el lib de nuestra aplicación no puede ejecutarse con el procesador de 64 bits por lo que necesito apagarlo en este caso. Encontré que en la versión 21 de Android (lolipop) y superior podemos detectar fácilmente que el dispositivo es de 32 bits o procesador de 64 bits utilizando Build.SUPPORTED_64_BIT_ABIS y si devuelve la matriz String con 0 elementos entonces … ¡una hah! El dispositivo es un procesador de 32 bits. ¿Qué hay de la versión Android más baja? Build.SUPPORTED_64_BIT_ABIS solo soporta desde la versión Android de Lolipop y superior. Gracias y Saludos cordiales, Les deseo a todos ustedes lo mejor!
- Rotar un mapa de bits utilizando script android
- ¿Cómo intercambiar datos entre renderscript y android framework?
- ¿Puede renderizarse Android en GPU?
- Script de procesamiento de Android
- Allocation.copyTo (Bitmap) que daña valores de píxeles
- La adición de Renderscript en el estudio de Android 1.0.1 con API @ 21 y SDKTools @ 21.1.2 causa errores de compilación
- Uso de OpenGL para reemplazar Canvas - Android
- Invocación de la función de bloqueo de RenderScript
- Encuentra la velocidad del procesador de un dispositivo Android en MHz
- ¿Cuándo deberíamos (realmente) usar RenderScript?
- Cómo utilizar ScriptIntrinsicYuvToRGB (convertir byte yuv a byte rgba)
- No se puede ejecutar Renderscript HelloCompute ejemplo en Android GB 2.3.5
- ¿Cómo obtener estadísticas de uso de la CPU en Android?
Respuesta simple: No hay necesidad de comprobar esto en versiones de Android por debajo de Lollipop. Esto se debe al hecho de que Lollipop introdujo soporte de plataforma para arquitecturas de 64 bits, Android-Versiones por debajo de Lollipop no se ejecutará con un procesador de 64 bits.
Android 5.0 introduce el soporte de plataformas para arquitecturas de 64 bits, utilizadas por el Nexus 9 NVIDIA Tegra K1. Las optimizaciones proporcionan un mayor espacio de direcciones y un rendimiento mejorado para determinadas cargas de trabajo de cálculo. Las aplicaciones escritas en el lenguaje Java se ejecutan automáticamente como aplicaciones de 64 bits; no se necesitan modificaciones. Si su aplicación utiliza código nativo, hemos extendido el NDK para admitir nuevas ABI para ARM v8 y x86-64 y MIPS-64. (Fuente)
try { boolean isArm64 = false; BufferedReader localBufferedReader = new BufferedReader(new FileReader("/proc/cpuinfo")); if (localBufferedReader.readLine().contains("aarch64")) { isArm64 = true; } localBufferedReader.close(); } catch (IOException e) { }
O
final boolean is64bit = Build.SUPPORTED_64_BIT_ABIS.length > 0;
Firdt conectar el dispositivo a un sistema, en el tipo de ventanas en el símbolo del sistema este comando
adb shell cat /proc/cpuinfo | findstr arc
En el sistema abierto de linux o mac open terminal y escriba este comando
adb shell cat /proc/cpuinfo | grep arc
Si la primera línea de salida contain 32
que significa que el tipo de sistema es de 32bit
La primera línea de salida si contain 64
que tipo de sistema medio es de 64bit
32Bit si debajo de 5.0, porque androide apoya 64Bit hasta 5.0.
Juzga si Build.SUPPORTED_ABIS soporta 64 si es superior a 5.0.
String bits; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { bits = TextUtils.join(", ", Build.SUPPORTED_ABIS).contains("64") ? "64-Bit" : "32-Bit"; } else { bits = "32-Bit"; }
Puede ver un dispositivo de 64 bits o 32 bits mediante el uso de herramientas de desarrollo .
- ¿Cómo se notifica al PopupWindow de los acontecimientos externos afectados?
- No se puede recompilar el trabajo APK con APKtool