কমান্ড লাইন থেকে এমুলেটর শুরু করুন

অ্যান্ড্রয়েড এসডিকে-তে একটি অ্যান্ড্রয়েড ডিভাইস এমুলেটর অন্তর্ভুক্ত রয়েছে—এটি একটি ভার্চুয়াল ডিভাইস যা আপনার কম্পিউটারে চলে। অ্যান্ড্রয়েড এমুলেটর আপনাকে কোনো ভৌত ডিভাইস ব্যবহার না করেই অ্যান্ড্রয়েড অ্যাপ তৈরি ও পরীক্ষা করতে দেয়।

এই পৃষ্ঠায় অ্যান্ড্রয়েড এমুলেটরের সাথে ব্যবহারযোগ্য কমান্ড-লাইন বৈশিষ্ট্যগুলো বর্ণনা করা হয়েছে। অ্যান্ড্রয়েড এমুলেটর UI ব্যবহারের তথ্যের জন্য, “অ্যান্ড্রয়েড এমুলেটরে অ্যাপ চালান” দেখুন।

এমুলেটরটি চালু করুন

আপনার প্রজেক্ট রান করার বা এভিডি ম্যানেজারের মাধ্যমে চালু করার বিকল্প হিসেবে, এমুলেটরটি শুরু করতে emulator কমান্ডটি ব্যবহার করুন।

টার্মিনাল প্রম্পট থেকে একটি ভার্চুয়াল ডিভাইস চালু করার জন্য মৌলিক কমান্ড-লাইন সিনট্যাক্সটি নিচে দেওয়া হলো:

emulator -avd avd_name [ {-option [value]} … ]

অথবা

emulator @avd_name [ {-option [value]} … ]

উদাহরণস্বরূপ, যদি আপনি ম্যাক-এ চলমান অ্যান্ড্রয়েড স্টুডিও থেকে এমুলেটরটি চালু করেন, তাহলে ডিফল্ট কমান্ড লাইনটি নিম্নলিখিতের মতো হবে:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Pixel8_API_34 -netdelay none -netspeed full -qt-hide-window -grpc-use-token -idle-grpc-timeout 300

অনুগ্রহ করে মনে রাখবেন যে -qt-hide-window -grpc-use-token -idle-grpc-timeout 300 আর্গুমেন্টগুলো শুধুমাত্র অ্যান্ড্রয়েড স্টুডিওর ভেতরে এমুলেটর উইন্ডো চালানোর জন্য ব্যবহৃত হয়। আপনি যদি এমুলেটরটি তার নিজস্ব উইন্ডোতে চালাতে চান, তবে আপনার এই অতিরিক্ত প্যারামিটারগুলো ব্যবহার করা উচিত নয়।

আপনি এমুলেটর চালু করার সময় স্টার্টআপ অপশনগুলো নির্দিষ্ট করতে পারেন, কিন্তু এটি চালু হয়ে যাওয়ার পরে আর তা করা যায় না।

AVD নামগুলোর তালিকা পেতে, নিম্নলিখিত কমান্ডটি প্রবেশ করান:

emulator -list-avds

আপনার অ্যান্ড্রয়েড হোম ডিরেক্টরি থেকে AVD নামগুলির একটি তালিকা প্রদর্শন করতে এই বিকল্পটি ব্যবহার করুন। আপনি ANDROID_SDK_HOME এনভায়রনমেন্ট ভেরিয়েবল সেট করে ডিফল্ট হোম ডিরেক্টরিটি ওভাররাইড করতে পারেন, যা ব্যবহারকারী-নির্দিষ্ট ডিরেক্টরির রুটকে নির্দেশ করে, যেখানে সমস্ত কনফিগারেশন এবং AVD কন্টেন্ট সংরক্ষিত থাকে।

আপনি ভার্চুয়াল ডিভাইস চালু করার আগে টার্মিনাল উইন্ডোতে অথবা অপারেটিং সিস্টেমের ইউজার সেটিংসের মাধ্যমে এনভায়রনমেন্ট ভেরিয়েবল সেট করতে পারেন। উদাহরণস্বরূপ, লিনাক্সে আপনার .bashrc ফাইলে।

অ্যান্ড্রয়েড এমুলেটর বন্ধ করতে, এমুলেটর উইন্ডোটি বন্ধ করুন।

একটি অ্যাপ ইনস্টল করুন

অ্যান্ড্রয়েড স্টুডিও বা এমুলেটর UI-এর মাধ্যমে অ্যাপ ইনস্টল করার পাশাপাশি, আপনি adb ইউটিলিটি ব্যবহার করে একটি ভার্চুয়াল ডিভাইসেও আপনার অ্যাপ ইনস্টল করতে পারেন।

আপনার অ্যাপ ইনস্টল, রান এবং পরীক্ষা করার জন্য adb ব্যবহার করতে, এই সাধারণ ধাপগুলো অনুসরণ করুন:

  1. "আপনার অ্যাপ তৈরি ও রান করুন " অংশে বর্ণিত পদ্ধতি অনুসরণ করে আপনার অ্যাপটিকে একটি APK ফাইলে বিল্ড ও প্যাকেজ করুন।
  2. পূর্ববর্তী বিভাগে বর্ণিত পদ্ধতি অনুসারে, প্রয়োজনীয় স্টার্টআপ অপশন ব্যবহার করে কমান্ড লাইন থেকে এমুলেটরটি চালু করুন।
  3. adb ব্যবহার করে আপনার অ্যাপটি ইনস্টল করুন।
  4. এমুলেটরে আপনার অ্যাপটি চালান এবং পরীক্ষা করুন।
    এমুলেটরটি চালু থাকা অবস্থায়, আপনি প্রয়োজন অনুযায়ী কমান্ড দেওয়ার জন্য এমুলেটর কনসোল ব্যবহার করতে পারেন।

কোনো অ্যাপ আনইনস্টল করতে, অ্যান্ড্রয়েড ডিভাইসের মতোই তা করুন।

ভার্চুয়াল ডিভাইসটি রিস্টার্টের পরেও অ্যাপ এবং এর স্টেট ডেটা একটি ইউজার ডেটা ডিস্ক পার্টিশনে ( userdata-qemu.img ) সংরক্ষণ করে। এই ডেটা মুছে ফেলার জন্য, -wipe-data অপশনসহ এমুলেটরটি চালু করুন অথবা AVD ম্যানেজার থেকে ডেটা ওয়াইপ করুন। ইউজার ডেটা পার্টিশন এবং অন্যান্য স্টোরেজ সম্পর্কে আরও তথ্যের জন্য, পরবর্তী বিভাগটি দেখুন।

দ্রষ্টব্য: adb ইউটিলিটি ভার্চুয়াল ডিভাইসটিকে একটি প্রকৃত ভৌত ডিভাইস হিসেবে দেখে। এই কারণে, install মতো কিছু সাধারণ adb কমান্ডের সাথে আপনাকে -d ফ্ল্যাগটি ব্যবহার করতে হতে পারে। -d ফ্ল্যাগটি আপনাকে নির্দিষ্ট করে দেয় যে, একাধিক সংযুক্ত ডিভাইসের মধ্যে কোনটি একটি কমান্ডের টার্গেট হিসেবে ব্যবহৃত হবে। আপনি যদি -d নির্দিষ্ট না করেন, তাহলে এমুলেটরটি তার তালিকার প্রথম ডিভাইসটিকে টার্গেট করে।

ডিফল্ট ডিরেক্টরি এবং ফাইলগুলি বুঝুন

এমুলেটরটি সংশ্লিষ্ট ফাইল ব্যবহার করে, যার মধ্যে AVD সিস্টেম এবং ডেটা ডিরেক্টরিগুলো সবচেয়ে গুরুত্বপূর্ণ। কমান্ড-লাইন অপশন নির্দিষ্ট করার সময় এমুলেটরের ডিরেক্টরি কাঠামো এবং ফাইলগুলো বোঝা সহায়ক, যদিও সাধারণত ডিফল্ট ডিরেক্টরি বা ফাইলগুলো পরিবর্তন করার প্রয়োজন হয় না।

অ্যান্ড্রয়েড এমুলেটর ( QEMU ) হাইপারভাইজর ব্যবহার করে।

এভিডি সিস্টেম ডিরেক্টরি

সিস্টেম ডিরেক্টরিতে অ্যান্ড্রয়েড সিস্টেম ইমেজগুলো থাকে, যা এমুলেটর অপারেটিং সিস্টেমকে সিমুলেট করতে ব্যবহার করে। এই ডিরেক্টরিতে প্ল্যাটফর্ম-নির্দিষ্ট, রিড-অনলি ফাইল থাকে যা একই ধরনের সমস্ত AVD-এর মধ্যে শেয়ার করা হয়; এর মধ্যে রয়েছে API লেভেল, CPU আর্কিটেকচার এবং অ্যান্ড্রয়েড ভ্যারিয়েন্ট। ডিফল্ট অবস্থানগুলো হলো নিম্নরূপ:

  • ম্যাকওএস এবং লিনাক্স - ~/Library/Android/sdk/system-images/android- apiLevel / variant / arch /
  • উইন্ডোজ - C:\Users\ user \Library\Android\sdk\system-images\android- apiLevel \ variant \ arch \

কোথায়:

  • apiLevel হলো একটি সাংখ্যিক এপিআই লেভেল অথবা প্রিভিউ রিলিজের জন্য একটি অক্ষর। উদাহরণস্বরূপ, android-V অ্যান্ড্রয়েড ভ্যানিলাআইসক্রিম প্রিভিউকে নির্দেশ করে। রিলিজের পর, এটি এপিআই লেভেল ৩৫-এ পরিণত হয়, যা android-35 দ্বারা চিহ্নিত।
  • variant হলো সিস্টেম ইমেজ দ্বারা বাস্তবায়িত নির্দিষ্ট বৈশিষ্ট্যগুলোর সাথে সম্পর্কিত একটি নাম। উদাহরণস্বরূপ, google_apis বা android-wear
  • arch হলো কাঙ্ক্ষিত সিপিইউ আর্কিটেকচার। উদাহরণস্বরূপ, x86

AVD-এর জন্য একটি ভিন্ন সিস্টেম ডিরেক্টরি নির্দিষ্ট করতে -sysdir অপশনটি ব্যবহার করুন।

এমুলেটরটি সিস্টেম ডিরেক্টরি থেকে নিম্নলিখিত ফাইলগুলি পড়ে:

সারণি ১. অ্যান্ড্রয়েড এমুলেটর দ্বারা পঠিত সিস্টেম ডিরেক্টরি ফাইলসমূহ

ফাইল বর্ণনা ভিন্ন ফাইল নির্দিষ্ট করার বিকল্প
kernel-qemu অথবা kernel-ranchu AVD. kernel-ranchu এর বাইনারি কার্নেল ইমেজটি QEMU এমুলেটরের উপর ভিত্তি করে তৈরি। -kernel
ramdisk.img বুট পার্টিশন ইমেজ। এটি system.img এর একটি উপসেট যা সিস্টেম ইমেজ মাউন্ট হওয়ার আগে কার্নেল দ্বারা প্রাথমিকভাবে লোড করা হয়। এতে সাধারণত কয়েকটি বাইনারি এবং ইনিশিয়ালাইজেশন স্ক্রিপ্ট থাকে। -ramdisk
system.img সিস্টেম ইমেজের পঠনযোগ্য প্রাথমিক সংস্করণ। বিশেষত, এটি সেই পার্টিশন যা এপিআই লেভেল এবং ভ্যারিয়েন্টের সাথে সঙ্গতিপূর্ণ সিস্টেম লাইব্রেরি ও ডেটা ধারণ করে। -system
userdata.img ডেটা পার্টিশনের প্রাথমিক সংস্করণ, যা এমুলেটেড সিস্টেমে data/ হিসেবে প্রদর্শিত হয় এবং AVD-এর জন্য সমস্ত লেখার যোগ্য ডেটা ধারণ করে। আপনি যখন একটি নতুন AVD তৈরি করেন বা ‑wipe-data বিকল্পটি ব্যবহার করেন, তখন এমুলেটর এই ফাইলটি ব্যবহার করে। আরও তথ্যের জন্য, পরবর্তী বিভাগে userdata-qemu.img ফাইলের বিবরণ দেখুন। -initdata
-init-data

এভিডি ডেটা ডিরেক্টরি

এভিডি ডেটা ডিরেক্টরি, যা কন্টেন্ট ডিরেক্টরি নামেও পরিচিত, একটি একক এভিডি ইনস্ট্যান্সের জন্য নির্দিষ্ট এবং এতে এভিডি-র সমস্ত পরিবর্তনযোগ্য ডেটা থাকে।

ডিফল্ট অবস্থানটি নিম্নরূপ, যেখানে name হলো AVD-এর নাম:

  • ম্যাকওএস এবং লিনাক্স - ~/.android/avd/ name .avd/
  • উইন্ডোজ ১০ এবং উচ্চতর সংস্করণ - C:\Users\ user \.android\ name .avd\

ভিন্ন কোনো AVD ডেটা ডিরেক্টরি নির্দিষ্ট করতে -datadir অপশনটি ব্যবহার করুন।

নিম্নলিখিত সারণিতে এই ডিরেক্টরিতে থাকা সবচেয়ে গুরুত্বপূর্ণ ফাইলগুলির তালিকা দেওয়া হলো:

সারণি ২. এভিডি ডেটা ডিরেক্টরিতে থাকা গুরুত্বপূর্ণ ফাইলসমূহ

ফাইল বর্ণনা ভিন্ন ফাইল নির্দিষ্ট করার বিকল্প
userdata-qemu.img

ডেটা পার্টিশনের বিষয়বস্তু, যা এমুলেটেড সিস্টেমে data/ হিসেবে প্রদর্শিত হয়। যখন আপনি একটি নতুন AVD তৈরি করেন অথবা যখন আপনি AVD-কে ফ্যাক্টরি ডিফল্টে রিসেট করার জন্য -wipe-data অপশনটি ব্যবহার করেন, তখন এমুলেটর এই ফাইলটি তৈরি করার জন্য সিস্টেম ডিরেক্টরিতে থাকা userdata.img ফাইলটি কপি করে।

প্রতিটি ভার্চুয়াল ডিভাইস ইনস্ট্যান্স ব্যবহারকারী এবং সেশন-নির্দিষ্ট ডেটা সংরক্ষণের জন্য একটি লেখনযোগ্য ইউজার-ডেটা ইমেজ ব্যবহার করে। উদাহরণস্বরূপ, এটি কোনো নির্দিষ্ট ব্যবহারকারীর ইনস্টল করা অ্যাপের ডেটা, সেটিংস, ডেটাবেস এবং ফাইল সংরক্ষণের জন্য ইমেজটি ব্যবহার করে। প্রতিটি ব্যবহারকারীর একটি ভিন্ন ANDROID_SDK_HOME ডিরেক্টরি থাকে, যেখানে সেই ব্যবহারকারীর তৈরি করা AVD-গুলোর ডেটা ডিরেক্টরিগুলো সংরক্ষিত থাকে। প্রতিটি AVD-তে একটিমাত্র userdata-qemu.img ফাইল থাকে।

-data
cache.img ক্যাশ পার্টিশন ইমেজ, যা এমুলেটেড সিস্টেমে cache/ হিসেবে দেখা যায়। আপনি যখন প্রথমবার একটি AVD তৈরি করেন বা -wipe-data অপশনটি ব্যবহার করেন, তখন এটি খালি থাকে। এটি অস্থায়ী ডাউনলোড ফাইলগুলো সংরক্ষণ করে এবং ডাউনলোড ম্যানেজার ও কখনও কখনও সিস্টেম দ্বারা এটি পূর্ণ হয়। উদাহরণস্বরূপ, এমুলেটর চলার সময় ব্রাউজার ডাউনলোড করা ওয়েব পেজ এবং ছবি ক্যাশ করার জন্য এটি ব্যবহার করে। আপনি যখন ভার্চুয়াল ডিভাইসটি বন্ধ করেন, তখন ফাইলটি মুছে যায়। আপনি -cache অপশনটি ব্যবহার করে ফাইলটিকে স্থায়ী করতে পারেন। -cache
sdcard.img

(ঐচ্ছিক) একটি এসডি কার্ড পার্টিশন ইমেজ যা আপনাকে একটি ভার্চুয়াল ডিভাইসে এসডি কার্ড সিমুলেট করতে দেয়। আপনি AVD ম্যানেজারে অথবা mksdcard টুল ব্যবহার করে একটি এসডি কার্ড ইমেজ ফাইল তৈরি করতে পারেন। ফাইলটি আপনার ডেভেলপমেন্ট কম্পিউটারে সংরক্ষিত থাকে এবং স্টার্টআপের সময় অবশ্যই লোড করতে হবে।

এভিডি ম্যানেজারে একটি এভিডি নির্ধারণ করার সময়, আপনি স্বয়ংক্রিয়ভাবে পরিচালিত একটি এসডি কার্ড ফাইল অথবা mksdcard টুল দিয়ে তৈরি করা একটি ফাইল ব্যবহার করতে পারেন। আপনি এভিডি ম্যানেজারে একটি এভিডির সাথে যুক্ত sdcard.img ফাইলটি দেখতে পারেন। -sdcard অপশনটি এভিডিতে নির্দিষ্ট করা এসডি কার্ড ফাইলটিকে ওভাররাইড করে। মনে রাখবেন যে, এই এসডি কার্ড অপশনটি অ্যাপল সিলিকনযুক্ত ম্যাকে কাজ করবে না।

ভার্চুয়াল ডিভাইসটি চালু থাকা অবস্থায়, আপনি এমুলেটর UI বা adb ইউটিলিটি ব্যবহার করে একটি সিমুলেটেড SD কার্ড ব্রাউজ করতে, তাতে ফাইল পাঠাতে এবং ফাইল কপি ও রিমুভ করতে পারবেন। একটি চালু ভার্চুয়াল ডিভাইস থেকে আপনি সিমুলেটেড SD কার্ড রিমুভ করতে পারবেন না।

