ডাউনলোড, বিল্ড ও রান করা

Cuttlefish-এ কীভাবে AAOS SDV ডাউনলোড, বিল্ড ও রান করতে হয় তা এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে।

AAOS SDV সোর্স কোড পান

Android সোর্স ডাউনলোড করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।

আপনার বিল্ড এমভায়রনমেন্ট সেট-আপ করুন

আপনার ওয়ার্কিং ডিরেক্টরি থেকে, আপনার বিল্ড এনভায়রনমেন্ট সেট-আপ করতে envsetup.sh স্ক্রিপ্ট সোর্স করুন:

source build/envsetup.sh

এই স্ক্রিপ্টটি বেশ কয়েকটি কমান্ড ইম্পোর্ট করে যা আপনাকে Android সোর্স কোডের সাথে কাজ করতে দেয়, যার মধ্যে এই পৃষ্ঠায় ব্যবহৃত কমান্ডগুলিও রয়েছে। স্ক্রিপ্টের সোর্স দেখতে, platform/build/envsetup.sh দেখুন। বিল্ট-ইন সহায়তা দেখতে, hmm টাইপ করুন।

টার্গেট বেছে নিন

SDV তৈরি করার আগে, তৈরি করার জন্য একটি টার্গেট শনাক্ত করুন। আপনার টার্গেট শনাক্ত করতে তৈরি করুন, lunch কমান্ড ব্যবহার করুন এবং তারপরে আপনি যে টার্গেটের জন্য তৈরি করছেন সেটি উপস্থাপন করে এমন একটি স্ট্রিং ব্যবহার করুন। যেমন, Cuttlefish এমুলেটরের জন্য টার্গেট তৈরি করতে এই কমান্ড ব্যবহার করুন:

lunch sdv_core_cf-aosp_current-userdebug

এই কমান্ড প্রোডাক্ট, রিলিজ কনফিগারেশন এবং বিল্ড করার জন্য ভেরিয়েন্ট বেছে নেয় এবং এনভায়রনমেন্টে বেছে নেওয়া বিকল্প স্টোর করে।

lunch SDV-এর জন্য টার্গেট আলাদা Git প্রোজেক্টে দেওয়া হয় যা device/google/sdv ডিরেক্টরিতে থাকে। device/google/sdv/README.md-এ উপলভ্য টার্গেটের বিস্তারিত বিবরণ দেখুন। প্রধান Cuttlefish (cf) টার্গেট হল:

  • sdv_core_cf-aosp_current-userdebug - Cuttlefish (cf)-এ রান করে এমন AAOS SDV Core (sdv_core)-এর একটি ইমেজ তৈরি করুন।
  • sdv_media_cf-aosp_current-userdebug - virtIO-ভার্চুয়ালাইজড মিডিয়া API (sdv_media) সহ AAOS SDV Core-এর একটি ইমেজ তৈরি করুন।
  • sdv_media_har_cf-aosp_current-userdebug - এমন একটি ইমেজ তৈরি করুন যা AAOS SDV মিডিয়া (sdv_media_cf) lunch টার্গেটকে এক্সটেন্ড করে যাতে হাই-অ্যাভেলেবিলিটি রেন্ডারার (HAR) থাকে। বুট করার সময় HAR অটোমেটিক রান করে।
  • sdv_ivi_cf-aosp_current-userdebug - SDV গেটওয়ে ও Java স্যাম্পেল অ্যাপ সহ ইন-ভেহিকেল ইনফোটেনমেন্ট (IVI)-এর ছবি তৈরি করুন।
  • sdv_ivi_cf_ds-aosp_current-userdebug - এমন একটি ইমেজ তৈরি করুন যা AAOS SDV IVI টার্গেট (sdv_ivi_cf) এক্সটেন্ড করে এবং ডিসপ্লে সেফটির DriverUI ও ইনস্ট্রুমেন্ট ক্লাস্টার ইমপ্লিমেন্টেশন অন্তর্ভুক্ত করে।

AAOS SDV তৈরি করুন

আপনার টার্গেট তৈরি করতে নিম্নলিখিত কমান্ড রান করুন। আপনার ওয়ার্কস্টেশনের স্পেসিফিকেশনের উপর নির্ভর করে, প্রথম বিল্ড তৈরি করতে ৩০ থেকে ৬০ মিনিট সময় লাগে। পরবর্তী বিল্ডগুলি উল্লেখযোগ্যভাবে কম সময় নেয়।

m

আপনার বিল্ডের আউটপুট $OUT_DIR-এ দেখা যাবে। আপনি যদি বিভিন্ন টার্গেট তৈরি করেন, তাহলে প্রতিটি টার্গেট বিল্ড $OUT_DIR-এ দেখা যাবে।

Cuttlefish ব্যবহার করে আপনার বিল্ড পরীক্ষা করুন

AAOS SDV তৈরি করার পরে, Cuttlefish ব্যবহার করে আপনার বিল্ড পরীক্ষা করুন।

  1. আপনার বিল্ডের সাথে Cuttlefish শুরু করতে:

    cvd create

    Cuttlefish আপনার বিল্ড টার্গেট (sdv_core_cf-aosp_current-userdebug) ব্যবহার করে রান করে। Cuttlefish বুট করার পরে, এই মেসেজ দেখানো হয়:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Cuttlefish-এর সাথে কানেক্ট করতে adb রান করুন।

  3. আপনার বিল্ড চলছে কিনা তা যাচাই করতে adb devices রান করুন। এই ধরনের ফলাফল দেখানো হয়:

    List of devices attached
    0.0.0.0:6520 device
  4. ডিভাইস বন্ধ করতে cvd stop রান করুন।

বিভিন্ন বিল্ড সহ Cuttlefish-এর একাধিক ইনস্ট্যান্স চালাতে, Cuttlefish: মাল্টি-টেনেন্সি দেখুন।

সমস্যার সমাধান করুন

AAOS SDV ডাউনলোড, তৈরি বা চালানোর সময় যেসব সমস্যা হতে পারে, সেগুলি কীভাবে সমাধান করবেন তা এই বিভাগে ব্যাখ্যা করা হয়েছে।

RBE সংক্রান্ত সমস্যা

আপনি কোনও রিমোট বিল্ড এক্সিকিউশন (RBE) সংক্রান্ত সমস্যার সম্মুখীন হলে, .bashrc বা .zshrc থেকে USE_RBE এবং ENABLE_RBE_BOOTSTRAP-এর সংজ্ঞা সরিয়ে দিন

cvd: VM ম্যানেজার crosvm এই মেশিনে কাজ করে না

Cuttlefish যদি রিপোর্ট করে যে VM ম্যানেজার crosvm আপনার মেশিনে কাজ করে না, তাহলে Cuttlefish ইনস্টল করতে নিম্নলিখিত কমান্ডটি রান করুন:

sudo apt install cuttlefish-common

cvd খুঁজে পাওয়া যায়নি

আপনি cvd not found সংক্রান্ত সমস্যা পেলে:

  1. আবার আপনার বিল্ড সেট-আপ করুন।
  2. টার্গেট বেছে নিন বিকল্পের সাথে চালিয়ে যান।

Cuttlefish ক্র্যাশ লুপ

Cuttlefish ক্র্যাশ লুপে প্রবেশ করলে:

  1. সব Cuttlefish ইনস্ট্যান্স বন্ধ করতে, cvd stop রান করুন।
  2. আপনার বিল্ড আবার পরীক্ষা করতে Cuttlefish ব্যবহার করুন।