ndk-gdb,調試native code,出現以下錯誤:
ndk-gdb --verbose,查看信息:
--verbose: Print verbose information about the native debugging session setup. Only needed to debug problems when you can't connect and that the error messages printed by ndk-gdb are not enough.
調試手機:HTC Desire Android 2.2
Are you sure that your install application is debuggable?
I'm sure!
1、已修改AndroidManifest.xml,為標簽<application />添加屬性:android:debuggable="true"
2、ndk-build -NDK_DEBUG=1生成調試版.so庫,查看<PROJECT_HOME>/libs/armeabi/目錄:
所以,不是這個問題。
在終端運行命令,其中<PACKAGE_NAME>是項目的包名:
adb shell run-as <PACKAGE_NAME> /system/bin/sh -c pwd
run-as: Package '<PACKAGE_NAME>' has corrupt installation
最后,google一下,成功解決了該問題:
1、adb shell
2、su,使用root權限(手機已root)
3、ls -l /data,/data權限信息如下:
4、修改權限
# chmod 771 /data/data
# chown system.system /data/data
5、再次執行ls -l /data
啟動程序后,再次運行ndk-gdb,成功: