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

আপনি অ্যান্ড্রয়েড এমুলেটর ব্যবহার করে অ্যান্ড্রয়েড ডিভাইসের এমন এমুলেশন তৈরি করতে পারেন, যেগুলোতে আপনার নিজস্ব কাস্টম অ্যান্ড্রয়েড সিস্টেম ইমেজ চলে। এছাড়াও, আপনি অ্যান্ড্রয়েড এমুলেটর এমুলেশনগুলোতে মাল্টি-ডিসপ্লে সাপোর্ট যোগ করতে পারেন।

অ্যান্ড্রয়েড এমুলেটর আর্কিটেকচার

অ্যান্ড্রয়েড এমুলেটর, অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) নামক একটি ভার্চুয়াল মেশিনে অ্যান্ড্রয়েড অপারেটিং সিস্টেম চালায়। প্রতিটি AVD-তে সম্পূর্ণ অ্যান্ড্রয়েড সফটওয়্যার স্ট্যাক থাকে এবং এটি এমনভাবে চলে যেন এটি একটি বাস্তব ডিভাইসে চলছে। চিত্র ১-এ অ্যান্ড্রয়েড এমুলেটরের উচ্চ-স্তরের স্থাপত্য দেখানো হয়েছে। এমুলেটর সম্পর্কে আরও তথ্যের জন্য, "অ্যান্ড্রয়েড এমুলেটরে অ্যাপ চালান" দেখুন।

অ্যান্ড্রয়েড এমুলেটর আর্কিটেকচার।

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

AVD ইমেজ তৈরি করুন

প্রতিটি AVD-তে একটি অ্যান্ড্রয়েড সিস্টেম ইমেজ অন্তর্ভুক্ত থাকে, যা সেই AVD-তেই চলে। AVD ম্যানেজারে কিছু সিস্টেম ইমেজ থাকে। এবং আপনি আপনার সোর্স কোড থেকে কাস্টম AVD সিস্টেম ইমেজ তৈরি করতে পারেন ও সেগুলো চালানোর জন্য ডিভাইস এমুলেশন বানাতে পারেন।

একটি AVD সিস্টেম ইমেজ তৈরি ও চালানোর জন্য:

  1. অ্যান্ড্রয়েড সোর্স ডাউনলোড করুন:

    mkdir aosp-android-latest-release; cd aosp-android-latest-release
    repo init -u
    repo sync -j24

আপনি যদি অন্যান্য অ্যান্ড্রয়েড সংস্করণ তৈরি করতে চান, তাহলে পাবলিক অ্যান্ড্রয়েড রিপোজিটরিতে তাদের ব্রাঞ্চের নামগুলো খুঁজে নিতে পারেন। এগুলো অ্যান্ড্রয়েড কোডনেম, ট্যাগ এবং বিল্ড নম্বরের সাথে সম্পর্কিত।

  1. একটি AVD সিস্টেম ইমেজ তৈরি করুন। এটি একটি অ্যান্ড্রয়েড ডিভাইস সিস্টেম ইমেজ তৈরির মতোই একটি প্রক্রিয়া। উদাহরণস্বরূপ, একটি x86 64-বিট AVD তৈরি করতে:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
  2. অ্যান্ড্রয়েড এমুলেটরে AVD সিস্টেম ইমেজটি চালান:

    emulator

এমুলেটর চালানোর বিষয়ে আরও বিস্তারিত জানতে কমান্ড-লাইন স্টার্টআপ অপশনগুলো দেখুন। চিত্র ২-এ একটি AVD চালিত অ্যান্ড্রয়েড এমুলেটরের উদাহরণ দেখানো হয়েছে:

অ্যান্ড্রয়েড এমুলেটর একটি এভিডি দ্বারা চালিত হচ্ছে।

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

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

