我尝试完成这个教程来学习调试NDK应用程序,但是当我在AndroidManifest.xml文件中设置android:debuggable="true"
时,会出现以下错误:
避免硬编码调试模式;将其留空允许调试和发布版本自动分配一个
如何解决这个问题,以便能够调试Teapot应用程序?
我尝试完成这个教程来学习调试NDK应用程序,但是当我在AndroidManifest.xml文件中设置android:debuggable="true"
时,会出现以下错误:
避免硬编码调试模式;将其留空允许调试和发布版本自动分配一个
如何解决这个问题,以便能够调试Teapot应用程序?
请参阅SDK工具,版本8(2010年12月)的官方文档。
支持真正的调试构建。开发人员不再需要在清单文件的
<application>
标签中添加android:debuggable
属性,构建工具会自动添加该属性。在Eclipse/ADT中,所有增量构建都被认为是调试构建,因此工具会插入android:debuggable="true"
。在导出已签名的发布构建时,工具不会添加该属性。在Ant中,ant debug命令会自动插入android:debuggable="true"
属性,而ant release则不会。如果手动设置了android:debuggable="true"
,则ant release实际上会执行调试构建,而不是发布构建。
更新
如果您真的想在Eclipse中禁用对debuggable标志的检查,应执行以下操作:
请执行以下步骤:详细信息请参阅屏幕截图:
ndk-build NDK_DEBUG=1 APP_OPTIM=debug
就相当于设置了 android:debuggable="true"
,但请参考我的另一个问题:http://stackoverflow.com/questions/23985558/error-package-cookbook-chapter3-is-not-debuggable-ndk-gdb - Narekdebuggable=true
会在每次构建时自动设置,直到你进行发布构建。 - Martin Konecnygdbserver output: run-as: exec failed for lib/gdbserver Error:No such file or directory Verify if the application was built with NDK_DEBUG=1
你是怎么解决的? - user13107