ndk-gdb失败并显示消息:无效的属性名称:package

Sco*_*son 15 macos gdb android-ndk

将Nexus One连接到运行Snow Leopard的Mac.从Eclipse运行"debug".显示执行

/usr/local/android-ndk-r5b/ndk-build NDK_DEBUG=1 
Run Code Online (Sandbox Code Playgroud)

负载Nexus One就好了.然后我尝试运行调试器,以便进入JNI层:

$ $NDK_DIR/ndk-gdb 
Run Code Online (Sandbox Code Playgroud)

失败了这些消息:

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!
Run Code Online (Sandbox Code Playgroud)

所以我检查了bin中的apk,它有

lib/armeabi/gdbserver
Run Code Online (Sandbox Code Playgroud)

看一下ndk-dbg脚本,这条消息意味着它没有尝试在手机上找到gdbserver.所以我试着手工做一些ls命令:

$ adb shell ls /data
opendir failed, Permission denied
Run Code Online (Sandbox Code Playgroud)

所以我看了/ data,权限是771.

到目前为止,我做错了什么?

Sco*_*son 21

AndroidManifest.xml文件具有Windows托架控件(\ r \n),它正在搞乱ndk-gdb脚本.为了解决这个问题,我在vi中编辑了文件并做了一个"set filetype=unix".

  • 在我的Mac上,它应该是*"set fileformat = unix"*. (2认同)