2011-12-29 12 views
7

Voy a crear una biblioteca compartida para el sistema operativo Android. Aunque he hecho algunas aplicaciones de Android en Eclipse que decidí comenzar mi desarrollo nativo con Visual Studio y contra-Android complemento:Depuración de bibliotecas nativas para SO Android

http://code.google.com/p/vs-android/

Estoy muy familiarizado con VS y Google encontró que el complemento como uno de los primeros resultados. Pasé por todo el proceso de configuración, instalé JDK, NDK, Ant, establecí las variables del sistema y finalmente obtuve un proyecto en funcionamiento. ¡Funciona a las mil maravillas! Pero hay un gran inconveniente. No puedo depurar el código nativo.

Sé que hay una herramienta NDK-GDB, pero estoy fallando constantemente al intentar configurarlo. He leído el documento NDK-GDB.html, tiró la solución vs-Android con éxito inicial y pasado por el siguiente tutorial:

http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/

pero ahora estoy atascado de nuevo cuando se trata de pasar por el:

http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-debugging/

http://mhandroid.wordpress.com/2011/01/23/using-cgdb-with-ndk-debug-and-cgdb-tutorial/

también probé WinGDB - acaba de importar de trabajo del proyecto Eclipse que contiene tanto el código nativo y Java, pero no tiene ni siquiera compilar.

En resumen, hay muchas piezas del rompecabezas, pero aún me faltan algunas. Me temo que me falta la idea de depurar código con una herramienta de línea de comandos como NDK-GDB.

¿Puede alguien darme alguna explicación y pasos claros sobre cómo depurar bibliotecas nativas (no importa si tiene vs-android o Eclipse o lo que sea)? Tenga en cuenta que no soy un gurú de Linux y tampoco estoy familiarizado con cygwin o gdbserver.

+0

¿Por qué quiere crear una biblioteca compartida para su aplicación, en lugar de simplemente vincular estáticamente? –

Respuesta

13

Los pasos que llevan al ser capaz de depurar utilizando ndk-gdb

Para construir

Active la marca -g compilador de JNK/Android.mk para construir el IAE-servidor

LOCAL_CFLAGS := -g 

Construir la lib nativa para la depuración NDK_DEBUG=1

ndk-build NDK_DEBUG=1 

Establezca la aplicación depurada en el manifiesto.

android:debuggable=true 

Abra cygwin y cd en la ruta del proyecto. Establezca el camino a adb.

export PATH=$PATH:/path_to_android_sdk/platform-tools 

Y luego comenzar GDB

ndk-gdb --verbose --adb=adb.exe 

Usted tendrá que escribir continue cuando se haya conectado al servidor de GDB-

+0

Hola, gracias por tu respuesta. Por desgracia, no funcionó: – vitakot

+0

Vita @ Vita-PC ~ $ PATH exportación = $ PATH: C:/Android/android-sdk/plataforma de herramientas Vita @ Vita-PC ~ --verbose $ NDK-BGF - -adb = adb.exe Ruta de instalación de Android NDK: /home/Vita/C: \ Android \ android-ndk-r7 Mediante el comando específico adb: adb.exe /cygdrive/c/Android/android-ndk-r7/ndk-gdb: línea 281: adb.exe: comando no encontrado ERROR: No se pudo ejecutar ADB con: adb.exe – vitakot

+0

@vitakot las rutas en cygwin son diferentes, debería ser '/ cygdrive/c/Android/android- sdk/paltform-tools'. Puede intentar 'cd' al directorio primero para asegurarse de hacerlo bien. – tidbeck

Cuestiones relacionadas