我最近从Eclipse + ADT切换到Android Studio。我的应用程序是完整的本机C ++应用程序。我使用Android Studio 2.0 Beta 5和Gradle Experimental 0.6.0-beta4。
Android Studio的构建过程对于本机代码来说非常慢。我阅读了有关Stackoverflow和Internet的所有问题。我应用了所有建议的方法(--offline, - damon, - parallel,-XmxSize等)。它们主要用于加速Java代码的构建。本机C ++文件(ndk-build)的编译过程仍然很慢。即使我编写一行C ++代码,每次单击“运行”按钮时,我等待5-7分钟,其中Eclipse的编译时间大约为15-20秒,用于同一工作。
您是否有任何建议加快Android Studio上本机代码(C / C ++)的编译过程?
答案 0 :(得分:1)
如果你在Linux上构建,我有一个黑客为你加速NDK构建:
cd <ndk-bundle-path>
mv ndk-build ndk-build2
现在创建一个名为“ndk-build”的shell脚本,其中包含以下内容:
#!/bin/sh
$(dirname $0)/ndk-build2 -j 8 $@
现在设置新脚本的执行权限:
chmod 775 ndk-build
现在,任何启动ndk-build(包括gradle / android studio)的人都会强制同时敲击8个核心上的目标文件。 8个核心只是一个例子。您必须将其设置为可用的核心数。如果将其设置为与可用核心数相比过高,则通常会失去性能。如果CPU具有超线程,则可以将内核数量加倍。
我确信在Windows上使用批处理脚本或其他东西有相同的方法,但我没有可用的Windows机器。
答案 1 :(得分:0)
我将回答我的旧问题以将其关闭。
在故事的最后,我们将cmake集成到了项目中。它的运行速度与旧的Eclipse构建性能一样快。