Я хочу добавить свой собственный код фреймворка, который работает в «system_server» Android (обрабатывает все службы системного уровня). Моя служба загружает библиотеку JNI, которая взаимодействует с драйвером, который я добавил в ядро. Служба предназначена для того, чтобы приложение могло зарегистрировать в ней прослушиватель для получения обновлений от драйвера. Я нашел довольно хороший пост в блоге (http://www.androidenea.com/2009/12/adding-system-server-to-android.html), в котором объясняется, как добавить системную службу, но я не могу заставить ее полностью работать.
Прежде всего, в сообщении упоминается, что для написания клиентского/тестового приложения следует использовать «подходящий» файл Android.mk, но не приводится пример этого. Когда я пытаюсь создать его, я получаю ошибки сборки, говорящие, что он не может найти службу, которую я добавил. Может ли кто-нибудь привести пример того, как это может выглядеть?
Кроме того, я хотел бы реализовать это в каталоге поставщика (или каталоге устройства в froyo), а не в открытом исходном коде Android. В сообщении блога упоминается, что подходящим местом для этого является каталог поставщика, но не приводится пример того, как это должно выглядеть. Кто-нибудь знает?
ЛЮБАЯ дополнительная информация о реализации вашей собственной системной службы в Android будет полезна. Опять же, мой конкретный рабочий процесс:
Приложение для Android -> Системная служба -> Библиотека JNI (собственная) -> Драйвер устройства