Android NDK: ADVERTENCIA: APP_PLATFORM android-9 es más grande que android: minSdkVersion 8

Estoy recibiendo la siguiente advertencia al compilar mi proyecto cocos2d-x con cygwin.

`/cygdrive/e/project/MyGame/proj.android ` /cygdrive/e/android-ndk-r8e/build/core/add-application.mk:128: Android NDK: WARNING:APP_PLATFORM android-9 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml 

Estoy usando la versión NDK r8e. Mi versión mínima de SDK es 8 en mi AndroidManifest.xml pero no especifico APP_PLATFORM como android-9 en ninguna parte. ¿Cómo puedo cambiar esto a 8.

¿Puede alguien decirme cómo resolver esta advertencia, ya que creo que esto puede causar problemas.

Parece que estás usando Android-9 como tiempo de ejecución. Puede poner APP_PLATFORM := android-8 en su archivo Application.mk y la advertencia desaparecerá.

La razón detrás de la advertencia / error es que le permite saber que está compilando el código nativo para una plataforma de destino superior a su "mínimo" spcefied en el manifiesto. Es básicamente diciendo 'tenga cuidado con el uso de características no compatibles con el sistema operativo más antiguo. El cambio Application.mk está bien y no debería tener ningún efecto adverso real en el código compilado.

Soluciones alternativas.

Para r8 puede cambiar la configuración de compilación para considerarla una advertencia en lugar de un error. Esto funcionó en r8 pero es sólo una corrección parcial en r9.

Para NDK rev r9 (funciona en otras revs también, pero location / line # puede variar)

$ {NDK} /build/core/add-application.mk línea 138

Agregue "#" al inicio de la línea.

# $ (Llamada __ndk_info, WARNING: APP_PLATFORM $ (APP_PLATFORM) es mayor que android: minSdkVersion $ (APP_MIN_PLATFORM_LEVEL) en $ (APP_MANIFEST))

Un carácter, arreglo de 30 segundos … va depurar el código nativo.

Si desea compilar su biblioteca nativa para una versión más reciente que su minSdkVersion, sólo puede configurar Eclipse para cambiar el error a una advertencia. Esto puede ser útil si sabe que su código Java NO va a cargar la biblioteca nativa en versiones anteriores de Android. (Advertencia: Si no garantiza eso, cargar su biblioteca nativa en versiones de Android anteriores a lo especificado en APP_PLATFORM puede fallar y bloquear la aplicación si hay enlaces de biblioteca dinámica no satisfechos – por ejemplo, si su APP_PLATFORM es 9 y utiliza OpenSLES, esto fallará si intentas usar JNI en Android 2.2 o anterior, pero mientras tu parte de Java sepa esto y se asegure de que loadLibrary nunca se llame a versiones anteriores, entonces estás bien.)

Puede cambiar la configuración de Eclipse siguiendo estos pasos, proporcionada por alguien de Google (en este enlace ) (pero también, vea mi nota IMPORTANTE a continuación):

En eclipse:

 - Window -> Preferences -> C/C++ -> Build -> Settings - Select CDT GNU C/C++ Error Parser - In the Error Parser options at the bottom, add a new entry with the following contents: Severity: Warning Pattern: (.*?):(\d+): Android NDK: WARNING:(.*) File: $1 Line: $2 Description: $3 

¡IMPORTANTE! Lo que el chico de Google no notó es que también necesita usar el botón "Subir" en la configuración para mover su nueva regla a la parte superior porque de lo contrario algunas otras reglas más genéricas le eclipsan y no funciona.

  • Uso no válido de tipo incompleto en android ndk utilizando c ++ 11 std :: async
  • No se encuentra la ruta de compilación de Android NDK
  • Actualización del ejemplo HelloJni
  • Android CDT: ¿Es posible usar ndk-build sin bash (Eclipse en Windows)?
  • Problemas específicos de Ndk-cygwin path
  • Buildozer no funciona con java bajo cygwin
  • Cómo desinstalar MinGW y hacer cygwin 'make' como programa make deafult con gcc 3.8.1
  • ¿Cómo ejecutar ejecutar aplicaciones C ++ en android?
  • Error en la creación del proyecto cocos2d-x android: atributo de objeto EABI desconocido 44
  • Warning: no se puede escanear la sección ejecutable de Cortex-A8 erratum porque no tiene símbolos de asignación
  • Depuración NDK de Android: armeabi-v7a no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.