নেটিভ পরিষেবাগুলির জন্য পরিচয় কনফিগার করুন

SDV সার্ভিস বান্ডেল এবং জাভা অ্যাপের পরিচয় তাদের স্বয়ংক্রিয়ভাবে তৈরি হওয়া অ্যান্ড্রয়েড আইডি (AID) থেকে নির্ধারণ করে। যেহেতু ভেন্ডর হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL)-এর মতো নেটিভ সার্ভিসগুলোতে এই স্বয়ংক্রিয় ব্যবস্থা নেই, তাই প্রতিটি সার্ভিসের প্রোগ্রামের সাথে একটি SDV পরিচয় যুক্ত করার জন্য আপনাকে সেগুলোকে ম্যানুয়ালি কনফিগার করতে হবে।

একটি SDV পরিচয়কে কোনো স্থানীয় পরিষেবা প্রোগ্রামের সাথে যুক্ত করতে, এই ধাপগুলো অনুসরণ করুন:

  1. যে পার্টিশনে পরিষেবাটি অবস্থিত, সেই পার্টিশনের জন্য সংরক্ষিত পরিসরে (যেমন ভেন্ডর বা প্রোডাক্ট রেঞ্জ) পরিষেবাটির জন্য একটি অনন্য AID নির্ধারণ করুন।

    পার্টিশন-নির্দিষ্ট রেঞ্জ সম্পর্কে আরও তথ্যের জন্য, AID কনফিগার করুন দেখুন।

    একাধিক সার্ভিসের মধ্যে একটিমাত্র AID শেয়ার করার পরিবর্তে, প্রতিটি নেটিভ সার্ভিসের জন্য একটি স্বতন্ত্র AID নির্ধারণ করুন। যেহেতু একটি সার্ভিস প্রসেসকে তার AID-এর উপর ভিত্তি করে সার্ভিস আইডেন্টিটি বরাদ্দ করা হয়, তাই একটি AID শেয়ার করার ফলে সার্ভিস আইডেন্টিটি এবং তাদের অনুমোদনগুলোও শেয়ার হয়ে যায়।

  2. আপনার সার্ভিসের .rc ফাইলে থাকা user অপশনটি ব্যবহার করে আপনার তৈরি করা অনন্য AID-এর অধীনে সার্ভিসটি কনফিগার করুন।

    উদাহরণস্বরূপ:

    service native_sdv_gateway_client_service /vendor/bin/native_sdv_gateway_client_service
        [..]
        user vendor_gateway_client
        [..]
    
  3. সার্ভিসটি যে পার্টিশনে অবস্থিত, সেই পার্টিশনের sdv_native_services_names কনফিগারেশন ফাইলে সার্ভিসটির জন্য নির্ধারিত সার্ভিস আইডেন্টিটির সাথে অনন্য AID-এর সাংখ্যিক মানটিকে ম্যাপ করুন।

    সার্ভিসের পরিচিতি প্যাকেজ নেম, সার্ভিস বান্ডেল নেম এবং সার্ভিস ইনস্ট্যান্স নেম নিয়ে গঠিত। এটি packageName.serviceBundleName/serviceInstanceName ফর্মের একটি স্ট্রিং হিসাবে এনকোড করা হয়।

    উদাহরণস্বরূপ, যদি আপনার পরিষেবাটি vendor_gateway_client AID সহ ভেন্ডর পার্টিশনে চলে এবং এর সাংখ্যিক মান 2902 হয়, তাহলে আপনাকে অবশ্যই /vendor/etc/sdv_native_services_names ফাইলে ম্যাপিংটি যোগ করতে হবে:

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