ইমেজ ফাইলটি লোড করার আগে এসডি কার্ডে ফাইল কপি করতে, ইমেজ ফাইলটিকে একটি লুপ ডিভাইস হিসেবে মাউন্ট করুন এবং তারপর ফাইলগুলো কপি করুন। অথবা, mtools প্যাকেজের মতো কোনো ইউটিলিটি ব্যবহার করে ফাইলগুলো সরাসরি ইমেজে কপি করুন।

এমুলেটর ফাইলটিকে বাইটের একটি সমষ্টি হিসেবে বিবেচনা করে, তাই এসডি কার্ডের ফরম্যাট কোনো বিষয় নয়।

-wipe-data অপশনটি এই ফাইলটিকে প্রভাবিত করে না। আপনি যদি ফাইলটি মুছে ফেলতে চান, তবে ফাইলটি ডিলিট করে দিন এবং তারপর AVD Manager বা mksdcard টুল ব্যবহার করে এটি পুনরায় তৈরি করুন। ফাইলের আকার পরিবর্তন করলেও ফাইলটি ডিলিট হয়ে যায় এবং একটি নতুন ফাইল তৈরি হয়।

-sdcard

এমুলেটর দ্বারা ব্যবহৃত ডিরেক্টরি এবং ফাইলগুলির তালিকা

আপনি দুটি উপায়ে ফাইলগুলির অবস্থান খুঁজে বের করতে পারেন:

  • কমান্ড লাইন থেকে এমুলেটর চালু করার সময় -verbose অথবা -debug init অপশনটি ব্যবহার করুন। আউটপুটটি দেখুন।
  • ডিফল্ট ডিরেক্টরি তালিকাভুক্ত করতে emulator -help- option কমান্ডটি ব্যবহার করুন। উদাহরণস্বরূপ:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

কমান্ড-লাইন স্টার্টআপ বিকল্পগুলি

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

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

সাধারণত ব্যবহৃত বিকল্পগুলি

নিম্নলিখিত সারণিতে এমন কিছু কমান্ড-লাইন স্টার্টআপ অপশন তালিকাভুক্ত করা হয়েছে যা আপনি প্রায়শই ব্যবহার করতে পারেন:

সারণি ৩. সচরাচর ব্যবহৃত কমান্ড-লাইন অপশনসমূহ

কমান্ড-লাইন বিকল্প বর্ণনা
কুইক বুট
-no-snapshot-load কোল্ড বুট সম্পন্ন করে এবং প্রস্থানের সময় এমুলেটরের অবস্থা সংরক্ষণ করে।
-no-snapshot-save সম্ভব হলে দ্রুত বুট করে, কিন্তু বন্ধ করার সময় এমুলেটরের অবস্থা সংরক্ষণ করে না।
-no-snapshot কুইক বুট ফিচারটি সম্পূর্ণরূপে নিষ্ক্রিয় করে দেয় এবং এমুলেটরের অবস্থা লোড বা সংরক্ষণ করে না।
ডিভাইস হার্ডওয়্যার
-camera-back mode
-camera-front mode
পেছনের বা সামনের দিকে থাকা ক্যামেরার জন্য এমুলেশন মোড সেট করে। এটি AVD-তে থাকা যেকোনো ক্যামেরা সেটিংকে অগ্রাহ্য করে।

mode নিম্নলিখিত মানগুলির যেকোনো একটি হতে পারে:

  • emulated - এমুলেটরটি সফটওয়্যারে একটি ক্যামেরাকে অনুকরণ করে।
  • environment - এমুলেটরটি AVD-এর পরিবেশ কনফিগারেশন ফাইলে সংজ্ঞায়িত একটি ভার্চুয়াল সিন ব্যবহার করে।
  • webcam n - এমুলেটরটি আপনার ডেভেলপমেন্ট কম্পিউটারের সাথে সংযুক্ত একটি ওয়েবক্যাম ব্যবহার করে, যা একটি নম্বর দ্বারা নির্দিষ্ট করা থাকে। ওয়েবক্যামের তালিকা পেতে -webcam-list অপশনটি ব্যবহার করুন। উদাহরণস্বরূপ, webcam0
  • imagefile: filename - এমুলেটরটি ক্যামেরা আউটপুটের জন্য একটি ইমেজ ফাইল ব্যবহার করে।
  • videofile: filename - এমুলেটরটি ক্যামেরা আউটপুটের জন্য একটি ভিডিও ব্যবহার করে।
  • image360: filename - এমুলেটরটি ক্যামেরা আউটপুটের জন্য একটি ইক্যুইরেক্ট্যাঙ্গুলার প্যানোরামিক ছবি ব্যবহার করে। সংস্করণ ৩৬.৬.৪ এবং তার পরবর্তী সংস্করণগুলোতে উপলব্ধ।
  • none - ভার্চুয়াল ডিভাইসে ক্যামেরা নিষ্ক্রিয় করে।

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

emulator @Pixel8_API_34 -camera-back webcam0
-webcam-list আপনার ডেভেলপমেন্ট কম্পিউটারে থাকা ওয়েবক্যামগুলোর তালিকা দেখায় যেগুলো এমুলেশনের জন্য উপলব্ধ। উদাহরণস্বরূপ:
emulator @Pixel8_API_34 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

উদাহরণটিতে, প্রথম webcam0 হলো সেই নামটি যা আপনি কমান্ড লাইনে ব্যবহার করেন। দ্বিতীয় webcam0 হলো সেই নামটি যা ডেভেলপমেন্ট কম্পিউটারে OS ব্যবহার করে। এই দ্বিতীয় নামটি OS ভেদে ভিন্ন হয়।

SDK Tools 25.2.4 সংস্করণ থেকে AVD নামটি আবশ্যক।

ডিস্ক ইমেজ এবং মেমরি
-memory size

ফিজিক্যাল র‍্যামের আকার নির্দিষ্ট করে, যা ১৫৩৬ থেকে ৮১৯২ মেগাবাইট পর্যন্ত হতে পারে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -memory 2048

এই মানটি AVD সেটিংকে বাতিল করে দেয়।

-sdcard filepath এসডি কার্ড পার্টিশন ইমেজ ফাইলের ফাইলের নাম এবং পাথ নির্দিষ্ট করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img

ফাইলটি খুঁজে না পাওয়া গেলেও এমুলেটরটি চালু হয়, কিন্তু এসডি কার্ড ছাড়াই। কমান্ডটি ' নো এসডি কার্ড ইমেজ' (No SD Card Image) সতর্কবার্তা দেখায়।

আপনি যদি এই অপশনটি নির্দিষ্ট না করেন, তাহলে AVD ভিন্ন কিছু নির্দিষ্ট না করলে ডেটা ডিরেক্টরিতে ডিফল্ট হিসেবে sdcard.img ব্যবহৃত হয়। এমুলেটেড এসডি কার্ড সম্পর্কে বিস্তারিত জানতে, AVD ডেটা ডিরেক্টরি দেখুন।

-wipe-data ব্যবহারকারীর ডেটা মুছে দেয় এবং প্রাথমিক ডেটা ফাইল থেকে ডেটা কপি করে। এই অপশনটি ভার্চুয়াল ডিভাইসের ডেটা মুছে ফেলে এবং এটিকে প্রথমবার সংজ্ঞায়িত করার সময়ের অবস্থায় ফিরিয়ে দেয়। সমস্ত ইনস্টল করা অ্যাপ এবং সেটিংস মুছে ফেলা হয়। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -wipe-data

ডিফল্টরূপে, ব্যবহারকারীর ডেটা ফাইলটি হলো userdata-qemu.img এবং প্রাথমিক ডেটা ফাইলটি হলো userdata.img । এই দুটি ফাইলই ডেটা ডিরেক্টরিতে থাকে। -wipe-data অপশনটি sdcard.img ফাইলকে প্রভাবিত করে না। ব্যবহারকারীর ডেটা সম্পর্কে আরও তথ্যের জন্য, "ডিফল্ট ডিরেক্টরি এবং ফাইলগুলি বুঝুন" নামক বিভাগটি দেখুন।

ডিবাগ
-debug tags এক বা একাধিক ট্যাগের জন্য ডিবাগ বার্তা প্রদর্শন সক্ষম বা অক্ষম করে। একাধিক ট্যাগকে স্পেস, কমা বা কলাম দিয়ে আলাদা করুন। উদাহরণস্বরূপ:

$ emulator @Pixel8_API_34 -debug init,metrics

কোনো ট্যাগ নিষ্ক্রিয় করতে, সেটির সামনে একটি ড্যাশ (-) বসান। উদাহরণস্বরূপ, নিম্নলিখিত অপশনটি নেটওয়ার্ক সকেট এবং মেট্রিক্স সম্পর্কিত বার্তাগুলি ছাড়া বাকি সমস্ত ডিবাগ বার্তা প্রদর্শন করে:

-debug all,-socket,-metrics

ট্যাগ ও বিবরণের তালিকার জন্য -help-debug-tags অপশনটি ব্যবহার করুন। উদাহরণস্বরূপ:

emulator -help-debug-tags