আপনার AVD সিস্টেম ইমেজগুলো অন্যদের সাথে শেয়ার করতে এই নির্দেশাবলী অনুসরণ করুন। তারা অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে আপনার AVD সিস্টেম ইমেজগুলো দিয়ে অ্যাপ তৈরি ও পরীক্ষা করতে পারবে।

  1. অতিরিক্ত sdk এবং sdk_repo প্যাকেজ তৈরি করুন:

    অ্যান্ড্রয়েড ১৩ এবং তার পরবর্তী সংস্করণগুলোর জন্য emu_img_zip কমান্ডটি ব্যবহার করুন:

    $ make emu_img_zip
    

    এটি sdk-repo-linux-system-images-eng.[username]].zip একটি ফাইল তৈরি করে।

    অ্যান্ড্রয়েড ১২ এবং এর নিচের সংস্করণগুলোর জন্য sdk_repo কমান্ডটি ব্যবহার করুন:

    $ make -j32 sdk sdk_repo
    

    make sdk sdk_repo কমান্ডটি aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86 এর অধীনে দুটি ফাইল তৈরি করে:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. sdk-repo-linux-system-images-eng.[username].zip ফাইলটি আপনার ব্যবহারকারীদের জন্য সহজলভ্য কোনো স্থানে হোস্ট করুন এবং AVD সিস্টেম ইমেজ URL হিসেবে ব্যবহারের জন্য এর URL-টি সংগ্রহ করুন।

  3. অ্যান্ড্রয়েড ১২ এবং এর পূর্ববর্তী সংস্করণগুলোর জন্য, repo-sys-img.xml ফাইলটি নিম্নোক্তভাবে সম্পাদনা করুন:

    • <sdk:url> আপনার AVD সিস্টেম ইমেজ URL দিয়ে আপডেট করুন।
    • ফাইলটির অন্যান্য আপডেট সম্পর্কে জানতে sdk-sys-img-03.xsd দেখুন।
    • repo-sys-img.xml আপনার ব্যবহারকারীদের জন্য সহজলভ্য কোনো স্থানে হোস্ট করুন এবং কাস্টম আপডেট সাইট ইউআরএল (Custom Update Site URL) হিসেবে ব্যবহারের জন্য এর ইউআরএলটি সংগ্রহ করুন।

কাস্টম AVD ইমেজ ব্যবহার করতে, SDK ম্যানেজারে নিম্নলিখিত কাজগুলো করুন:

  1. কাস্টম আপডেট সাইট URL-টিকে একটি SDK আপডেট সাইট হিসেবে যোগ করুন।

    এটি আপনার কাস্টম এভিডি সিস্টেম ইমেজটিকে সিস্টেম ইমেজ পেজে যুক্ত করে।

  2. কাস্টম এভিডি সিস্টেম ইমেজ ডাউনলোড ও নির্বাচন করে একটি এভিডি তৈরি করুন

একাধিক ডিসপ্লে সমর্থন যোগ করুন

অ্যান্ড্রয়েড ১০ মাল্টি-ডিসপ্লে ফিচারটিকে আরও উন্নত করেছে , যা অটো এবং ডেস্কটপ মোডের মতো আরও বেশি ব্যবহারের ক্ষেত্রকে ভালোভাবে সাপোর্ট করে। অ্যান্ড্রয়েড এমুলেটরও মাল্টি-ডিসপ্লে এমুলেশন সাপোর্ট করে। ফলে, আসল হার্ডওয়্যার সেট আপ না করেই আপনি একটি নির্দিষ্ট মাল্টি-ডিসপ্লে পরিবেশ তৈরি করতে পারেন।

আপনি নিম্নলিখিত পরিবর্তনগুলি করে, অথবা এই CL-গুলি থেকে বেছে নিয়ে একটি AVD-তে মাল্টি-ডিসপ্লে সাপোর্ট যোগ করতে পারেন।

  • build/target/product/sdk_phone_x86.mk ফাইলে এই লাইনগুলো যোগ করে বিল্ডে মাল্টি-ডিসপ্লে প্রোভাইডারটি যুক্ত করুন:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • device/generic/goldfish/data/etc/advancedFeatures.ini ফাইলে এই লাইনটি যোগ করে মাল্টি-ডিসপ্লে ফিচার ফ্ল্যাগটি সক্রিয় করুন:

    MultiDisplay = on
    

আপনি নিম্নলিখিত উৎসগুলো থেকে সর্বশেষ এমুলেটর ফিচার এবং রিলিজের তথ্য জানতে পারবেন: