SDV deriva l'identità dei bundle di servizi e delle app Java dal loro ID Android (AID) generato automaticamente . Poiché i servizi nativi, come i livelli di astrazione hardware (HAL) del fornitore, non dispongono di questo meccanismo automatico, devi configurarli manualmente per associare un'identità SDV al programma di ogni servizio.
Per associare un'identità SDV a un programma di servizi nativi:
Definisci un AID univoco per il servizio nell'intervallo riservato per la partizione in cui si trova il servizio, ad esempio l'intervallo di fornitori o prodotti.
Per ulteriori informazioni sugli intervalli specifici della partizione, consulta Configurare gli AID.
Definisci un AID univoco per ogni servizio nativo, anziché condividere un singolo AID tra più servizi. Poiché le identità di servizio vengono assegnate a un processo di servizio in base al relativo AID, la condivisione di un AID comporta la condivisione delle identità di servizio e delle relative autorizzazioni.
Configura il servizio con l'AID univoco che hai creato utilizzando l'
useropzione nel.rcfile del servizio.Ad esempio:
service native_sdv_gateway_client_service /vendor/bin/native_sdv_gateway_client_service [..] user vendor_gateway_client [..]Mappa il valore numerico dell'AID univoco all'identità di servizio designata per il servizio nel file di configurazione
sdv_native_services_namesdella partizione in cui si trova il servizio.L'identità di servizio è composta dal nome del pacchetto, dal nome del bundle di servizi e dal nome dell'istanza di servizio. Viene codificata come una stringa nel formato
packageName.serviceBundleName/serviceInstanceName.Ad esempio, se il servizio viene eseguito sulla partizione del fornitore con l'AID
vendor_gateway_cliente ha il valore numerico2902, devi aggiungere il mapping al file/vendor/etc/sdv_native_services_names:2902,android.sdv.samples.gateway.client.NativeTestApp/default