আপনি ANDROID_VERBOSE এনভায়রনমেন্ট ভেরিয়েবলে ডিফল্ট ডিবাগ ট্যাগগুলো নির্ধারণ করতে পারেন। আপনি যে ট্যাগগুলো ব্যবহার করতে চান, সেগুলো একটি কমা-বিভাজিত তালিকায় উল্লেখ করুন। এখানে একটি উদাহরণ দেওয়া হলো, যেখানে দেখানো হয়েছে কীভাবে socket এবং gles ট্যাগগুলো নির্দিষ্ট করতে হয়:

ANDROID_VERBOSE=socket,gles

এটি ব্যবহার করার সমতুল্য:

-debug-socket -debug-gles

অথবা

-debug socket,gles

-debug- tag
-debug-no- tag
একটি নির্দিষ্ট ডিবাগ বার্তার ধরণ সক্রিয় করে। কোনো ডিবাগ বার্তার ধরণ নিষ্ক্রিয় করতে no ফর্মটি ব্যবহার করুন। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

ট্যাগগুলির তালিকা পেতে, emulator -help-debug-tags কমান্ডটি ব্যবহার করুন।

-logcat logtags এক বা একাধিক ট্যাগের জন্য Logcat বার্তা প্রদর্শন সক্ষম করে এবং সেগুলোকে টার্মিনাল উইন্ডোতে লিখে রাখে। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি সমস্ত কম্পোনেন্ট থেকে ত্রুটির বার্তা সক্ষম করে:

emulator @Pixel8_API_34 -logcat *:e

logtags কমান্ডটি adb logcat logtags কমান্ডের মতোই একই ফরম্যাট ব্যবহার করে। আরও তথ্যের জন্য adb logcat -help লিখুন। এটি componentName : logLevel ফরম্যাটের স্পেস বা কমা দ্বারা পৃথক করা লগ ফিল্টারগুলির একটি তালিকা। componentName হলো একটি ওয়াইল্ডকার্ড অ্যাস্টারিস্ক ( * ) অথবা একটি কম্পোনেন্টের নাম, যেমন ActivityManager , SystemServer , InputManager , বা WindowManager

logLevel হলো এই মানগুলোর মধ্যে একটি:

  • v - ভার্বোস
  • d - ডিবাগ
  • i - তথ্যপূর্ণ
  • w - সতর্কীকরণ লগ স্তর
  • e - ত্রুটি
  • s - নীরব

নিম্নলিখিত উদাহরণটি তথ্যপূর্ণ লগ স্তরে জিএসএম উপাদানের বার্তাগুলি প্রদর্শন করে:

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

আপনি যদি কমান্ড লাইনে -logcat অপশনটি সরবরাহ না করেন, তাহলে এমুলেটর ANDROID_LOG_TAGS এনভায়রনমেন্ট ভেরিয়েবলটি খোঁজে। যদি ANDROID_LOG_TAGS একটি বৈধ logtags ভ্যালু দিয়ে সংজ্ঞায়িত করা থাকে এবং এটি খালি না থাকে, তাহলে এমুলেটর ডিফল্টরূপে টার্মিনালে Logcat আউটপুট চালু করার জন্য এর ভ্যালুটি ব্যবহার করে। আপনি adb মাধ্যমে একই বা অন্য লগ মেসেজগুলো টার্মিনালে রিডাইরেক্ট করতে পারেন।

Logcat এবং adb সম্পর্কে আরও তথ্যের জন্য, Logcat কমান্ড-লাইন টুল , Logcat দিয়ে লগ দেখা ও লেখা , Log ক্লাস, এবং adb কমান্ড জারি করা দেখুন।

-show-kernel টার্মিনাল উইন্ডোতে কার্নেল ডিবাগ বার্তা প্রদর্শন করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -show-kernel

এই অপশনটির একটি ব্যবহার হলো বুট প্রক্রিয়াটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করা।

-verbose টার্মিনাল উইন্ডোতে এমুলেটর চালুর বার্তাগুলো প্রিন্ট করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -verbose

এটি দেখায় যে একটি AVD-তে সংজ্ঞায়িত ভার্চুয়াল ডিভাইস চালু করার সময় আসলে কোন ফাইল এবং সেটিংস নির্বাচিত হয়। এই অপশনটি -debug-init নির্দিষ্ট করার মতোই।

নেটওয়ার্ক
-dns-server servers নির্দিষ্ট DNS সার্ভারগুলো ব্যবহার করে। servers হলো সর্বোচ্চ চারটি DNS সার্ভারের নাম বা IP অ্যাড্রেসের একটি কমা-দ্বারা-বিভক্ত তালিকা। উদাহরণস্বরূপ:
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

ডিফল্টরূপে, এমুলেটরটি আপনার ব্যবহৃত ডিএনএস সার্ভারগুলো শনাক্ত করার চেষ্টা করে এবং অ্যান্ড্রয়েড সিস্টেমকে সরাসরি সার্ভারগুলোর সাথে সংযোগ করার সুযোগ দিতে এমুলেটেড ফায়ারওয়াল নেটওয়ার্কে বিশেষ অ্যালিয়াস তৈরি করে। ডিএনএস সার্ভারের একটি ভিন্ন তালিকা নির্দিষ্ট করতে -dns-server অপশনটি ব্যবহার করুন।

-http-proxy proxy একটি নির্দিষ্ট HTTP/HTTPS প্রক্সির মাধ্যমে সমস্ত TCP সংযোগ স্থাপন করে। যদি আপনার এমুলেটরকে একটি প্রক্সি সার্ভারের মাধ্যমে ইন্টারনেট অ্যাক্সেস করতে হয়, তাহলে আপনি উপযুক্ত রিডাইরেকশন সেট আপ করার জন্য এই অপশনটি অথবা http_proxy এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -http-proxy myserver:1981

proxy নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

http:// server : port
http:// username : password @ server : port

http:// উপসর্গটি বাদ দেওয়া যেতে পারে।

এই অপশনটি সরবরাহ করা না হলে, এমুলেটরটি http_proxy এনভায়রনমেন্ট ভেরিয়েবলটি খুঁজে দেখে এবং proxy ফরম্যাটের সাথে মেলে এমন যেকোনো মান স্বয়ংক্রিয়ভাবে ব্যবহার করে। আরও তথ্যের জন্য, ‘প্রক্সির সাথে এমুলেটর ব্যবহার করা’ দেখুন।

দ্রষ্টব্য: একাধিক এমুলেটর চালানোর ক্ষেত্রে, প্রথমবার চালু করার সময় এই ফ্ল্যাগটি সেট করতে হবে।

-netdelay delay

নেটওয়ার্ক লেটেন্সি এমুলেশনকে মিলিসেকেন্ডে নিম্নলিখিত delay মানগুলির মধ্যে একটিতে সেট করে:

  • gsm - জিএসএম/সিএসডি (সর্বনিম্ন ১৫০, সর্বোচ্চ ৫৫০)।
  • hscsd - HSCSD (ন্যূনতম 80, সর্বোচ্চ 400)।
  • gprs (সর্বনিম্ন ৩৫, সর্বোচ্চ ২০০)।
  • edge - EDGE/EGPRS (সর্বনিম্ন ৮০, সর্বোচ্চ ৪০০)।
  • umts - UMTS/3G (মিনিট 35, সর্বোচ্চ 200)।
  • hsdpa - এইচএসডিপিএ (সর্বনিম্ন ০, সর্বোচ্চ ০)।
  • lte - এলটিই (সর্বনিম্ন ০, সর্বোচ্চ ০)।
  • evdo - EVDO (সর্বনিম্ন ০, সর্বোচ্চ ০)।
  • none - কোনো ল্যাটেন্সি নেই, এটিই ডিফল্ট (সর্বনিম্ন ০, সর্বোচ্চ ০)।
  • num - সঠিক লেটেন্সি নির্দিষ্ট করে।
  • min : max - স্বতন্ত্র সর্বনিম্ন এবং সর্বোচ্চ লেটেন্সি নির্দিষ্ট করে।

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

emulator @Pixel8_API_34 -netdelay gsm

এমুলেটরটি নেটওয়ার্ক থ্রটলিং এবং উচ্চতর সংযোগ ল্যাটেন্সি সমর্থন করে। আপনি স্কিন কনফিগারেশনের মাধ্যমে অথবা ‑netspeed এবং -netdelay অপশনগুলো ব্যবহার করে এটি নির্ধারণ করতে পারেন।

দ্রষ্টব্য: এই সেটিংটি ইথারনেট এবং সেলুলার উভয়ের ক্ষেত্রেই প্রযোজ্য।

-netfast নেটওয়ার্ক থ্রটলিং নিষ্ক্রিয় করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -netfast

এই অপশনটি -netspeed full -netdelay none নির্দিষ্ট করার মতোই। এগুলো এই অপশনগুলোর ডিফল্ট মান।

দ্রষ্টব্য: এই সেটিংটি ইথারনেট এবং সেলুলার উভয়ের ক্ষেত্রেই প্রযোজ্য।

-netspeed speed

