Добавление сервиса в проект приложения.
Примечание 1. Перед добавлением сделайте сборку (Build для Android 32-bit и Android 64-bit) проекта сервиса, чтобы сгенерировать двоичные файлы.
1. Откройте проект приложения
Примечание 2. Обязательно проверьте, чтобы в проектах Сервиса и Приложения не было совпадающих по имени основных юнитов (файлы *.pas). В противном случае, после добавления проекта сервиса, содержащего файл с именем, совпадающим с файлом из приложения возникнет ошибка добавления юнита (т.е. возникнет конфликт). Нельзя чтобы форма в приложении называлась «Unit1.pas» и при этом data module в сервисе имел название «Unit1.pas».
2. Выберите платформу «Android 32-bit», щёлкните правой кнопкой мышки и выберите пункт «Add Android Service».
3. Откроется мастер добавления сервиса
Предлагается два варианта добавления службы:
- Автоматический поиск файлов сервиса в папке сервиса
- Выбор файлов сервиса вручную
4. Выбираем подходящий нам вариант и жмём кнопку «Next»
5. В зависимости от выбранного варианта добавления сервиса, следующее окно будет предлагать к заполнению разные поля:
- Для варианта автоматического добавления сервиса.
Нужно указать путь до папки, в которой лежит проект сервиса. После заполнения поля, жмём кнопку «Next». После этого мастер поищет все необходимые файлы в указанной папке и выведет список найденных файлов (как на скриншоте ниже).
Жмём кнопку «Finish».
- Для варианта выбора файлов сервиса вручную
Примечание 3. Все поля подписаны, так что сложностей тут не должно возникнуть.
Примечание 4. Указывать нужно файлы для 32-bit, чтобы потом не возникло проблем со сборкой приложения под 64-bit.
После заполнения полей, жмём кнопку «Finish».
Проект сервиса будет добавлен в приложение:
- lib <имя_сервиса> .so - добавится в Deployment Manager
- libProxyAndroidService.so – добавится в Deployment Manager (этот файл используется всеми службами, добавленными в приложение)
- <имя_сервиса> .jar – добавится в секцию «Libraries» выбранной платформы в Project Manager (блок Projects)
- <имя_сервиса>.pas – добавится в Project Manager
- В манифесте приложения, во время сборки приложения, будет автоматически добавлена запись для сервиса.
Примечание 5. Добавлять сервис в приложение нужно только 1 раз. Т.е. добавив сервис к 32-bit'ой платформе, не нужно делать тоже самое для 64-bit’ой версии, всё подхватится автоматически.
Как удалить из проекта приложения добавленный ранее сервис.
1. Выберите целевую платформу (как правило это Android 32-bit), нажмите правой кнопкой мышки и выберите пункт «Remove Android Service»
2. Появится мастер удаления сервисов.
3. Выберите сервис и нажмите кнопку «Next»
4. Мастер отобразит список файлов для удаления.
Нажмите кнопку «Finish»
Примечание 6. Процесс удаления сервиса из проекта может пройти не полностью, в таком случае, вы можете удалить вручную все записи, связанные с сервисом. О том какие файлы и куда были добавлены я написал выше.
Документация: Development Workflow for Android Services