Я сделал это автоматически, используя информацию из манифеста Android.
Мой подход состоял в том, чтобы изменить локальный файл проекта ant build.xml
для импорта пользовательской копии главного файла build.xml
, в последней версии SDK главный файл, импортируемый в локальный файл, расположен по адресу <SDK>/tools/ant/build.xml
(в предыдущих версиях был android_rules.xml) Обратите внимание на строку import
в файле по умолчанию build.xml
, локальном для вашего проекта.
Комментарии в локальном build.xml
, созданные инструментами Android, содержат сведения о том, как выполнить настройку, чтобы будущие обновления инструментов не нарушали ваши изменения.
В файле пользовательских правил добавьте:
<xmlproperty file="AndroidManifest.xml" prefix="mymanifest" collapseAttributes="true"/>
В манифесте это выглядит как набор свойств муравья с настраиваемым префиксом, предотвращающим конфликт имен.
Затем вы можете добавить $ {mymanifest.manifest.android:versionName broadcast к любому из мест, для которых определено имя apk, просто найдите .apk
в файле пользовательских правил.
Я использовал этот процесс для автоматизации управления версиями файлов с сервера сборки.
С некоторыми дополнительными настройками вы также можете автоматически подписать ваше релизное приложение, купить пароли в свойствах и использовать их в задаче подписи. Фактические пароли хранятся в отдельном файле свойств, который находится только на сервере сборки. Хотя это незначительный риск для безопасности, в некоторых случаях он взвешивается необходимостью полной комплексной автоматизации сборки.