Построение моего приложения для Android занимает около 90 секунд ( "быстрый" ), до 3 минут для каждого обновления для моего кода. Это полная трата времени, поскольку это действительно так, и я предполагаю, что решение должно быть в пределах досягаемости. Я попытался изучить проблему и нашел разные сообщения в блогах и ответы SO с предложениями, большинство из которых я пробовал.
- У меня есть файл gradle.properties с org.gradle.deamon = true
- Я запускаю на Android Studio с Gradle Prefence для работы в автономном режиме (улучшено, но все еще медленно)
- Я запускаюсь в командной строке (это быстрее, но все же медленно)
- В build.gradle, defaultConfig, у меня установлено значение multiDexEnabled равным false
- В build.gradle, dexOptions, у меня preDexLibraries установлен на false
- В gradle -wrapper.properties Я беру недавнюю версию Gradle (2.8) (существенные изменения скорости произошли на 2.4)
Процесс, который, кажется, занимает много времени, около 85% от общего времени сборки : app: transformClassesWithDexForDebug
Каков этот процесс на самом деле? Я могу найти людей, у которых есть аварии на нем, но он отлично работает для меня, за исключением того, что это занимает много времени. И мне это нужно, так как на данный момент мне не нужен Dex?
Кроме того, у меня есть 13 зависимостей и 3 зависимости testCompile. Я уже указываю на конкретные игровые пакеты, поэтому я не компилирую вещи, которые мне не нужны. Если я правильно понимаю, Gradle строит все эти библиотеки каждый проект. Если это правильно, есть ли способ пропустить это? Могу ли я самостоятельно их создавать в виде обернутых библиотек и включать их без необходимости их обработки каждый раз? Это может заставить меня потерять определенную гибкость для будущих изменений в зависимостях, но на данный момент я чувствую, что теряю больше часа в день, легко ожидая gradle. Я не уверен, что для меня так много стоит.
Я с нетерпением жду, чтобы узнать, как я могу улучшить процесс сборки. Заранее благодарю вас.