Компиляция собственного кода 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.