studio programacion para ndk móviles libro edición desarrollo curso aplicaciones android c++ android-ndk gdb gdbserver

programacion - Android GDB no carga la biblioteca compartida de C++



manual de programacion android pdf (1)

He intentado depurar una biblioteca compartida que escribí en c / c ++ pero no puedo depurarla usando eclipse. Cuando establezco un punto de inflexión nunca se golpea y luego de ejecutar la info sharedlibrary en gdb, obtengo el siguiente, confirmando que la biblioteca no está allí (llamada libtest-java.so)

From To Syms Read Shared Object Library No /system/bin/linker 0x40093070 0x400c36f8 Yes /Users/jpuig/Development/test/git/test_lib-protoype/java/test_Android/obj/local/armeabi/libc.so No libstdc++.so No libm.so No liblog.so No libcutils.so No libgccdemangle.so No libcorkscrew.so No libutils.so No libbinder.so No libhardware.so No libmemtrack.so No libz.so No libandroidfw.so No libexpat.so No libstlport.so No libnativehelper.so No libnetutils.so No libsync.so No libui.so No libGLES_trace.so No libEGL.so No libGLESv2.so No libgui.so No libinput.so No libcamera_metadata.so No libcamera_client.so No libpng.so No libft2.so No libjpeg.so No libgabi++.so No libicuuc.so No libicui18n.so No libskia.so No libsqlite.so No libGLESv1_CM.so No libETC1.so No libwpa_client.so No libhardware_legacy.so No libselinux.so No libsonivox.so No libcrypto.so No libssl.so No libstagefright_foundation.so No libspeexresampler.so No libaudioutils.so No libmedia.so No libusbhost.so No libharfbuzz_ng.so No libLLVM.so No libbcinfo.so No libbcc.so No libRS.so No libRScpp.so No libhwui.so No libandroid_runtime.so No libdvm.so No libjavacore.so No memtrack.msm8974.so No libdrmframework.so No libdrmframework_jni.so No libconnectivitymanager.so No libstagefright_omx.so No libstagefright_yuv.so No libvorbisidec.so No libpowermanager.so No libstagefright_enc_common.so No libstagefright_avc_common.so No libstagefright.so No libmtp.so No libexif.so No libstagefright_amrnb_common.so No libmedia_jni.so No libexif_jni.so No libcommon_time_client.so No libnbaio.so No libeffects.so No libaudioflinger.so No libvideoeditor_osal.so No libvideoeditor_videofilters.so No libvideoeditorplayer.so No libvideoeditor_core.so No libvideoeditor_jni.so No librs_jni.so No libandroid.so No libwilhelm.so No libOpenSLES.so No libjnigraphics.so No libwebviewchromium.so No libwebviewchromium_plat_support.so No libjavacrypto.so No libgsl.so No libadreno_utils.so No libEGL_adreno.so No libGLESv1_CM_adreno.so No libGLESv2_adreno.so No eglsubAndroid.so No libsc-a3xx.so No libqdutils.so No libmemalloc.so No gralloc.msm8974.so 0x77dbd638 0x77eb97b8 No /Users/jpuig/Development/test/git/test_lib-protoype/java/test_Android/obj/local/armeabi/libtest-java.so

¿Hay alguna manera de cargar esta biblioteca manualmente o algo así? en el archivo make utilizo lo siguiente:

incluye $ (CLEAR_VARS)

###### LOCAL_CPPFLAGS += -D DEBUG=1 -D NDK_DEBUG=1 LOCAL_CFLAGS += -D DEBUG=1 -D NDK_DEBUG=1 APP_OPTIM := debug APP_CFLAG := -g -ggdb -O0 ######

¡Muchas gracias por su tiempo!


Me las arreglé para arreglarlo!

Estaba cargando la biblioteca en otra clase y mi MainActivity estaba llamando cuando se presionó el botón, por lo tanto, cuando GDB estaba listo no había bibliotecas cargadas ... pensé que GDB tomaría la nueva biblioteca durante el tiempo de ejecución, por lo que cargar la biblioteca Acabo de agregar las siguientes líneas en el constructor estático de la primera clase llamada:

static { System.loadLibrary("test-java"); }