একটি ডেভেলপমেন্ট প্ল্যাটফর্ম হিসাবে অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস

অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) ব্যবহার করার জন্য, অ্যান্ড্রয়েড এমুলেটর একটি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) এবং কমান্ড লাইন ইন্টারফেস (CLI) সমর্থন করে। আপনি আপনার পরিবেশের জন্য সর্বোত্তম কর্মপ্রবাহটি নির্বাচন করেন।

একটি AOSP গাড়ি AVD তৈরি করুন

একটি AOSP কার AVD তৈরি করার প্রক্রিয়াটি একটি ফোনের জন্য AVD ইমেজ (উদাহরণস্বরূপ, aosp_car_x86_64) তৈরি করার প্রক্রিয়ার অনুরূপ:

  1. ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করতে এবং একটি ব্রাঞ্চ শনাক্ত করতে, সোর্স কন্ট্রোল টুলস দেখুন, এবং তারপর অ্যান্ড্রয়েড সোর্স ডাউনলোড করুন পড়ুন:
    ANDROID_BRANCH="android12L-release"
    REPO_URL="https://android.googlesource.com/platform/manifest"
    mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8
  2. AVD ইমেজটি তৈরি করুন:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. AVD ইমেজটি চালান (প্রয়োজন অনুযায়ী অতিরিক্ত কমান্ড-লাইন স্টার্টআপ অপশন যোগ করুন):
    emulator &

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

    চিত্র ১. অ্যান্ড্রয়েড ভার্চুয়াল এমুলেটর স্ক্রিন

    এই প্রক্রিয়া সম্পর্কে কিছু নোট:

    • যেহেতু বিল্ড প্রক্রিয়াটি একটি ফিজিক্যাল ডিভাইসের জন্য অ্যান্ড্রয়েড বিল্ড করার প্রক্রিয়ার মতোই, তাই সোর্স ডাউনলোড করতে এবং তারপর এটি বিল্ড করতে কিছুটা সময় দিন।
    • অন্যান্য ব্রাঞ্চে কাজ করার জন্য, $ANDROID_BRANCH অন্য কোনো ব্রাঞ্চ/ট্যাগে সেট করুন।
    • system.img এর মতো AVD ইমেজগুলো $ANDROID_PRODUCT_OUT এ বিল্ড করা হয়। কী ইমেজগুলো সম্পর্কে আরও জানতে, AVD সিস্টেম ডিরেক্টরি দেখুন।
    • আপনার অ্যান্ড্রয়েড ট্রিতে থাকা প্রি-বিল্ট এমুলেটর বাইনারিগুলো কীভাবে এমুলেটর চালাতে ব্যবহৃত হয়, তা জানতে README ফাইলটি দেখুন।

একটি গাড়ির এভিডি তৈরি করুন

একটি নতুন গাড়ির AVD যোগ করার প্রক্রিয়াটি একটি নতুন ডিভাইস যোগ করার প্রক্রিয়ার প্রায় অনুরূপ। উদাহরণস্বরূপ, 1660554 একটি নতুন avd_car AVD তৈরি করে।

গাড়ির এভিডি তৈরি করতে:

  1. প্রয়োজন অনুযায়ী একটি কোম্পানি এবং একটি ডিভাইস ফোল্ডার তৈরি করুন। এই উদাহরণে $ANDROID_BUILD_TOP/device/google_car/avd_car ব্যবহার করা হয়েছে।
  2. avd_car.mk নামে প্রোডাক্ট মেকফাইলটি তৈরি করুন, যা AVD কীভাবে বিল্ড করতে হবে তা নির্ধারণ করে।
  3. avd_car_device নামে একটি ডিভাইস ফোল্ডার তৈরি করুন, যার মধ্যে BoardConfig.mk এবং source.properties ফাইলগুলো থাকবে।
  4. AndroidProducts.mk এ নতুন makefile এবং নতুন lunch অপশনটি যোগ করুন।
  5. নতুন avd_car AVD তৈরি ও চালানোর জন্য:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
আপনি এখন আপনার নতুন AVD-তে বেশিরভাগ HMI এবং অ্যাপ ফিচারের প্রোটোটাইপ তৈরি করতে প্রস্তুত।