নেটওয়ার্ক স্পিড এমুলেশন সেট করে। নিম্নলিখিত speed ভ্যালুগুলোর (kbps-এ) যেকোনো একটি ব্যবহার করে সর্বোচ্চ নেটওয়ার্ক আপলোড এবং ডাউনলোড স্পিড নির্দিষ্ট করে:

  • gsm - জিএসএম/সিএসডি (উচ্চতর: ১৪.৪, নিম্নতর: ১৪.৪)।
  • hscsd - HSCSD (উচ্চতর: ১৪.৪, নিম্নতর: ৫৭.৬)।
  • gprs (আপ: ২৮.৮, ডাউন: ৫৭.৬)।
  • edge - EDGE/EGPRS (ঊর্ধ্বগতি: ৪৭৩.৬, নিম্নগতি: ৪৭৩.৬)।
  • umts - UMTS/3G (আপলোড: ৩৮৪.০, ডাউনলোড: ৩৮৪.০)।
  • hsdpa - HSDPA (আপলোড: ৫৭৬০.০, ডাউনলোড: ১৩,৯৮০.০)।
  • lte - LTE (আপলোড: ৫৮,০০০, ডাউনলোড: ১৭৩,০০০)।
  • evdo - EVDO (আপ: ৭৫,০০০, ডাউন: ২৮০,০০০)।
  • full - কোনো সীমা নেই, এটিই ডিফল্ট (উপরে: ০.০, নিচে: ০.০)।
  • num - আপলোড এবং ডাউনলোড উভয় গতি নির্দিষ্ট করে।
  • up : down - প্রতিটি উপরে ও নিচের গতি আলাদাভাবে নির্দিষ্ট করে।

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

emulator @Pixel8_API_34 -netspeed edge

এমুলেটরটি নেটওয়ার্ক থ্রটলিং এবং উচ্চতর সংযোগ ল্যাটেন্সি সমর্থন করে। আপনি স্কিন কনফিগারেশনের মাধ্যমে অথবা ‑netspeed এবং -netdelay অপশনগুলো ব্যবহার করে এটি নির্ধারণ করতে পারেন।

দ্রষ্টব্য: এই সেটিংটি ইথারনেট এবং সেলুলার উভয়ের ক্ষেত্রেই প্রযোজ্য।

-netsim-args arguments নেটওয়ার্ক সিমুলেটরে ( netsim ) অতিরিক্ত আর্গুমেন্ট প্রেরণ করে। arguments হলো ফ্ল্যাগগুলোর একটি তালিকা, যা স্পেস দিয়ে আলাদা করা থাকে।

উদাহরণস্বরূপ, প্যাকেট ক্যাপচার সক্রিয় করতে এবং লগিংকে stderr-এ পুনঃনির্দেশ করতে:

emulator @Pixel8_API_34 -netsim-args="--pcap --logtostderr"

আরও তথ্যের জন্য, উন্নত এমুলেটর নেটওয়ার্কিং বৈশিষ্ট্যসমূহ দেখুন।

-port port কনসোল এবং adb জন্য ব্যবহৃত TCP পোর্ট নম্বর নির্ধারণ করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -port 5556

আপনার মেশিনে চলমান প্রথম ভার্চুয়াল ডিভাইস ইনস্ট্যান্সের জন্য ডিফল্ট মান হলো 5554। একটি ভার্চুয়াল ডিভাইস সাধারণত পাশাপাশি থাকা একজোড়া পোর্ট ব্যবহার করে: একটি কনসোল পোর্ট এবং একটি adb পোর্ট। একটি নির্দিষ্ট মেশিনে চলমান প্রথম ভার্চুয়াল ডিভাইসের কনসোল, কনসোল পোর্ট 5554 এবং adb পোর্ট 5555 ব্যবহার করে। পরবর্তী ইনস্ট্যান্সগুলো দুই করে বাড়তে থাকা পোর্ট নম্বর ব্যবহার করে। উদাহরণস্বরূপ, 5556/5557, 5558/5559, ইত্যাদি। এর পরিসর হলো 5554 থেকে 5682, যা একই সাথে 64টি ভার্চুয়াল ডিভাইস চালানোর সুযোগ দেয়।

পোর্ট অ্যাসাইনমেন্ট প্রায়শই -ports port ,{ port + 1} নির্দিষ্ট করার মতোই হয়। { port + 1} অবশ্যই খালি থাকতে হবে এবং এটি adb জন্য সংরক্ষিত। যদি কনসোল বা adb পোর্টগুলির কোনোটি আগে থেকেই ব্যবহৃত হয়, তাহলে এমুলেটরটি চালু হবে না।

‑port অপশনটি জানায় যে ভার্চুয়াল ডিভাইসটি কোন পোর্ট এবং সিরিয়াল নম্বর ব্যবহার করছে এবং আপনার দেওয়া মানগুলিতে কোনো সমস্যা থাকলে সতর্ক করে। এমুলেটর UI-তে, আপনি উইন্ডোর শিরোনামে কনসোল পোর্ট নম্বরটি দেখতে পারেন এবং Help > About নির্বাচন করে adb পোর্ট নম্বরটি দেখতে পারেন।

মনে রাখবেন যে, যদি port ভ্যালুটি জোড় সংখ্যা না হয়ে 5554 থেকে 5584-এর মধ্যে থাকে, তাহলে ভার্চুয়াল ডিভাইসটি চালু হলেও adb devices কমান্ড ব্যবহার করার সময় তা দেখা যাবে না, যদি adb server এমুলেটরের পরে চালু হয়। এই কারণে, আমরা একটি জোড় কনসোল পোর্ট নম্বর ব্যবহার করার পরামর্শ দিই।

-ports
console-port , adb-port
কনসোল এবং adb জন্য ব্যবহৃত TCP পোর্টগুলো নির্ধারণ করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -ports 5556,5559

বৈধ পোর্ট পরিসীমা হলো ৫৫৫৪ থেকে ৫৬৮২, যা একই সাথে ৬৪টি ভার্চুয়াল ডিভাইস ব্যবহারের সুযোগ দেয়। -ports অপশনটি জানায় যে এমুলেটর ইনস্ট্যান্সটি কোন পোর্ট এবং সিরিয়াল নম্বর ব্যবহার করছে এবং আপনার দেওয়া মানগুলিতে কোনো সমস্যা থাকলে সতর্ক করে।

সম্ভব হলে, আমরা এর পরিবর্তে -port অপশনটি ব্যবহার করার পরামর্শ দিই। যেসব নেটওয়ার্ক কনফিগারেশনের জন্য বিশেষ সেটিংস প্রয়োজন, সেগুলোর জন্য -ports অপশনটি উপলব্ধ।

কনসোল এবং adb পোর্ট সেট করার বিষয়ে আরও তথ্যের জন্য, -port অপশনটি দেখুন।

-tcpdump filepath নেটওয়ার্ক প্যাকেট গ্রহণ করে একটি ফাইলে সংরক্ষণ করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

এমুলেটরের ভার্চুয়াল ইথারনেট ল্যানের মাধ্যমে প্রেরিত সমস্ত নেটওয়ার্ক প্যাকেট ক্যাপচার করা শুরু করতে এই বিকল্পটি ব্যবহার করুন। এরপর, আপনি ওয়্যারশার্কের মতো একটি টুল ব্যবহার করে ট্র্যাফিক বিশ্লেষণ করতে পারেন।

মনে রাখবেন যে এই বিকল্পটি সমস্ত ইথারনেট প্যাকেট গ্রহণ করে এবং এটি শুধু TCP সংযোগের মধ্যে সীমাবদ্ধ নয়।

সিস্টেম
-accel mode এমুলেটর ভিএম অ্যাক্সিলারেশন কনফিগার করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -accel auto

অ্যাক্সিলারেটেড এমুলেশন শুধুমাত্র x86 এবং x86_64 সিস্টেম ইমেজের জন্য কাজ করে। লিনাক্সে, এটি KVM-এর উপর নির্ভর করে। উইন্ডোজ এবং ম্যাকে, এটি একটি ইন্টেল সিপিইউ এবং ইন্টেল HAXM ড্রাইভারের উপর নির্ভর করে। আপনি যদি কোনো x86 বা x86_64 ডিভাইস এমুলেট না করেন, তাহলে এই অপশনটি উপেক্ষা করা হয়।

mode জন্য বৈধ মানগুলি হলো:

  • auto - ত্বরণ সমর্থিত কিনা তা স্বয়ংক্রিয়ভাবে নির্ধারণ করে এবং সম্ভব হলে তা ব্যবহার করে (ডিফল্ট)।
  • off - অ্যাক্সিলারেশন সম্পূর্ণরূপে নিষ্ক্রিয় করে, যা মূলত ডিবাগিংয়ের জন্য উপযোগী।
  • on - এটি জোরপূর্বক অ্যাক্সিলারেশন চালু করে। যদি KVM বা HAXM ইনস্টল করা না থাকে বা ব্যবহারযোগ্য না হয়, তাহলে এমুলেটরটি চালু হবে না এবং একটি ত্রুটির বার্তা প্রদর্শন করবে।

আরও তথ্যের জন্য, অ্যান্ড্রয়েড এমুলেটরের জন্য হার্ডওয়্যার অ্যাক্সিলারেশন কনফিগার করুন দেখুন।

