ডাউনলোড করুন, তৈরি করুন এবং চালান

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

রিপো ক্লায়েন্ট শুরু করুন

অ্যান্ড্রয়েড সোর্স রিপোজিটরি অ্যাক্সেস করার জন্য আপনার ক্লায়েন্ট সেট আপ করুন:

  1. একটি ওয়ার্কিং ডিরেক্টরি তৈরি করুন এবং সেখানে যান, যেমন sdv :

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  2. সোর্স কন্ট্রোলের জন্য আপনার ওয়ার্কিং ডিরেক্টরি প্রস্তুত করুন:

    এই উদাহরণটিতে 26Q2-fs-release ব্রাঞ্চটি ব্যবহার করা হয়েছে।

    RELEASE=26Q2-fs-release
    repo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE

    -u অপশনটি আবশ্যক এবং এটি একটি ম্যানিফেস্ট ফাইল শনাক্ত করে। এই ম্যানিফেস্ট ফাইলটি হলো একটি XML ফাইল, যা আপনার ওয়ার্কিং ডিরেক্টরির মধ্যে অ্যান্ড্রয়েড সোর্সের বিভিন্ন গিট প্রজেক্টগুলো কোথায় রাখা আছে তা নির্দিষ্ট করে দেয়। এই উদাহরণে, ম্যানিফেস্ট ফাইলের নাম নির্দিষ্ট করা হয়নি, তাই কমান্ডটি ডিফল্ট ম্যানিফেস্ট ফাইল ( default.xml ) ব্যবহার করছে।

    -b অপশনটি আপনি যে ব্রাঞ্চটি ইনিশিয়ালাইজ করছেন তা শনাক্ত করে।

    আউটপুটে নিম্নলিখিত বার্তাটি থাকা উচিত:

    repo has been initialized in path_to_working_directory

AAOS SDV উৎসটি ডাউনলোড করুন

আপনার ওয়ার্কিং ডিরেক্টরিতে অ্যান্ড্রয়েড সোর্স ট্রি ডাউনলোড করতে নিম্নলিখিত কমান্ডটি চালান:

repo sync -c -j8

-c আর্গুমেন্টটি Repo-কে সার্ভার থেকে বর্তমান ম্যানিফেস্ট ব্রাঞ্চটি ফেচ করতে নির্দেশ দেয়। -j8 কমান্ডটি দ্রুত সম্পন্ন করার জন্য সিঙ্ক প্রক্রিয়াটিকে একাধিক থ্রেডে ভাগ করে দেয়।

আপনার বিল্ড পরিবেশ সেট আপ করুন

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

source build/envsetup.sh

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

একটি লক্ষ্য বেছে নিন

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

lunch sdv_core_cf-trunk_staging-userdebug

এই কমান্ডটি বিল্ড করার জন্য প্রোডাক্ট, রিলিজ কনফিগারেশন এবং ভ্যারিয়েন্ট নির্বাচন করে এবং নির্বাচিত বিষয়গুলো এনভায়রনমেন্টে সংরক্ষণ করে।

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

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

AAOS SDV তৈরি করুন

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

m

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

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

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

  1. আপনার বিল্ড দিয়ে কাটলফিশ শুরু করতে:

    cvd create

    Cuttlefish আপনার বিল্ট টার্গেট ( sdv_core_cf-trunk_staging-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 চালান।

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

সমস্যা সমাধান

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

RBE ত্রুটি

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

cvd: এই মেশিনে ভিএম ম্যানেজার crosvm সমর্থিত নয়।

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

sudo apt install cuttlefish-common

সিভিডি পাওয়া যায়নি

যদি আপনি cvd not found ' ত্রুটি পান:

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

কাটলফিশ ক্র্যাশ লুপ

যদি কাটলফিশ ক্র্যাশ লুপে প্রবেশ করে:

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