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

চিত্র ১. অ্যান্ড্রয়েড এমুলেটরের স্থাপত্য।
AVD ইমেজ তৈরি করুন
প্রতিটি AVD-তে একটি অ্যান্ড্রয়েড সিস্টেম ইমেজ অন্তর্ভুক্ত থাকে, যা সেই AVD-তেই চলে। AVD ম্যানেজারে কিছু সিস্টেম ইমেজ থাকে। এবং আপনি আপনার সোর্স কোড থেকে কাস্টম AVD সিস্টেম ইমেজ তৈরি করতে পারেন ও সেগুলো চালানোর জন্য ডিভাইস এমুলেশন বানাতে পারেন।
একটি AVD সিস্টেম ইমেজ তৈরি ও চালানোর জন্য:
অ্যান্ড্রয়েড সোর্স ডাউনলোড করুন:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo sync -j24
আপনি যদি অন্যান্য অ্যান্ড্রয়েড সংস্করণ তৈরি করতে চান, তাহলে পাবলিক অ্যান্ড্রয়েড রিপোজিটরিতে তাদের ব্রাঞ্চের নামগুলো খুঁজে নিতে পারেন। এগুলো অ্যান্ড্রয়েড কোডনেম, ট্যাগ এবং বিল্ড নম্বরের সাথে সম্পর্কিত।
একটি AVD সিস্টেম ইমেজ তৈরি করুন। এটি একটি অ্যান্ড্রয়েড ডিভাইস সিস্টেম ইমেজ তৈরির মতোই একটি প্রক্রিয়া। উদাহরণস্বরূপ, একটি x86 64-বিট AVD তৈরি করতে:
source ./build/envsetup.shlunch sdk_phone_x86_64make -j32অ্যান্ড্রয়েড এমুলেটরে AVD সিস্টেম ইমেজটি চালান:
emulator
এমুলেটর চালানোর বিষয়ে আরও বিস্তারিত জানতে কমান্ড-লাইন স্টার্টআপ অপশনগুলো দেখুন। চিত্র ২-এ একটি AVD চালিত অ্যান্ড্রয়েড এমুলেটরের উদাহরণ দেখানো হয়েছে:

চিত্র ২. একটি এভিডি চালিত অ্যান্ড্রয়েড এমুলেটর।
অন্যদের অ্যান্ড্রয়েড স্টুডিওর সাথে ব্যবহারের জন্য AVD সিস্টেম ইমেজ শেয়ার করুন।
আপনার AVD সিস্টেম ইমেজগুলো অন্যদের সাথে শেয়ার করতে এই নির্দেশাবলী অনুসরণ করুন। তারা অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে আপনার AVD সিস্টেম ইমেজগুলো দিয়ে অ্যাপ তৈরি ও পরীক্ষা করতে পারবে।
অতিরিক্ত
sdkএবংsdk_repoপ্যাকেজ তৈরি করুন:অ্যান্ড্রয়েড ১৩ এবং তার পরবর্তী সংস্করণগুলোর জন্য
emu_img_zipকমান্ডটি ব্যবহার করুন:$ make emu_img_zipএটি
sdk-repo-linux-system-images-eng.[username]].zipএকটি ফাইল তৈরি করে।অ্যান্ড্রয়েড ১২ এবং এর নিচের সংস্করণগুলোর জন্য
sdk_repoকমান্ডটি ব্যবহার করুন:$ make -j32 sdk sdk_repomake 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
-
sdk-repo-linux-system-images-eng.[username].zipফাইলটি আপনার ব্যবহারকারীদের জন্য সহজলভ্য কোনো স্থানে হোস্ট করুন এবং AVD সিস্টেম ইমেজ URL হিসেবে ব্যবহারের জন্য এর URL-টি সংগ্রহ করুন।অ্যান্ড্রয়েড ১২ এবং এর পূর্ববর্তী সংস্করণগুলোর জন্য,
repo-sys-img.xmlফাইলটি নিম্নোক্তভাবে সম্পাদনা করুন:-
<sdk:url>আপনার AVD সিস্টেম ইমেজ URL দিয়ে আপডেট করুন। - ফাইলটির অন্যান্য আপডেট সম্পর্কে জানতে sdk-sys-img-03.xsd দেখুন।
-
repo-sys-img.xmlআপনার ব্যবহারকারীদের জন্য সহজলভ্য কোনো স্থানে হোস্ট করুন এবং কাস্টম আপডেট সাইট ইউআরএল (Custom Update Site URL) হিসেবে ব্যবহারের জন্য এর ইউআরএলটি সংগ্রহ করুন।
-
কাস্টম AVD ইমেজ ব্যবহার করতে, SDK ম্যানেজারে নিম্নলিখিত কাজগুলো করুন:
কাস্টম আপডেট সাইট URL-টিকে একটি SDK আপডেট সাইট হিসেবে যোগ করুন।
এটি আপনার কাস্টম এভিডি সিস্টেম ইমেজটিকে সিস্টেম ইমেজ পেজে যুক্ত করে।
কাস্টম এভিডি সিস্টেম ইমেজ ডাউনলোড ও নির্বাচন করে একটি এভিডি তৈরি করুন ।
একাধিক ডিসপ্লে সমর্থন যোগ করুন
অ্যান্ড্রয়েড ১০ মাল্টি-ডিসপ্লে ফিচারটিকে আরও উন্নত করেছে , যা অটো এবং ডেস্কটপ মোডের মতো আরও বেশি ব্যবহারের ক্ষেত্রকে ভালোভাবে সাপোর্ট করে। অ্যান্ড্রয়েড এমুলেটরও মাল্টি-ডিসপ্লে এমুলেশন সাপোর্ট করে। ফলে, আসল হার্ডওয়্যার সেট আপ না করেই আপনি একটি নির্দিষ্ট মাল্টি-ডিসপ্লে পরিবেশ তৈরি করতে পারেন।
আপনি নিম্নলিখিত পরিবর্তনগুলি করে, অথবা এই 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 += MultiDisplayProviderdevice/generic/goldfish/data/etc/advancedFeatures.iniফাইলে এই লাইনটি যোগ করে মাল্টি-ডিসপ্লে ফিচার ফ্ল্যাগটি সক্রিয় করুন:MultiDisplay = on
আপনি নিম্নলিখিত উৎসগুলো থেকে সর্বশেষ এমুলেটর ফিচার এবং রিলিজের তথ্য জানতে পারবেন: