Обычно мы собираем пакет Android в режиме отладки с помощью команды
ant debug
и получил имя файла apk AppName-debug.apk.
Есть ли способ создать файл apk в формате AppName-debug-<version-number>.apk
напрямую без команды «mv»?
Спасибо.
Обычно мы собираем пакет Android в режиме отладки с помощью команды
ant debug
и получил имя файла apk AppName-debug.apk.
Есть ли способ создать файл apk в формате AppName-debug-<version-number>.apk
напрямую без команды «mv»?
Спасибо.
Я сделал это автоматически, используя информацию из манифеста 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"/>
Это читается в манифесте как набор свойств ant с пользовательским префиксом, чтобы исключить конфликт имен.
Затем вы можете добавить ${mymanifest.manifest.android:versionName} в любое место, где определено имя apk, просто найдите .apk
в файле пользовательских правил.
Я использовал этот процесс для автоматизации управления версиями файлов с сервера сборки.
С некоторыми дополнительными настройками также можно автоматически подписывать выпускное приложение, покупать установку паролей в свойствах и использовать их в задаче подписания. Фактические пароли хранятся в отдельном файле свойств, который хранится только на сервере сборки. Несмотря на то, что это небольшой риск для безопасности, в некоторых случаях он перевешивается необходимостью полной сквозной автоматизации сборки.
Другое, более похожее на Android решение — использовать задачу XPATH, как это делается в ${sdk.dir}/tools/ant/build.xml:
<xpath input="AndroidManifest.xml" expression="/manifest/@android:versionName"
output="versionName" default="unknown"/>
<echo message="name: ${versionName}"></echo>
Для этого требуется определение задачи:
<path id="android.antlibs">
<pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
</path>
<taskdef name="xpath"
classname="com.android.ant.XPathTask"
classpathref="android.antlibs" />
Я не знаю, какая минимальная версия SDK, но она работает с SDK14.
С уважением, Майкл
Решение, описанное в следующем посте, имеет файл custom_rules.xml, который можно просто скопировать для достижения желаемого результата. http://jeffreysambells.com/2013/02/14/build-your-android-apk-with-the-manifest-version-number
Да, есть способ создать файл apk с любым именем. Я даю вам процесс, следуя этому процессу, если вы получили .apk, укажите свое имя.
1-Щелкните правой кнопкой мыши по приложению в проводнике пакетов. 2-Выберите экспорт. 3-выберите Android-приложение 4-выберите экспорт. 5-Создать новое хранилище ключей. 6- заполнить форму. 7-: укажите имя файла apk как хотите 8-: укажите место для хранения apk.
Тогда вы найдете решение вашей проблемы. Я надеюсь, что это помощь.