একটি AVD ইমেজ জিপ ফাইল প্যাক করুন

আপনি আপনার AVD প্যাক করে অন্যদের সাথে শেয়ার করতে পারেন অথবা অন্য কম্পিউটারে ব্যবহার করতে পারেন। AVD ইমেজ জিপ ফাইলটি তৈরি করতে emu_img_zip.mk ব্যবহার করুন:

  1. AVD তৈরি করার পর, emu_img_zip কে টার্গেট করুন:
    m emu_img_zip
  2. sdk-repo-linux-system-images প্রিফিক্সযুক্ত AVD ইমেজ জিপ ফাইলটি $ANDROID_PRODUCT_OUT নামের ফোল্ডারে তৈরি করা হয়।

একটি AVD কার্নেল তৈরি করুন

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

কার্নেল পরিবর্তন নিয়ে পরীক্ষা করতে:

  1. নিম্নলিখিত নির্দেশাবলী ক্রমটি চালান:
    mkdir goldfish-kernel-54
    cd goldfish-kernel-54
    repo init -u https://android.googlesource.com/kernel/manifest -b
    common-android11-5.4
    repo sync
    BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh
    BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64
    build/build.sh
    ls -l ./out/android11-5.4/dist/
  2. AVD মেকফাইল অনুযায়ী কোডবেসে কার্নেল বাইনারিটি প্রতিস্থাপন করুন। উদাহরণস্বরূপ, device/generic/goldfish/board/emu64x/details.mk এর মধ্যে device/generic/goldfish/board/kernel/x86_64.mk অন্তর্ভুক্ত রয়েছে।

কার্নেল কোড এবং কনফিগারেশন নিম্নোক্ত স্থানে অবস্থিত:

আইটেম মূল্য
শাখা common-android11-5.4 (অ্যান্ড্রয়েড ১১-এ ব্যবহৃত)
প্রকাশ kernel/manifest/common-android11-5.4
সাধারণ-মডিউল/ভার্চুয়াল-ডিভাইস kernel/common-modules/virtual-device/android11-5.4
কার্নেল kernel/common/android11-5.4

একটি নতুন ডিভাইস প্রোফাইল তৈরি করুন

অ্যান্ড্রয়েড স্টুডিও এভিডি ম্যানেজারে ব্যবহারকারীদের একটি নির্দিষ্ট এভিডি তৈরি করার সুযোগ দিতে, ‘ভার্চুয়াল ডিভাইস তৈরি ও পরিচালনা’ দেখুন। ডিভাইস নির্মাতারা এভিডি ইমেজে অন্তর্ভুক্ত একটি devices.xml ফাইল ব্যবহারের মাধ্যমে স্ক্রিনের আকার এবং ডিপিআই-এর মতো তাদের নিজস্ব হার্ডওয়্যার স্পেসিফিকেশন নির্ধারণ করতে পারেন।

  • উদাহরণস্বরূপ, automotive.xml এ থাকা অটোমোটিভ ডিভাইস প্রোফাইলগুলো দেখুন।
  • HMI ডেভেলপমেন্ট বা প্রোটোটাইপিংয়ের জন্য, একই AVD ইমেজের ফাইলে একাধিক ডিভাইস যোগ করা যেতে পারে।
  • OEM AVD ইমেজ জিপ ফাইলের [ABI] ফোল্ডারে ফাইলটি অন্তর্ভুক্ত করুন। উদাহরণস্বরূপ, x86_64 হিসেবে।
  • ডিভাইস নির্মাতারা একটি এমুলেটর স্কিনও তৈরি করতে পারেন। উদাহরণস্বরূপ, আরও উন্নত মানের ইউএক্স (UX)-এর জন্য অতিরিক্ত হার্ডওয়্যার বাটন যুক্ত করতে। এটি শুধু ডেভেলপারদের কাজের ধারার জন্যই নয়, বরং ইউএক্স গবেষণা এবং পর্যালোচনার মতো অন্যান্য কাজের জন্যও উপযোগী।