-accel-check এমুলেটর ভিএম অ্যাক্সিলারেশনের জন্য প্রয়োজনীয় হাইপারভাইজর (HAXM বা KVM) ইনস্টল করা আছে কিনা তা যাচাই করে। উদাহরণস্বরূপ:

emulator -accel-check

আরও তথ্যের জন্য, হাইপারভাইজর ইনস্টল করা আছে কিনা তা পরীক্ষা করুন দেখুন।

-engine engine

এমুলেটর ইঞ্জিন নির্দিষ্ট করে:

  • auto - স্বয়ংক্রিয়ভাবে একটি ইঞ্জিন নির্বাচন করে (ডিফল্ট)।
  • classic - পুরোনো QEMU 1 ইঞ্জিন ব্যবহার করে (যা এখন অপ্রচলিত)।
  • qemu2 - নতুন QEMU 2 ইঞ্জিন ব্যবহার করে।

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

emulator @Pixel8_API_34 -engine auto

কোনো নির্দিষ্ট AVD অনুকরণ করার সময়, স্বয়ংক্রিয় সনাক্তকরণ এমন মান বেছে নেবে যা সর্বোত্তম পারফরম্যান্স প্রদান করে। -engine বিকল্পটি শুধুমাত্র ডিবাগিং এবং তুলনার উদ্দেশ্যে ব্যবহার করুন।

-gpu mode জিপিইউ এমুলেশন মোড নির্বাচন করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

আরও তথ্যের জন্য, গ্রাফিক্স অ্যাক্সিলারেশন কনফিগার করুন দেখুন।

-no-accel x86 বা x86_64 সিস্টেম ইমেজ ব্যবহার করার সময় এমুলেটর ভিএম অ্যাক্সিলারেশন নিষ্ক্রিয় করে। এটি শুধুমাত্র ডিবাগিংয়ের জন্য উপযোগী এবং -accel off উল্লেখ করার মতোই। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -no-accel

আরও তথ্যের জন্য, অ্যান্ড্রয়েড এমুলেটরের জন্য হার্ডওয়্যার অ্যাক্সিলারেশন কনফিগার করুন দেখুন।

-nojni
-no-jni
অ্যান্ড্রয়েড ডালভিক বা এআরটি রানটাইমে এক্সটেন্ডেড জাভা নেটিভ ইন্টারফেস (জেএনআই) চেক নিষ্ক্রিয় করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -nojni

যখন আপনি একটি ভার্চুয়াল ডিভাইস চালু করেন, তখন বর্ধিত JNI চেকগুলি ডিফল্টরূপে সক্রিয় থাকে। আরও তথ্যের জন্য, JNI টিপস দেখুন।

-selinux {disabled|permissive} একটি লিনাক্স অপারেটিং সিস্টেমে সিকিউরিটি-এনহ্যান্সড লিনাক্স ( SELinux ) নিরাপত্তা মডিউলকে disabled অথবা permissive মোডে সেট করে। উদাহরণস্বরূপ:

me-linux$ emulator @Pixel8_API_34 -selinux permissive

ডিফল্টরূপে, SELinux enforcing মোডে থাকে, যার অর্থ নিরাপত্তা নীতি প্রয়োগ করা হয়। permissive মোড SELinux নীতি লোড করে কিন্তু তা প্রয়োগ করে না। এই বিকল্পটি শুধুমাত্র নীতি লঙ্ঘনের লগ রাখে। disabled মোড SELinux-এর জন্য কার্নেল সমর্থন নিষ্ক্রিয় করে।

-timezone timezone

ভার্চুয়াল ডিভাইসের টাইম জোন হোস্ট টাইম জোনের পরিবর্তে timezone এ সেট করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -timezone Europe/Paris

ডিফল্টরূপে, এমুলেটরটি আপনার ডেভেলপমেন্ট কম্পিউটারের টাইম জোন ব্যবহার করে। একটি ভিন্ন টাইম জোন নির্দিষ্ট করতে অথবা স্বয়ংক্রিয় শনাক্তকরণ সঠিকভাবে কাজ না করলে এই অপশনটি ব্যবহার করুন। timezone ভ্যালুটি অবশ্যই জোনইনফো ফরম্যাটে হতে হবে, যা হলো area / location অথবা area / subarea / location । উদাহরণস্বরূপ:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

নির্দিষ্ট টাইম জোনটি অবশ্যই জোনইনফো ডেটাবেসে থাকতে হবে।

-version এমুলেটরের সংস্করণ নম্বর প্রদর্শন করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -version

অথবা

emulator -version
UI
-no-boot-anim দ্রুত বুট করার জন্য এমুলেটর চালু হওয়ার সময় বুট অ্যানিমেশন নিষ্ক্রিয় করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -no-boot-anim

ধীরগতির কম্পিউটারে এই অপশনটি বুট প্রক্রিয়াকে উল্লেখযোগ্যভাবে দ্রুততর করতে পারে।

-screen mode অনুকৃত টাচ স্ক্রিন মোড সেট করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -screen no-touch

mode নিম্নলিখিত মানগুলির যেকোনো একটি হতে পারে:

  • touch - টাচ স্ক্রিনের অনুকরণ করে (ডিফল্ট)।
  • multi-touch - মাল্টি-টাচ স্ক্রিনের অনুকরণ করে।
  • no-touch - টাচ এবং মাল্টি-টাচ স্ক্রিন এমুলেশন নিষ্ক্রিয় করে।

উন্নত বিকল্পগুলি

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

বর্ণনাগুলিতে, ওয়ার্কিং ডিরেক্টরি হলো টার্মিনালের বর্তমান ডিরেক্টরি, যেখানে আপনি কমান্ডগুলি প্রবেশ করাচ্ছেন। AVD সিস্টেম ডিরেক্টরি ও ডেটা ডিরেক্টরি এবং সেগুলির মধ্যে সংরক্ষিত ফাইলগুলি সম্পর্কে তথ্যের জন্য, ডিফল্ট ডিরেক্টরি ও ফাইল সম্পর্কিত বিভাগটি দেখুন।

এই বিকল্পগুলির মধ্যে কয়েকটি বহিরাগত অ্যাপ ডেভেলপারদের জন্য উপযুক্ত, এবং কয়েকটি প্রধানত প্ল্যাটফর্ম ডেভেলপাররা ব্যবহার করেন। অ্যাপ ডেভেলপাররা অ্যান্ড্রয়েড অ্যাপ তৈরি করেন এবং নির্দিষ্ট AVD-তে সেগুলো চালান। প্ল্যাটফর্ম ডেভেলপাররা অ্যান্ড্রয়েড সিস্টেমে কাজ করেন এবং কোনো পূর্ব-নির্মিত AVD ছাড়াই এমুলেটরের ভেতরে তা চালান।

সারণি ৪. উন্নত কমান্ড-লাইন বিকল্পসমূহ

উন্নত বিকল্প সংক্ষিপ্ত বিবরণ
-bootchart timeout

সেকেন্ডে একটি টাইমআউট সহ বুটচার্টিং সক্ষম করে। কিছু অ্যান্ড্রয়েড সিস্টেম ইমেজে একটি পরিবর্তিত ইনিট সিস্টেম থাকে যা একটি বুটচার্টিং সুবিধা সংহত করে। আপনি এই বিকল্পটির মাধ্যমে সিস্টেমে একটি বুটচার্টিং টাইমআউট সময়কাল নির্ধারণ করতে পারেন। যদি আপনার ইনিট সিস্টেমে বুটচার্টিং সক্রিয় না থাকে, তবে এই বিকল্পটি কোনো কাজ করে না। এই বিকল্পটি মূলত প্ল্যাটফর্ম ডেভেলপারদের জন্য উপযোগী, বহিরাগত অ্যাপ ডেভেলপারদের জন্য নয়।

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

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

একটি ক্যাশ পার্টিশন ইমেজ ফাইল নির্দিষ্ট করে। একটি স্থায়ী ক্যাশ ফাইল সেট আপ করার জন্য একটি ফাইলের নাম এবং একটি অ্যাবসোলিউট পাথ অথবা ডেটা ডিরেক্টরির সাপেক্ষে একটি পাথ প্রদান করতে হয়। ফাইলটি বিদ্যমান না থাকলে, এমুলেটর এটিকে একটি খালি ফাইল হিসেবে তৈরি করে।

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

emulator @Pixel8_API_34 -cache
   ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img

আপনি যদি এই বিকল্পটি ব্যবহার না করেন, তাহলে ডিফল্ট হিসেবে cache.img নামের একটি অস্থায়ী ফাইল তৈরি হয়। আরও তথ্যের জন্য, AVD ডেটা ডিরেক্টরি দেখুন।

-cache-size size

ক্যাশ পার্টিশনের আকার মেগাবাইটে (MB) নির্ধারণ করে।

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

emulator @Pixel8_API_34 -cache-size 1000

আপনি যদি এই অপশনটি নির্দিষ্ট না করেন, তাহলে ডিফল্ট মান হলো ৬৬ এমবি। সাধারণত, বেশিরভাগ অ্যাপ ডেভেলপারের এই অপশনটির প্রয়োজন হয় না, যদি না তাদের ডিফল্ট ক্যাশের চেয়ে বড় কোনো ফাইল ডাউনলোড করার প্রয়োজন হয়। ক্যাশ ফাইল সম্পর্কে আরও তথ্যের জন্য, AVD ডেটা ডিরেক্টরি দেখুন।

