2012-02-21 3 views
2

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

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

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

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

ответ

3

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

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

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

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

+0

Хорошее описание и спасибо за подключение моего приложения MorseFlash ;-) –

+0

@Manfred Moser, Спасибо за ваш примерный проект, они действительно делают жизнь разработчика намного проще, когда вы впервые входите в контакт с Android-maven-plugin :) – yorkw

+0

@yorkw, Спасибо тон за ввод и пример проекта.Это очень полезно. Теперь я знаю, в каком направлении я должен работать. Спасибо! – Rymnel

0

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

make -j<x> command 
+0

Спасибо за отзыв, но это не совсем то, что я ищу. Возможно, моя формулировка была неправильной. Я искал способы быстрого изменения ресурсов и имен пакетов во время сборки. – Rymnel

0

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

Ознакомьтесь с плагином сайта и главой, в которой я написал около using Maven for Android development для стартера и получить представление.

+0

Отличная ссылка! Похоже, у него есть все детали, которые мне нужны, и многое другое. Спасибо, что нашли время, чтобы записать это в письменной форме. – Rymnel

Смежные вопросы