Компиляция собственного кода Android Studio выполняется медленно

Я недавно перешел с Eclipse+ADT на Android Studio. Мое приложение является полноценным приложением C++. Я использую Android Studio 2.0 Beta 5 и Gradle Experimental 0.6.0-beta4.

Процесс сборки Android Studio очень медленный для нативного кода. Я читаю все вопросы по Stackru и Интернету. Я применил все предложенные методы (--offline, --daemon, --parallel, -XmxSize и т. Д.). Они в основном адресованы для ускорения сборки кода Java. Процесс компиляции собственных файлов C++ (ndk-build) все еще очень медленный. Даже если я пишу однострочный код C++, я жду 5-7 минут каждый раз, когда нажимаю кнопку "Выполнить", где время компиляции Eclipse составляло около 15-20 секунд для одной и той же работы.

Есть ли у вас предложения по ускорению процесса компиляции нативного кода (C/C++) в Android Studio?

1 ответ

Если вы используете Linux, у меня есть возможность ускорить сборку NDK:

cd <ndk-bundle-path>
mv ndk-build ndk-build2

Теперь создайте скрипт оболочки с именем "ndk-build", содержащий следующее:

#!/bin/sh
$(dirname $0)/ndk-build2 -j 8 $@

Теперь установите права на выполнение для нового скрипта:

chmod 775 ndk-build

Теперь любой, кто запустит ndk-build (включая gradle/android studio), будет вынужден одновременно создавать объектные файлы на 8 ядрах. 8 ядер это только пример. Вы должны установить это на любое количество доступных ядер. Если вы установите его слишком высоким по сравнению с количеством доступных ядер, вы, как правило, потеряете производительность. Если процессор имеет гиперпоточность, вы можете удвоить количество ядер.

Я уверен, что есть эквивалентный способ сделать это на окнах с помощью пакетного скрипта или чего-то еще, но у меня нет доступной машины Windows для банкоматов.

Я дам ответ на свой старый вопрос, чтобы закрыть его.

В конце рассказа мы интегрировали cmake в проект. Он работает так же быстро, как и старая сборка Eclipse.

Другие вопросы по тегам