-data filepath

ব্যবহারকারীর ডেটা পার্টিশন ইমেজ ফাইল সেট করে। একটি স্থায়ী ব্যবহারকারীর ডেটা ফাইল সেট আপ করার জন্য একটি ফাইলের নাম এবং একটি অ্যাবসোলিউট পাথ অথবা ওয়ার্কিং ডিরেক্টরির সাপেক্ষে একটি পাথ প্রদান করতে হয়। যদি ফাইলটি বিদ্যমান না থাকে, তাহলে এমুলেটর ডিফল্ট userdata.img ফাইল থেকে একটি ইমেজ তৈরি করে, সেটিকে আপনার নির্দিষ্ট করা ফাইলের নামে সংরক্ষণ করে এবং শাটডাউনের সময় ব্যবহারকারীর ডেটা সেখানে স্থায়ী করে।

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

emulator @Pixel8_API_34 -data
   ~/.android/avd/Pixel8_API_34.avd/userdata-test.img

আপনি যদি এই বিকল্পটি ব্যবহার না করেন, তাহলে ডিফল্ট হিসেবে userdata-qemu.img নামের একটি ফাইল থাকে। ইউজার ডেটা ফাইল সম্পর্কে আরও তথ্যের জন্য, AVD ডেটা ডিরেক্টরি দেখুন।

-datadir dir

একটি অ্যাবসোলিউট পাথ ব্যবহার করে ডেটা ডিরেক্টরি নির্দিষ্ট করে। আরও তথ্যের জন্য, AVD ডেটা ডিরেক্টরি দেখুন।

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

emulator @Pixel8_API_34 -datadir
   ~/.android/avd/Pixel8_API_34.avd/mytest
-force-32bit

৬৪-বিট প্ল্যাটফর্মে ৩২-বিট এমুলেটর ব্যবহার করে। মাঝে মাঝে, এই অপশনটি টেস্টিং বা ডিবাগিংয়ের জন্য কাজে লাগে। উদাহরণস্বরূপ, এমন একটি সমস্যা ছিল যেখানে এমুলেটরটি কখনও কখনও ৬৪-বিট উইন্ডোজে চলত না, কিন্তু ৩২-বিটে চলত। সমস্যাটি ডিবাগ করার জন্য তুলনা করতে এই অপশনটি সহায়ক ছিল। এখানে একটি উদাহরণ দেওয়া হলো:

emulator @Pixel8_API_34 -force-32bit
-help-disk-images

ডিস্ক ইমেজ সম্পর্কে সাহায্য পাওয়া যায়। এই অপশনটি অ্যাপ এবং প্ল্যাটফর্ম ডেভেলপার উভয়ের জন্যই প্রাসঙ্গিক তথ্য প্রদান করে। উদাহরণস্বরূপ:

emulator -help-disk-images
-help-char-devices

ক্যারেক্টার device স্পেসিফিকেশন সম্পর্কে সাহায্য নিন। কিছু এমুলেটর অপশনের জন্য একটি device প্যারামিটার প্রয়োজন হয়। উদাহরণস্বরূপ:

emulator -help-char-devices
-help-sdk-images

অ্যাপ ডেভেলপারদের জন্য ডিস্ক ইমেজ সম্পর্কিত সাহায্য পাওয়া যায়। এই অপশনটি SDK টুলস দিয়ে তৈরি করা একটি AVD-এর ইমেজ ফাইলগুলো কোথায় অবস্থিত, সেই তথ্য দেয়। উদাহরণস্বরূপ:

emulator -help-sdk-images
-help-build-images

প্ল্যাটফর্ম ডেভেলপারদের জন্য প্রাসঙ্গিক ডিস্ক ইমেজ সম্পর্কে সাহায্য পাওয়া যায়। উদাহরণস্বরূপ:

emulator -help-build-images
-initdata filepath
-init-data filepath

ডেটা পার্টিশনের প্রাথমিক সংস্করণ নির্দিষ্ট করে। ইউজার ডেটা মুছে ফেলার পর, এমুলেটর ডিফল্ট userdata.img ফাইলটিকে প্রাথমিক সংস্করণ হিসেবে ব্যবহার না করে, নির্দিষ্ট ফাইলের বিষয়বস্তু ইউজার ডেটাতে (ডিফল্টরূপে, userdata-qemu.img ফাইল) কপি করে। ফাইলের নাম এবং একটি অ্যাবসোলিউট পাথ অথবা ওয়ার্কিং ডিরেক্টরির সাপেক্ষে একটি পাথ নির্দিষ্ট করে।

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

emulator @Pixel8_API_34 -initdata
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/userdata-test.img

আপনি যদি কোনো পাথ নির্দিষ্ট না করেন, তাহলে ফাইলটি সিস্টেম ডিরেক্টরিতে রাখা হয়। আরও তথ্যের জন্য, AVD সিস্টেম ডিরেক্টরি দেখুন।

-kernel filepath

একটি নির্দিষ্ট এমুলেটেড কার্নেল ব্যবহার করে। আপনি যদি কোনো পাথ নির্দিষ্ট না করেন, তাহলে এমুলেটরটি সিস্টেম ডিরেক্টরিতে খোঁজে।

কার্নেল ডিবাগ বার্তাগুলো দেখতে ‑show‑kernel অপশনটি ব্যবহার করুন।

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

emulator @Pixel8_API_34 -kernel
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/kernel-test.img -show-kernel

আপনি যদি এই বিকল্পটি নির্দিষ্ট না করেন, তাহলে ডিফল্ট হলো kernel-ranchu । আরও তথ্যের জন্য, AVD সিস্টেম ডিরেক্টরি দেখুন।

-noaudio
-no-audio

এই ভার্চুয়াল ডিভাইসের জন্য অডিও সাপোর্ট নিষ্ক্রিয় করে। কিছু লিনাক্স এবং উইন্ডোজ কম্পিউটারে ত্রুটিপূর্ণ অডিও ড্রাইভার থাকে যা বিভিন্ন সমস্যার সৃষ্টি করে, যেমন এমুলেটর চালু হতে বাধা দেওয়া। এক্ষেত্রে, সমস্যাটি সমাধান করতে এই অপশনটি ব্যবহার করুন। বিকল্পভাবে, আপনি অডিও ব্যাকএন্ড পরিবর্তন করার জন্য QEMU_AUDIO_DRV এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহার করতে পারেন।

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

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

ক্যাশ পার্টিশন ছাড়া এমুলেটর চালু করে। আপনি যদি এই অপশনটি ব্যবহার না করেন, তাহলে ডিফল্ট হিসেবে cache.img নামের একটি অস্থায়ী ফাইল তৈরি হয়। এই অপশনটি শুধুমাত্র প্ল্যাটফর্ম ডেভেলপারদের জন্য। আরও তথ্যের জন্য, AVD ডেটা ডিরেক্টরি দেখুন।

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

emulator @Pixel8_API_34 -nocache
-no-snapshot

এটি স্বয়ংক্রিয় লোড এবং সেভ উভয় প্রক্রিয়াকেই বাধা দেয়, যার ফলে এমুলেটরটি একটি সম্পূর্ণ বুট সিকোয়েন্স সম্পাদন করে এবং বন্ধ করার সময় এর অবস্থা হারিয়ে ফেলে। এটি -snapshot অপশনটিকে ওভাররাইড করে।

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

emulator @Pixel8_API_34 -no-snapshot
-no-snapshot-load

এমুলেটরকে স্ন্যাপশট স্টোরেজ থেকে AVD স্টেট লোড করা থেকে বিরত রাখে। একটি সম্পূর্ণ বুট সম্পন্ন করে।

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

emulator @Pixel8_API_34 -no-snapshot-load
-no-snapshot-save

এটি এমুলেটরকে বন্ধ করার সময় AVD স্টেট স্ন্যাপশট স্টোরেজে সংরক্ষণ করতে বাধা দেয়, যার ফলে সমস্ত পরিবর্তন হারিয়ে যাবে।

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

emulator @Pixel8_API_34 -no-snapshot-save
-no-snapshot-update-time

স্ন্যাপশট রিস্টোর করার সময় এটি তাৎক্ষণিকভাবে AVD-র ঘড়ির সময় ঠিক করার চেষ্টা করে না। এই অপশনটি টেস্টিংয়ের সময় কাজে আসতে পারে, কারণ এটি সময়ের আকস্মিক পরিবর্তন এড়াতে সাহায্য করে। এরপরও প্রায় প্রতি ১৫ সেকেন্ড পর পর AVD-তে সময়ের আপডেট পাঠানো হয়।

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

emulator @Pixel8_API_34 -no-snapshot-update-time
-no-snapstorage

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

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

emulator @Pixel8_API_34 -no-snapstorage
-no-window

