Настройка идентификации для собственных сервисов

SDV определяет идентичность пакетов служб и Java-приложений на основе автоматически генерируемого идентификатора Android (AID) . Поскольку нативные службы, такие как уровни аппаратной абстракции (HAL) от поставщиков, не имеют этого автоматического механизма, их необходимо настроить вручную, чтобы связать идентификатор SDV с программой каждой службы.

Чтобы связать идентификатор SDV с собственной сервисной программой, выполните следующие действия:

  1. Укажите уникальный AID для службы в зарезервированном диапазоне для раздела, где находится служба, например, по названию поставщика или ассортименту продукции.

    Для получения дополнительной информации о диапазонах, специфичных для разделов, см. раздел «Настройка идентификаторов AID» .

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

  2. Настройте свою службу, используя уникальный AID, созданный с помощью параметра user в файле .rc вашей службы.

    Например:

    service native_sdv_gateway_client_service /vendor/bin/native_sdv_gateway_client_service
        [..]
        user vendor_gateway_client
        [..]
    
  3. Сопоставьте числовое значение уникального 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