SDV определяет идентичность пакетов служб и Java-приложений на основе автоматически генерируемого идентификатора Android (AID) . Поскольку нативные службы, такие как уровни аппаратной абстракции (HAL) от поставщиков, не имеют этого автоматического механизма, их необходимо настроить вручную, чтобы связать идентификатор SDV с программой каждой службы.
Чтобы связать идентификатор SDV с собственной сервисной программой, выполните следующие действия:
Укажите уникальный AID для службы в зарезервированном диапазоне для раздела, где находится служба, например, по названию поставщика или ассортименту продукции.
Для получения дополнительной информации о диапазонах, специфичных для разделов, см. раздел «Настройка идентификаторов AID» .
Для каждой собственной службы задайте уникальный AID, вместо того чтобы использовать один и тот же AID для нескольких служб. Поскольку идентификаторы служб назначаются процессу службы на основе его AID, совместное использование AID приводит к совместному использованию идентификаторов служб и их авторизаций .
Настройте свою службу, используя уникальный AID, созданный с помощью параметра
userв файле.rcвашей службы.Например:
service native_sdv_gateway_client_service /vendor/bin/native_sdv_gateway_client_service [..] user vendor_gateway_client [..]Сопоставьте числовое значение уникального AID с идентификатором службы , указанным для службы в конфигурационном файле
sdv_native_services_namesраздела, где расположена служба.Идентификатор службы состоит из имени пакета, имени пакета службы и имени экземпляра службы. Он кодируется в виде строки вида
packageName.serviceBundleName/serviceInstanceName.Например, если ваша служба работает в разделе поставщика с AID
vendor_gateway_clientи имеет числовое значение2902, необходимо добавить сопоставление в файл/vendor/etc/sdv_native_services_names:2902,android.sdv.samples.gateway.client.NativeTestApp/default