2014-03-26 89 views
0

我猜测,Eclipse或NDK编译系统不使用单独的文件夹编译器输出有关调试VS发布版本,但不管是什么原因它使来回切换调试因为每次都进行完全重建,所以速度很慢。对这种(坏)行为有补救吗?在Application.mk更改APP_OPTIM导致完全重建

回答

1

有两种原因可能导致出现这种情况:

1)如果你的改变,你的Application.mk文件的化妆系统触发完全重建。我不确定这是gnu制作的标准还是与android如何使用make有关。

解决方案:
使用两个单独的make文件进行发布vs调试以防止完全重建。


2)用于释放和调试的目标文件的输出文件夹发生冲突。

**Note:** This is not an issue with V9 of the NDK. I was seeing this behavior with V8* NDK V9 seems to always us the APP_OPTIM when determining an output object folder.

这同ndk_build参数NDK_DEBUG做。

当你调用ndk_build没有NDK_DEBUG=0|1它会检查你的项目的AndroidManifest.xml中。如果存在android:debuggable标志,则它将设置为NDK_DEBUG=1,如果为true,则设置为NDK_DEBUG=0。如果调试成功,则该文件夹是local/*abi*/objs。如果它是错误的文件夹是local/*abi*/objc-debug

的解决方法是从你的清单中删除的可调试标志(这是没有必要,如果你的目标SDK R8或更高)。接下来为你的调试ndk_build指定NDK_DEBUG=1标志,如果你想调试朴素的代码。


祝你好运!

0

问题是,ndk-build标记Application.mk作为一切的先决条件。它不知道只有NDK_DEBUG已更改。

您可以安全地提供命令行参数NDK_DEBUG。在Eclipse中,您可以创建两个单独的构建配置,并且只需单击即可进行切换。

相关问题