代码之家  ›  专栏  ›  技术社区  ›  Rancs

Android Studio本机代码编译速度慢

  •  10
  • Rancs  · 技术社区  · 9 年前

    我最近从Eclipse+ADT切换到了Android Studio。我的应用程序是一个完整的原生C++应用程序。我使用Android Studio 2.0 Beta 5和Gradle Experimental 0.6.0-beta4。

    对于本机代码,Android Studio的构建过程非常缓慢。我阅读了Stackoverflow和Internet上的所有问题。我应用了所有建议的方法(--offline、--daemon、--parallel、-XmxSize等)。它们主要是为了加快Java代码的构建。本机C++文件(ndk-build)的编译过程仍然非常缓慢。即使我写了一行C++代码,每次单击Run按钮时,我都会等待5-7分钟,而对于同一个作业,Eclipse的编译时间大约为15-20秒。

    你有什么建议可以加快Android Studio上本机代码(C/C++)的编译过程吗?

    2 回复  |  直到 9 年前
        1
  •  1
  •   bofjas    8 年前

    如果你是在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构建的人(包括gradle/android工作室)都将被迫同时在8个内核上敲出对象文件。8核只是一个例子。您必须将其设置为可用的核数。如果将其设置得高于可用内核的数量,则通常会降低性能。如果CPU具有超线程,则可以将核数加倍。

    我确信有一种在windows上用批处理脚本或其他类似的方法来实现这一点,但我没有windows机器可用的atm。

        2
  •  0
  •   Rancs    5 年前

    我会回答我的老问题,结束它。

    在故事的最后,我们将cmake集成到项目中。它与旧的Eclipse构建性能一样快。