नेटिव सेवाओं के लिए आइडेंटिटी कॉन्फ़िगर करना

एसडीवी, सेवा बंडल और Java ऐप्लिकेशन की पहचान, अपने आप जनरेट होने वाले Android आईडी (एआईडी) से करता है. वेंडर हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल) जैसी नेटिव सेवाओं में, यह ऑटोमैटिक मेकैनिज़्म नहीं होता. इसलिए, आपको हर सेवा के प्रोग्राम के साथ एसडीवी की पहचान को मैन्युअल तरीके से कॉन्फ़िगर करना होगा.

किसी नेटिव सेवा के प्रोग्राम के साथ एसडीवी की पहचान को जोड़ने के लिए, यह तरीका अपनाएं:

  1. उस पार्टीशन के लिए रिज़र्व की गई रेंज में, सेवा के लिए एक यूनीक एआईडी तय करें जहां सेवा मौजूद है. जैसे, वेंडर या प्रॉडक्ट रेंज.

    पार्टीशन के हिसाब से तय की गई रेंज के बारे में ज़्यादा जानने के लिए, एआईडी कॉन्फ़िगर करना लेख पढ़ें.

    एक से ज़्यादा सेवाओं के लिए एक ही एआईडी शेयर करने के बजाय, हर नेटिव सेवा के लिए एक यूनीक एआईडी तय करें. सेवा की पहचान, उसके एआईडी के आधार पर सेवा प्रोसेस को असाइन की जाती है. इसलिए, एआईडी शेयर करने से सेवा की पहचान और उनके ऑथराइज़ेशन भी शेयर हो जाते हैं.

  2. अपनी सेवा की .rc फ़ाइल में मौजूद user विकल्प का इस्तेमाल करके, बनाई गई यूनीक एआईडी के तहत अपनी सेवा को कॉन्फ़िगर करें.

    उदाहरण के लिए:

    service native_sdv_gateway_client_service /vendor/bin/native_sdv_gateway_client_service
        [..]
        user vendor_gateway_client
        [..]
    
  3. उस पार्टीशन की sdv_native_services_names कॉन्फ़िगरेशन फ़ाइल में, सेवा के लिए तय की गई सेवा की पहचान के लिए, यूनीक एआईडी की न्यूमेरिक वैल्यू को मैप करें जहां सेवा मौजूद है.

    सेवा की पहचान में, पैकेज का नाम, सेवा बंडल का नाम, और सेवा इंस्टेंस का नाम शामिल होता है. इसे packageName.serviceBundleName/serviceInstanceName फ़ॉर्मैट में स्ट्रिंग के तौर पर एनकोड किया जाता है.

    उदाहरण के लिए, अगर आपकी सेवा वेंडर पार्टीशन पर vendor_gateway_client एआईडी के साथ चलती है और इसकी न्यूमेरिक वैल्यू 2902 है, तो आपको /vendor/etc/sdv_native_services_names फ़ाइल में मैपिंग जोड़नी होगी:

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