android - usar - ndk version 11c
Android NDK encuentra un enlace dinĂ¡mico: no se puede depurar la biblioteca (1)
Tengo un proyecto que compila, carga y ejecuta en el dispositivo Android muy bien. Cuando llamo al servidor gdb también funciona bien. Luego, cuando llamo al cliente gdb para ejecutar con puntos de interrupción es cuando aparece el mensaje:
Error while mapping shared library sections:
/system/bin/linker: No such file or directory.
libandroid.so: No such file or directory.
liblog.so: No such file or directory.
libEGL.so: No such file or directory.
libOpenSLES.so: No such file or directory.
libGLESv2.so: No such file or directory.
libGLESv2_POWERVR_SGX540_120.so: No such file or directory.
...
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code
warning: shared library handler failed to enable breakpoint
Este es mi archivo Android.mk actual, en el caso de que falte alguna configuración adicional:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LS_CPP=$(subst $(1)/,,$(wildcard $(1)/*.cpp))
APP_MODULES := callbacks
APP_PLATFORM := android-14
APP_OPTIM:= debug
LOCAL_CFLAGS := -DRAPIDXML_NO_EXCEPTIONS
LOCAL_CFLAGS += -g
LOCAL_CFLAGS += -ggdb
LOCAL_CFLAGS += -O1
LOCAL_MODULE:=app3D
LOCAL_SRC_FILES := $(call LS_CPP,$(LOCAL_PATH))
LOCAL_LDLIBS := -landroid -llog -lEGL -lOpenSLES -lGLESv2
LOCAL_STATIC_LIBRARIES := android_native_app_glue png
LOCAL_STATIC_LIBRARIES += /jni
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
$(call import-module,libpng)
¿Alguna sugerencia sobre cuál es la razón de tal error extraño y cómo deshacerse de él?
Todos los comentarios y sugerencias son profundamente apreciados y bienvenidos.
Use ndk-gdb
lugar de gdb
estándar. Láncelo desde el directorio raíz de tu proyecto. Considere usar la opción --verbose
si quiere ver qué está haciendo ndk-gdb
. Debe agregar esta línea a su AndroidManifest.xml
también:
android:debuggable="true"
Por ejemplo, el mío se ve así:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:debuggable="true" >
su application.mk debería definir
APP_OPTIM := debug
Con esto no tiene que agregar -g
a los indicadores del compilador, ndk-build lo hará automáticamente.