Android Native – ¿Cuándo utilizar NDK de 64 bits?
Según la página de descarga oficial de NDK: http://goo.gl/vI7Oek hay dos versiones de destino:
- X86 Target
- X64 Target
Y me preguntaba (como un novato en la materia NDK), esto significa que debo utilizar el x64 NDK al compilar una aplicación para dispositivos equipados con procesadores x64?
- Idioma (s) / Marco adecuado para mapa móvil interactivo
- ¿Cómo ejecutar ejecutar aplicaciones C ++ en android?
- Utilizar la biblioteca C en Android sobre NDK
- OpenCV warpPerspective rendimiento lento
- Cómo agregar código nativo de Android a LibGDX?
Y si sólo necesito un archivo ".apk", cómo hacer que contenga tanto x86 y x64 construye? (Si es posible por supuesto)
- Java Lang UnsupportedClassVersion Error en Xamarin Studio
- Temporalmente, deshabilitar programaticamente la rotación de pantalla en Qt
- Cómo compilar el proyecto Qt 5.2 simple en C4Droid
- No se puede iniciar el proyecto cocos2dx ios en android
- ¿Caminos relativos o absolutos de Android.mk?
- Java compilador para teléfonos Android
- Cómo devolver Java.Lang.Object de un método anulado en MonoDroid
- Error: Programa "/ NDK-build" no se encuentra en PATH
Actualización: La pregunta es un poco anticuada ahora. A partir de la versión 10c
NDK se distribuye en un único paquete para todas las plataformas de destino de nuevo . La respuesta ha sido actualizada para reflejar este hecho.
En primer lugar, debe distinguir entre la arquitectura del dispositivo donde se ejecutará su aplicación (que puede ser ARM (varios tipos) 32 o 64 bits, MIPS 32 o 64 bits e Intel x86 / x64) y la arquitectura / OS de Su máquina de construcción (que puede ser Windows, Linux o Mac, todo funcionando en procesadores Intel x86 / x64).
Así que supongamos que tiene Windows 64 bits. Entonces (como ahora la última versión es 10d
) debe descargar android-ndk-r10d-windows-x86_64.exe
. Le permitirá construir para todas las plataformas de destino soportadas por NDK (32 y 64 bits).
Si crea un dispositivo de destino de 32 bits, la aplicación también se ejecutará en un dispositivo de 64 bits, ya que todas las arquitecturas de 64 bits son compatibles con sus equivalentes de 32 bits.
Pero si desea utilizar las características específicas de 64 bits de la arquitectura de destino, debe utilizar los toolchains de 64 bits. Si construye sólo para 64 bits, la aplicación no se ejecutará en arquitectura de 32 bits.
Si tiene que soportar varios objetivos (como ARM e Intel x86), en Application.mk
puede especificar los destinos para los que desea que se construya su código nativo (google para APP_ABI
), por lo que APP_ABI
varias versiones de la biblioteca nativa Y el sistema cargará el correspondiente en tiempo de ejecución. También de esta manera puede proporcionar binarios independientes para las versiones de 32 y 64 bits de la misma familia de arquitectura, por lo que puede afinarlas.
Usted puede leer más allá de los documentos dentro del paquete de NDK, son bastante exhaustivos.
- ImageView – dibuja color translúcido en la parte superior para su estado enfocado?
- ¿Cómo se conecta un OnePlus Two Device a Ubuntu a través de MTP?