Android Studio本机代码编译速度很慢

时间:2016-02-26 02:29:59

标签: android android-studio android-ndk ndk-build gradle-experimental

我最近从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 ++)的编译过程?

2 个答案:

答案 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构建性能一样快。