Java 错误:包cookbook.chapter3不可调试(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,应用程序将是可调试的。因此,我省略了在清单中

我正在阅读《Android原生开发工具包食谱》。每章都有示例代码。本章专门介绍如何使用调试Android NDK应用程序 NDK GDB。但我有问题。烹饪书要求
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,这就是为什么它不起作用。有关更多信息,请参阅帖子…请参阅