【发布时间】:2014-06-14 13:11:49
【问题描述】:
我正在使用 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 developed for Windows)
应用程序可以使用 libs/$APP_ABI 文件夹中的共享库的发布(条带化)版本构建。 如何强制 Eclipse 将 obj/local/$APP_ABI 文件夹中的对象包含在 APK 文件中? 我已经设置了项目依赖项,最终 APK 似乎拥有发布构建所需的一切。 我的主要问题是,我无法在 JNIWrapper 和 SharedLib 代码中设置断点。
提前感谢您的帮助。 - NK
编辑 --
我已经使用调试符号构建了发布对象(使用 APP_OPTIM := debug 和 APP_CFLAGS += -g -ggdb -O0 -DDEBUG)。现在我可以在 JNI 和 .so 文件中设置断点。 但是 obj/local/x86 中的二进制文件比 libs/x86 中的二进制文件大得多(800KB 对 1.5MB);我不确定在 libs/x86 文件夹中缺少哪些额外的调试信息。
EDIT2 -- 我添加了 APP_CPPFLAGS += -ggdb3 -O0 -gdwarf-2 -Wall -DDEBUG;现在我可以在调试本机代码期间单步执行并查看变量值。
问题已关闭...
【问题讨论】:
标签: debugging android-ndk java-native-interface apk symbols