এমুলেটরে গ্রাফিক্যাল উইন্ডো প্রদর্শন নিষ্ক্রিয় করে। যেসব সার্ভারে কোনো ডিসপ্লে নেই, সেখানে এমুলেটর চালানোর জন্য এই অপশনটি উপযোগী। আপনি adb অথবা কনসোলের মাধ্যমে এমুলেটরটি অ্যাক্সেস করতে পারেন। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -no-window
-partition-size size

সিস্টেম ডেটা পার্টিশনের আকার মেগাবাইটে (MB) নির্দিষ্ট করে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -partition-size 1024
-prop name = value

এমুলেটর বুট করার সময় একটি অ্যান্ড্রয়েড সিস্টেম প্রপার্টি সেট করে। name অবশ্যই qemu_prop লেবেলযুক্ত একটি প্রপার্টি নাম হতে হবে, যা কোনো স্পেস ছাড়া সর্বাধিক ৩২ অক্ষরের হবে, এবং value অবশ্যই সর্বাধিক ৯২ অক্ষরের একটি স্ট্রিং হতে হবে। একটি উদাহরণের জন্য, property_contexts ফাইলটি দেখুন। আপনি একটি কমান্ড লাইনে একাধিক ‑prop অপশন নির্দিষ্ট করতে পারেন। এই অপশনটি ডিবাগিংয়ের জন্য উপযোগী হতে পারে। উদাহরণস্বরূপ:

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args QEMU এমুলেটর সফটওয়্যারে আর্গুমেন্ট প্রেরণ করে। এই অপশনটি ব্যবহার করার সময়, নিশ্চিত করুন যে এটিই নির্দিষ্ট করা সর্বশেষ অপশন, কারণ এর পরের সমস্ত অপশন QEMU-এর নিজস্ব অপশন হিসেবে গণ্য হবে। এই অপশনটি বেশ উন্নতমানের এবং শুধুমাত্র সেইসব ডেভেলপারদেরই ব্যবহার করা উচিত যারা QEMU এবং অ্যান্ড্রয়েড এমুলেশন সম্পর্কে খুব ভালোভাবে জানেন।
-qemu -h

-qemu হেল্প প্রদর্শন করে। উদাহরণস্বরূপ:

emulator -qemu -h
-ramdisk filepath

একটি র‍্যামডিস্ক বুট ইমেজ নির্দিষ্ট করে। ফাইলের নাম এবং একটি অ্যাবসোলিউট পাথ অথবা ওয়ার্কিং ডিরেক্টরির সাপেক্ষে একটি পাথ নির্দিষ্ট করতে হয়।

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

emulator @Pixel8_API_34 -ramdisk
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/ramdisk-test.img

আপনি যদি এই অপশনটি ব্যবহার না করেন, তাহলে ডিফল্ট হিসেবে সিস্টেম ডিরেক্টরিতে থাকা ramdisk.img ফাইলটি ব্যবহৃত হয়। আরও তথ্যের জন্য, AVD সিস্টেম ডিরেক্টরি দেখুন।

-report-console socket

এমুলেশন শুরু করার আগে দূরবর্তী কোনো তৃতীয় পক্ষের কাছে কনসোল পোর্টটি রিপোর্ট করে। এটি একটি স্বয়ংক্রিয় টেস্টিং স্ক্রিপ্টের জন্য উপযোগী হতে পারে। socket অবশ্যই নিম্নলিখিত ফর্ম্যাটগুলির মধ্যে একটি ব্যবহার করতে হবে:

  • tcp: port [,server][,max= seconds ][,ipv6]
  • unix: port [,server][,max= seconds ][,ipv6]

আরও তথ্যের জন্য, নির্দিষ্ট অপশনগুলির সাহায্য সম্পর্কিত বিভাগে বর্ণিত -help-report-console অপশনটি ব্যবহার করুন।

-shell

বর্তমান টার্মিনালে একটি রুট শেল কনসোল তৈরি করে। এই অপশনটি adb shell কমান্ড থেকে নিম্নলিখিত উপায়ে ভিন্ন:

  • এটি একটি রুট শেল তৈরি করে, যা আপনাকে সিস্টেমের অনেক অংশ পরিবর্তন করার সুযোগ দেয়।
  • এমুলেটেড সিস্টেমের adb daemon ত্রুটিপূর্ণ থাকলেও এটি কাজ করে।
  • শেলের পরিবর্তে এমুলেটর বন্ধ করতে Control+C (অথবা macOS-এ Command-C) চাপুন।

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

emulator @Pixel8_API_34 -shell
-snapshot name

স্বয়ংক্রিয়ভাবে শুরু এবং সংরক্ষণ কার্যক্রমের জন্য স্ন্যাপশট স্টোরেজ ফাইলের মধ্যে থাকা একটি স্ন্যাপশটের নাম নির্দিষ্ট করে।

সম্পূর্ণ বুট সিকোয়েন্স চালানোর পরিবর্তে, এমুলেটরটি পূর্ববর্তী কোনো স্টেট স্ন্যাপশট থেকে পুনরায় কার্যক্রম শুরু করতে পারে, যা সাধারণত উল্লেখযোগ্যভাবে দ্রুততর। আপনি যখন এই অপশনটি প্রদান করেন, তখন এমুলেটরটি স্ন্যাপশট ইমেজ থেকে সেই নামের স্ন্যাপশটটি লোড করে এবং বন্ধ হওয়ার সময় সেটিকে আবার একই নামে সংরক্ষণ করে।

আপনি এই অপশনটি ব্যবহার না করলে, ডিফল্ট হিসেবে একটি সম্পূর্ণ বুট সিকোয়েন্স সম্পন্ন হয়। যদি নির্দিষ্ট স্ন্যাপশটটি বিদ্যমান না থাকে, তবে এমুলেটরটি তার পরিবর্তে একটি সম্পূর্ণ বুট সিকোয়েন্স সম্পাদন করে এবং একটি সেভ অপারেশন সম্পন্ন করে।

স্ন্যাপশট স্টোরেজ ফাইল এবং ডিফল্ট ফাইল নির্দিষ্ট করার তথ্যের জন্য -snapstorage অপশনটি দেখুন।

emulator @Pixel8_API_34 -snapshot snapshot2

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

আপনি এমুলেটর কনসোল থেকে avd snapshot save name কমান্ডটি ব্যবহার করেও একটি স্ন্যাপশট তৈরি করতে পারেন। আরও তথ্যের জন্য, `Send Emulator console commands` দেখুন।

-snapshot-list

উপলব্ধ স্ন্যাপশটগুলির একটি তালিকা প্রদর্শন করে। এই কমান্ডটি সেই স্ন্যাপশট স্টোরেজ ফাইলে সংরক্ষিত স্ন্যাপশটগুলির একটি সারণী প্রিন্ট করে, যা দিয়ে এমুলেটরটি চালু করা হয়েছিল, এবং তারপর প্রস্থান করে। যদি আপনি এর সাথে -snapstorage file ও উল্লেখ করেন, তাহলে এই কমান্ডটি ফাইলে সংরক্ষিত স্ন্যাপশটগুলির একটি সারণী প্রিন্ট করে।

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

emulator @Pixel8_API_34 -snapshot-list -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

You can use the ID and TAG column values in the output as arguments for the -snapshot option.

-snapstorage filepath

Specifies a repository file that contains all state snapshots. All snapshots made during execution are saved in this file. Only snapshots in this file can be restored during the emulator run.

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

emulator @Pixel8_API_34 -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

If you don't specify this option, the default is snapshots.img in the data directory. If the specified file doesn't exist, the emulator will start, but without support for saving or loading state snapshots.

-sysdir dir

Specifies a system directory using an absolute path. For more information, see AVD system directory . For example:

emulator @Pixel8_API_34 -sysdir
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/test
-system filepath

Specifies an initial system file. Provides the filename and an absolute path or a path relative to the working directory.

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

emulator @Pixel8_API_34 -system
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/system-test.img

If you don't use this option, the default is the system.img file in the system directory. For more information, see AVD system directory .

-writable-system

Use this option to have a writable system image during your emulation session. To do so:

  1. Start a virtual device with the -writable-system option.
  2. Enter the adb remount command from a command terminal to tell the emulator to remount system/ as read/write. By default, it's mounted as read-only.

Using this flag creates a temporary copy of the system image that can be very large, up to several hundred MBs, but will be destroyed when the emulator exits.

Deprecated options

The following command-line options are deprecated:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

Get help about command-line options

This section describes how to get help about the command-line options. It provides more in-depth information about the commonly used emulator command-line options that are available when you start the emulator.

List all emulator options

To print a list of all emulator options, including a short description, enter the following command:

emulator -help

Get detailed help for a specific option

To print help for a specific startup option, enter the following command:

emulator -help-option

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

emulator -help-netspeed

This help is more detailed than the description provided by the -help option.

Get detailed help for all options

To get detailed help for all emulator options, enter the following command:

emulator -help-all

List emulator environment variables

To get a list of emulator environment variables, enter the following command:

emulator -help-environment

You can set environment variables in the terminal window before launching a virtual device, or you can set it through your user settings in the operating system. For example, set it in your .bashrc file on Linux.

List debug tags

To print a list of tags for the -debug options, enter the following command:

emulator -help-debug-tags

The -debug options let you enable or disable debug messages from specific emulator components, as specified by the tags.