Creación de Debug vs. Release en el NDK de Android

Estoy trabajando en un motor de juego grande que debe ser portado a Android. Todo el código es C / C ++, por lo que estamos portando a través del NDK. Tengo todo el edificio, pero después de un montón de limpieza, todavía estoy seguro de cuál es el mejor método para la construcción de Debug Versiones de lanzamiento de nuestro archivo. Cambiar las cosas a mano cada vez se está haciendo viejo.

¿Tiene archivos Application.mk diferentes para cada destino? ¿O hay alguna manera de incluir múltiples destinos en un único archivo de Android.mk en el directorio jni /? O tal vez una tercera opción podría ser escribir un makefile estándar que establece las variables de entorno que utiliza el archivo Android.mk para informar al proceso de compilación?

Por último, una última pregunta sobre el androide: indicador de depuración que debe establecerse en el archivo AndroidManifest.xml. ¿Qué esto realmente tiene algún efecto en el código nativo generado que se copia en el dispositivo?

Mejor y gracias,

Kevin

¿Tiene archivos Application.mk diferentes para cada destino?

No. Los subdirectorios separados, todos con su propio Android.mk (bibliotecas compartidas y estáticas), pero sólo un Application.mk para mí.

Mi Application.mk es sólo:

APP_STL := gnustl_static APP_OPTIM := debug 

Todavía no estoy seguro de cuál es el mejor método para construir versiones de Debug vs. Release de nuestro archivo .so. Cambiar las cosas a mano cada vez se está haciendo viejo.

Es un poco extendido, por lo menos para mí, usando el diseño jni / Android.mk + Application.mk.

En el elemento de aplicación de AndroidManifest.xml tengo android:debuggable="true" Cuando construyes con ndk-build, usa este indicador de manifiesto para determinar la optimización (que es útil para desactivar o Encendido, apagado para perfiles, etc.)

(Un poco fuera del tema) Recientemente me encontré con

https://code.google.com/p/android-ndk-profiler/

Que, cuando se combina con http://code.google.com/p/jrfonseca/wiki/Gprof2Dot

Genera algunas imágenes bonitas para ayudar a mi pequeña mente a entender cómo las cosas se están ejecutando en el teléfono en sí.

No es necesario que uses el sistema Android.mk para construir tu .so. Personalmente, uso mi propio Makefile con los objetivos que necesito y esto permite una compilación muy estandarizada de depuración vs.

Utilizo un solo archivo para construir una biblioteca para diferentes objetivos. En el Application.mk agregue este "APP_ABI: = armeabi armeabi-v7a" funciona para mí.

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