Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo utilizar correctamente NDK-Build en Android Studio 2.2 Vista previa 1

Android Studio 2.2 Preview 1 tiene una nueva función de compilación externa de ndk, pero desde el fragmento app/build.gradle mostrado en la publicación oficial del blog no está claro en absoluto cómo establecer parámetros adicionales de compilación ndk que el archivo Application.mk normalmente contiene Introduzca aquí la descripción de la imagen

Puedo establecer el Android.mk compilación de Android.mk ndk a través de externalNativeBuild , pero ¿cómo puedo establecer las variables requeridas Application.mk ?

Mi Application.mk contiene:

 NDK_TOOLCHAIN_VERSION := clang APP_PLATFORM := android-16 APP_ABI := armeabi APP_STL := c++_static APP_CPPFLAGS += -std=c++11 

  • Comprimir vídeos utilizando FFMPEG y JNI
  • JNI se bloquea al llamar a CallVoidMethod
  • Cómo depurar una aplicación en Android con GDBSERVER?
  • Leer el campo entero del objeto Java con C ++ (JNI)
  • ¿Cómo obtengo el búfer de la cámara Android en bruto en C con JNI?
  • Devolver un int de la función nativa (c ++, jni) bloquea la aplicación
  • Cómo utilizar c / cpp biblioteca / funciones en android
  • Android Cómo leer JNI Core Dump FIles
  • 2 Solutions collect form web for “Cómo utilizar correctamente NDK-Build en Android Studio 2.2 Vista previa 1”

    Android Studio 2.2 Vista previa 3 con actualizado gradle plugin añadido soporte para argumentos adicionales. Puede configurar Application.mk y una configuración adicional como esta:

     defaultConfig { ndkBuild { arguments "NDK_APPLICATION_MK:=Application.mk" cFlags "-DTEST_C_FLAG1" "-DTEST_C_FLAG2" cppFlags "-DTEST_CPP_FLAG2" "-DTEST_CPP_FLAG2" abiFilters "armeabi-v7a", "armeabi" } } 

    Si es posible, recomendaría migrar al sistema de compilación de CMake, debido a un mejor editor de código C ++ y la integración de depuración en Android Studio. Encontrará más información sobre la configuración del complemento gradle aquí: https://sites.google.com/a/android.com/tools/tech-docs/external-c-builds .

    Editar: Desde Android Studio 2.2 Vista previa 5 debes ndkBuild grupos cmake y ndkBuild bajo externalNativeBuild grupo externalNativeBuild :

     defaultConfig { externalNativeBuild { ndkBuild { targets "target1", "target2" arguments "NDK_APPLICATION_MK:=Application.mk" cFlags "-DTEST_C_FLAG1", "-DTEST_C_FLAG2" cppFlags "-DTEST_CPP_FLAG2", "-DTEST_CPP_FLAG2" abiFilters "armeabi-v7a", "armeabi" } } } 

    Editar 2: Parece que envolver ndkBuild en externalNativeBuild grupo externalNativeBuild no funciona debido a un error en las herramientas de compilación.

    Añadir código nativo

     android { ... defaultConfig {...} buildTypes {...} // Encapsulates your external native build configurations. externalNativeBuild { // Encapsulates your CMake build configurations. cmake { // Provides a relative path to your CMake build script. path "CMakeLists.txt" } } } 

    Nota : Si desea vincular Gradle a un proyecto de compilación ndk existente, utilice el bloque ndkBuild {} en lugar de cmake {} y proporcione una ruta relativa al archivo Android.mk. Gradle también incluye el archivo Application.mk si se encuentra en el mismo directorio que el archivo de Android.mk .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.