Java 错误:包cookbook.chapter3不可调试(ndk gdb)
我正在阅读《Android原生开发工具包食谱》。每章都有示例代码。本章专门介绍如何使用调试Android NDK应用程序 NDK GDB。但我有问题。烹饪书要求Java 错误:包cookbook.chapter3不可调试(ndk gdb),java,android,c++,android-ndk,java-native-interface,Java,Android,C++,Android Ndk,Java Native Interface,我正在阅读《Android原生开发工具包食谱》。每章都有示例代码。本章专门介绍如何使用调试Android NDK应用程序 NDK GDB。但我有问题。烹饪书要求AndroidManifest.xml将元素的android:debugable属性设置为true。但是当我将其设置为true或false时,Eclipse会抱怨一个错误。我已经读到android:debuggable=true不是强制性的,您可以只做ndk build ndk_DEBUG=1,应用程序将是可调试的。因此,我省略了在清单中
AndroidManifest.xml
将
元素的android:debugable
属性设置为true
。但是当我将其设置为true
或false
时,Eclipse会抱怨一个错误。我已经读到android:debuggable=true不是强制性的,您可以只做ndk build ndk_DEBUG=1
,应用程序将是可调试的。因此,我省略了在清单
中设置可调试
标志,而只是构建应用程序。然后在设备上部署应用程序并运行它,然后从终端调用ndk gdb
。但我得到了这个信息:
$ndk gdb
错误:包cookbook.chapter3不可调试!你可以
通过两种方式解决此问题:
- 调用“NDK build”时使用NDK_DEBUG=1选项重建
- 修改清单,将android:debugable属性设置为“true” 然后正常重建
如何克服这个问题(manifest中的标志和实现调试)?请帮助我调试我的测试项目。我只是在学习。如果您运行的是Android版本4.2或4.3,那么可能是因为Android bug。我也遇到了同样的问题,当我尝试以$MY\u PACKAGE\u NAME运行adb shell时,我得到了
PACKAGE'$MY\u PACKAGE\u NAME'未知
。不知何故,我认为ndk gdb正在使用run-as,这就是为什么它不起作用。有关更多信息,请参阅帖子…请参阅