Debugging Android NDK debug APK不打包obj\local\APP\u ABI文件夹中的.so文件
我正在使用Eclipse构建包含3个子项目的Android应用程序: 应用程序的结构如下:Debugging Android NDK debug APK不打包obj\local\APP\u ABI文件夹中的.so文件,debugging,android-ndk,java-native-interface,apk,symbols,Debugging,Android Ndk,Java Native Interface,Apk,Symbols,我正在使用Eclipse构建包含3个子项目的Android应用程序: 应用程序的结构如下: MyApp (Android Application, dependency is set to JNIWrapper) |___ JNIWrapper (JNI wrapper for SharedLib, dependency set to SharedLib) |____ SharedLib (contains native c/c++ API's, originally
MyApp (Android Application, dependency is set to JNIWrapper)
|___ JNIWrapper (JNI wrapper for SharedLib, dependency set to SharedLib)
|____ SharedLib (contains native c/c++ API's, originally developed for Windows)
应用程序通过libs/$APP_ABI文件夹中的共享库的发布(条带化)版本生成OK。
如何强制Eclipse将obj/local/$APP_ABI文件夹中的对象包含在APK文件中?
我已经设置了项目依赖项,最终APK似乎具备了发布构建所需的一切。
我的主要问题是,我无法在JNIWRAPER和SharedLib代码中设置断点
提前谢谢你的帮助。
-NK
编辑--
我已经用调试符号构建了发布对象(使用APP_OPTIM:=debug和APP_CFLAGS+=-g-ggdb-O0-DDEBUG)。现在我可以在JNI和.so文件中设置断点。
但是obj/local/x86中的二进制文件比libs/x86中的二进制文件大得多(800KB对1.5MB);我不确定libs/x86文件夹中缺少哪些额外的调试信息
编辑2--
我添加了APP_CPPFLAGS+=-ggdb3-O0-gdwarf-2-Wall-DDEBUG;现在,我可以在本机代码的调试过程中逐步查看变量值
问题已结束…值得一提的是,NDK工具内置了某种程度的调试支持,而不提供符号化的共享库。查看
ndk gdb
的文档