将Nexus One连接到运行Snow Leopard的Mac。 从Eclipse运行“debug”。显示
的执行情况/usr/local/android-ndk-r5b/ndk-build NDK_DEBUG=1
加载Nexus One罚款。然后我尝试运行调试器,以便进入JNI层:
$ $NDK_DIR/ndk-gdb
使用这些消息失败:
Invalid attribute name:
package
Invalid attribute name:
package
Invalid attribute name:
package
ERROR: Non-debuggable application installed on the target device.
Please re-install the debuggable version!
所以我在bin中检查了apk,它已经
了lib/armeabi/gdbserver
查看ndk-dbg脚本,此消息表示它未能尝试在手机上查找gdbserver。所以我试着手工做一些ls命令:
$ adb shell ls /data
opendir failed, Permission denied
所以我看了/ data,权限是771.
到目前为止我做错了什么?
答案 0 :(得分:21)
AndroidManifest.xml文件有Windows托架控件(\ r \ n),它正在搞乱ndk-gdb脚本。为了解决这个问题,我在vi中编辑了文件并执行了"set filetype=unix"
。
答案 1 :(得分:0)
另一种解决方法是在root设备上将libs / armeabi / gdbserver推送到/data/data/your.pkg/lib。