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

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

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

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

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

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

AVD ছবি তৈরি করা

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

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

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

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

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

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

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    আপনি যদি একটি x86 64-বিট AVD তৈরি করতে পছন্দ করেন তবে 64-বিট লক্ষ্যের জন্য lunch চালান:

    lunch sdk_phone_x86_64
    
  3. অ্যান্ড্রয়েড এমুলেটরে AVD সিস্টেম ইমেজ চালান:

    emulator
    

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

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

চিত্র 2। অ্যান্ড্রয়েড এমুলেটর একটি AVD চালাচ্ছে

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

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

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

    Android 13 এবং উচ্চতর জন্য, emu_img_zip কমান্ড ব্যবহার করুন:

    $ make emu_img_zip
    

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

    অ্যান্ড্রয়েড 12 এবং তার নিচের জন্য, sdk_repo কমান্ডটি ব্যবহার করুন:

    $ make -j32 sdk sdk_repo
    

    make sdk sdk_repo কমান্ডটি aosp-main/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 images -eng।

  3. অ্যান্ড্রয়েড 12 এবং তার নিচের জন্য, সেই অনুযায়ী repo-sys-img.xml সম্পাদনা করুন:

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

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

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

    এটি সিস্টেম ইমেজ পৃষ্ঠায় আপনার কাস্টম AVD সিস্টেম ইমেজ যোগ করে।

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

মাল্টি-ডিসপ্লে সমর্থন যোগ করা হচ্ছে

Android 10 অটো এবং ডেস্কটপ মোডের মতো আরও ব্যবহারের ক্ষেত্রে আরও ভালভাবে সমর্থন করতে মাল্টি-ডিসপ্লে (MD) উন্নত করে । অ্যান্ড্রয়েড এমুলেটর মাল্টি-ডিসপ্লে এমুলেশন সমর্থন করে। তাই আপনি প্রকৃত হার্ডওয়্যার সেট আপ না করে একটি নির্দিষ্ট মাল্টি-ডিসপ্লে পরিবেশ তৈরি করতে পারেন।

আপনি নিম্নলিখিত পরিবর্তনগুলি করে বা এই 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
    

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