Gradle + ndkbuild + android studio 2.2 cómo establecer ABIs compatibles?
Quiero usar la integración de estudio de android con ndkbuild.
Mi parte "nativa" de la construcción del proyecto sólo para armeabi-v7a-hard y x86, y todo funciona bien si sólo ejecute ndk-build
en el directorio jni. Tengo líneas apropiadas en Application.mk
:
- Cómo construir una biblioteca compartida sin JNI en Android?
- Android NDK: ¿qué debo establecer en Application.mk para APP_ABI?
- ¿Cómo cruzar la compilación de OpenSSH para ARM?
- NDK: cómo construir una lib, por lo que la aplicación puede trabajar en brazo (s), x86, etc?
- ¿Por qué arm-linux-androideabi-gcc da error de iostream
APP_ABI := armeabi-v7a-hard x86
Para el proyecto de integración en android estudio he añadido estas líneas en build.gradle
:
externalNativeBuild { ndkBuild { path 'src/lib/jni/Android.mk' } }
Pero por alguna razón gradle build
intenta construir código nativo con APP_ABI=armeabi
y no, debido a mi código solo se puede construir con armeabi-v7a-hard
.
Entonces, ¿cómo puedo decir gradle para construir mi código sólo para armeabi-v7a-hard
y x86
, o simplemente no ignorar APP_ABI
línea de Application.mk
?
Intento esta variante:
defaultConfig { ndk { abiFilters 'x86', 'armeabi-v7a-hard' } }
Pero gradle
falló con tal mensaje:
Las ABI [armeabi-v7a-hard] no están disponibles para la plataforma y serán excluidas de la construcción y embalaje. Las ABI disponibles son [armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64].
Tenga en cuenta que utilizo ndk 10, no último (ndk 13), donde hay armeabi-v7a-hard
y ndk.dir
en local.properties
para valor correcto.
- Cross compilando el mundo estático H hello para Android usando arm-linux-gnueabi-gcc
- ¿Cuál es el uso de la imagen del sistema ARM EABI v7a en android?
- ¿Cómo puedo crear un sistema operativo Android incorporado con una sola aplicación?
- ¿Es seguro soportar sólo armeabi-v7a para Android 4 o superior?
- ¿Cómo afectar a la generación de código Delphi XEx para objetivos Android / ARM?
- ¿Cómo implementar mbtowc para android? (O, idealmente, ¿cómo no hacerlo?)
- ¿Los binarios construidos para ARM funcionarán con procesadores Intel?
- Error durante la interconexión de código C con bibliotecas dinámicas