AVD ইমেজ XML ফাইলটি তৈরি করুন

ডিভাইস নির্মাতারা অ্যান্ড্রয়েড স্টুডিও থেকে ডাউনলোড করার জন্য একটি AVD ইমেজ XML ফাইল তৈরি করতে পারেন।

  • উদাহরণস্বরূপ, AAOS AVD ইমেজ XML ফাইল, sys-img2-1.xml দেখুন।
  • ডিভাইস নির্মাতারা অ্যান্ড্রয়েড এমুলেটরের লাইসেন্স সহ, তাদের লক্ষ্য ব্যবহারকারীদের জন্য (সততা নীতির উপর ভিত্তি করে) নিজস্ব OEM AVD লাইসেন্স চুক্তি নির্ধারণ করতে পারে। এই ধরনের লাইসেন্স অন্তর্ভুক্ত করা হলে অ্যান্ড্রয়েড স্টুডিও ব্যবহারকারীদের সম্মতি গ্রহণ করে।

ছবিটি তৈরি করতে:

  1. একটি AVD ইমেজ জিপ ফাইল প্রস্তুত করুন।
  2. ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip আনজিপ করুন।
  3. devices.xml x86_64 ফোল্ডারে যোগ করুন এবং তারপর ফাইলটিকে একটি zip ফাইলে কম্প্রেস করুন। উদাহরণস্বরূপ, oem_avd_img_x86_64.zip নামে।
  4. oem-sys-img2-1.xml ফাইলটি আপডেট করুন।
  5. জিপ ফাইলের নাম, আকার এবং শ্যাসাম আপডেট করুন (নমুনা XML ফাইল tools -এ দেওয়া আছে)।

উদাহরণস্বরূপ, গুগল ক্লাউড স্টোরেজে এভিডি হোস্ট করতে, স্টোরেজ বাকেট তৈরি করা দেখুন।

AVD আপলোড করতে এবং সর্বজনীনভাবে প্রবেশযোগ্য করতে, ডেটা সর্বজনীনকরণ দেখুন:

BUCKET_NAME="aaos-avd"
gsutil mb gs://$BUCKET_NAME
gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME
gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME
gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME

AVD ইমেজ SDK অ্যাড-অনের URL ফরম্যাটটি হলো: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml । উদাহরণস্বরূপ, যদি BUCKET_NAME হয় aaos-avd, তাহলে URL-টি হবে: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml

অ্যান্ড্রয়েড স্টুডিও ব্যবহারকারীদের সাথে একটি AVD ইমেজ শেয়ার করুন

যাতে আপনার ব্যবহারকারীরা AVD ইমেজ ডাউনলোড করতে এবং Android Studio-এর মাধ্যমে আপনার AVD ব্যবহার করতে পারেন, সেজন্য আপনি একটি SDK অ্যাড-অন XML ফাইল সরবরাহ করতে পারেন। বিস্তারিত জানতে, “Update the IDE and SDK Tools” দেখুন।

নেটওয়ার্ক থেকে এভিডি ডাউনলোড করতে:

  1. ইমেজ জিপ ফাইল এবং এক্সএমএল ফাইলগুলো একটি সার্ভারে হোস্ট করুন।
  2. আপনার লক্ষ্য ব্যবহারকারীদের কাছে URL-টি সরবরাহ করুন।
  3. ( ঐচ্ছিক ) ব্যবহারকারীর নাম ও পাসওয়ার্ড দ্বারা প্রবেশাধিকার সীমিত করুন।

বিকল্পভাবে, উন্নয়নের গতি বাড়াতে, AVD-টি একটি স্থানীয় ডিরেক্টরিতে ডাউনলোড করুন:

  1. XML ফাইলগুলো এবং XML ফাইলে উল্লেখিত সমস্ত আর্টিফ্যাক্ট (উদাহরণস্বরূপ, সমস্ত AVD ইমেজ জিপ ফাইল) ADDON_DIR নামের একটি ফোল্ডারে সংরক্ষণ করুন।
  2. URL হিসেবে file://$ADDON_DIR/oem-sys-img2-1.xml উল্লেখ করুন।