Ускорение процесса сборки Android - PullRequest
2 голосов
/ 21 февраля 2012

Это настоящий нубский вопрос.Я работаю в компании, которая делает сотни приложений, использующих большую часть одинаковых компонентов.Во время сборки есть небольшая настройка, и мы хотели бы ускорить ее, чтобы повысить эффективность.Большая часть настройки выполняется во время загрузки данных с сервера.

Самое быстрое, что мы можем сделать, чтобы закончить .apk, составляет около 15 минут.Этот процесс включает в себя изменение имен пакетов, значков и нескольких строковых ресурсов.Но когда вы имеете дело с 15-20 приложениями в день, которые могут стать убийцей в реальном времени, и я бы скорее потратил свое время на написание нового кода.

Я читал об использовании Maven или Gradle для оптимизациипроцесс сборки, но я не уверен, что это лучший способ сократить время сборки.Честно говоря, я даже не знаю, являются ли они подходящими инструментами или нет.

Может кто-нибудь объяснить мне, если использование одного из этих инструментов позволит добиться того, что я ищу, или есть какой-то другой способуменьшить время сборки?Любое предложение будет оценено.

Ответы [ 3 ]

3 голосов
/ 21 февраля 2012

Принятие некоторых инструментов сборки из командной строки, таких как Maven или Ant, безусловно, правильное направление, оно дает возможность пакетного процесса сборки с использованием сценариев оболочки Unix / Windows.

Те незначительные настройки, которые вам необходимы, довольно легко осуществить, используя maven-properties-plugin и android-maven-plugin вместе. Android-Maven-плагин поддержки фильтрации ресурсов. Вы можете определить свои настраиваемые свойства для каждого цикла сборки в нескольких файлах свойств. Во время процесса сборки android-maven-plugin может считывать эти значения из файла внешних свойств и заменять их в AndroidManifest.xml и других файлах ресурсов, таких как res / values ​​/ strings.xml. android-maven-plugin также полностью поддерживает Android Library Project, который позволяет вам извлекать / централизовать общий код Android и легко управлять всеми ними.

Предположим, что вы хотите собрать 5 apk-дистрибутивов из одного и того же проекта Android с другим именем пакета / приложения, значком приложения и некоторыми ресурсами в файле string.xml, вы можете создать сценарий оболочки, который запускается mvn deploy 5 раз, каждый раз копируя один из Ваши customize.properties с соответствующими другими файлами icon.png в каталог проекта и перезаписать существующий. это дает вам комплексную пакетную обработку автоматической сборки, которая не требует вмешательства человека.

Вы можете найти пример проекта MorseFlash изучить фильтрацию ресурсов, используемую android-maven-plugin.

0 голосов
/ 21 февраля 2012

Я бы определенно предложил использовать в плагине Android Maven.Если ваши приложения представляют собой лишь небольшие настройки, вы сможете переместить большую часть работы во внешнюю библиотеку, которую вы создаете один раз, и тогда только настройки запускаются во время сборки для каждого приложения.С масштабом, о котором вы говорите, это легко стоило бы усилий.

Посетите сайт плагинов и главу, в которой я писал о , используя Maven для разработки под Android для начинающих и почувствуйте.

0 голосов
/ 21 февраля 2012

попробуйте использовать make на многоядерном компьютере и разделите процесс сборки между ядрами, указав

make -j<x> command
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...