Konfigurowanie tożsamości dla usług natywnych

SDV określa tożsamość pakietów usług i aplikacji Java na podstawie automatycznie generowanego identyfikatora Androida (AID). Ponieważ usługi natywne, takie jak warstwy abstrakcji sprzętu (HAL) dostawcy, nie mają tego automatycznego mechanizmu, musisz skonfigurować je ręcznie, aby powiązać tożsamość SDV z programem każdej usługi.

Aby powiązać tożsamość SDV z programem usługi natywnej, wykonaj te czynności:

  1. Określ unikalny identyfikator AID usługi w zakresie zarezerwowanym dla partycji, w której znajduje się usługa, np. dla dostawcy lub asortymentu.

    Więcej informacji o zakresach specyficznych dla partycji znajdziesz w artykule Konfigurowanie identyfikatorów aplikacji.

    Zdefiniuj unikalny identyfikator AID dla każdej usługi natywnej, zamiast udostępniać jeden identyfikator AID w wielu usługach. Tożsamości usług są przypisywane do procesu usługi na podstawie identyfikatora AID, więc udostępnianie identyfikatora AID powoduje udostępnianie tożsamości usług i ich autoryzacji.

  2. Skonfiguruj usługę w ramach utworzonego unikalnego identyfikatora AID, korzystając z opcji user w pliku .rc usługi.

    Przykład:

    service native_sdv_gateway_client_service /vendor/bin/native_sdv_gateway_client_service
        [..]
        user vendor_gateway_client
        [..]
    
  3. Przypisz wartość liczbową unikalnego identyfikatora AID do tożsamości usługi wyznaczonej dla usługi w pliku sdv_native_services_names konfiguracji partycji, w której znajduje się usługa.

    Tożsamość usługi składa się z nazwy pakietu, nazwy pakietu usługi i nazwy instancji usługi. Jest zakodowany jako ciąg znaków w formacie packageName.serviceBundleName/serviceInstanceName.

    Jeśli na przykład usługa działa na partycji dostawcy z identyfikatorem AID vendor_gateway_client i ma wartość liczbową 2902, musisz dodać mapowanie do pliku /vendor/etc/sdv_native_services_names:

    2902,android.sdv.samples.gateway.client.NativeTestApp/default