Подтвердить что ты не робот

Как скомпилировать APK из командной строки?

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

Проект Android был сделан с MotoDev. И он использует Android SDK, который находится в моем корне.

Как мне настроить командную строку для этого изнутри моей программы Delphi?

Мне также нужно будет изменить манифест, чтобы поместить новый номер версии, чтобы он не противоречил другим версиям клиентов.

4b9b3361

Ответ 1

Android использует систему сборки Ant, поэтому вы можете создать файл build.xml и build.properties для своего проекта.

Сначала вам нужно создать файл build.xml, если:

android update project -p .

Это приведет к созданию файла build.xml. Вероятно, вы должны настроить параметры сборки и цели для своего проекта. Хорошей идеей в вашем случае будет создание файла build.properties, созданного вашим сайтом для конкретной сборки... Затем включите его через файл build.xml. В частности, вам нужно указать в файле build.properties, где находятся ключи подписи, и каков пароль:

Build.Properties:

key.store=keystore.dat
key.alias=signing_key
key.store.password=password123
key.alias.password=password123

Процесс сборки с использованием ant также позволяет выполнять замену переменных в файлах Java, что может быть другой идеей. Это позволит вам дополнительно настроить процесс сборки на клиентском компьютере.

По умолчанию сборка запускается с помощью:

ant clean
ant release

Еще одна опрятная идея: Ant скопируйте полученный файл APK в общий доступ к сети, доступный на веб-сайте, разместив строку < copy ... /> в разделе < target name="release" >.

Ответ 2

Создать build.xml во время создания проекта

Если вы запустите новый проект, выполните следующие действия:

android create project \
    --target 1 \
    --name MyName \
    --path . \
    --activity MyActivity \
    --package com.yourdomain.yourproject

будет создан файл build.xml, используемый ant.

Инструмент android присутствует в каталоге tools/ загруженного вами SDK.

Создание отладочных выпусков

Кроме того:

ant release

для окончательных выпусков вы также можете создавать выпуски отладки с помощью:

ant debug

Местоположение сгенерированного apk

Сгенерированные apk помещаются под bin/.

Наиболее важные выходы:

MyName-debug.apk
MyName-release.apk

но также генерируются некоторые промежуточные apks, в частности невыровненные и неподписанные версии.

Но большую часть времени вы можете забыть, где они были созданы и просто запустить:

ant debug install
ant release install

чтобы установить их. Но сначала убедитесь, что он работает с adb: команда adb devices не работает

Протестировано на Ubuntu 15.10, Android 23.

Ответ 3

Android напрямую не использует системы сборки ANT. Он использует Gradle, который основан на Groovy. Вы можете узнать больше о системах сборки здесь.

Вы можете увидеть список доступных задач, которые вы можете запустить с помощью этой команды

gradlew tasks

Чтобы инициировать отладочную сборку, вызовите задачу assemblyDebug

gradlew assembleDebug

Вы можете установить свое приложение, используя инструмент adb, с помощью этой команды

adb install path/to/your_app.apk

Чтобы узнать больше о сборке из командной строки, следуйте этой всеобъемлющей статье.

Также вы можете прочитать эту статью на тему "Зачем создавать свои проекты Java с Gradle, а не с Ant или Maven?"