Android Emulator Android Studio का एक घटक है जो डेवलपर के कंप्यूटर पर Android डिवाइस की पूर्ण वर्चुअल प्रतिलिपि चलाता है। एमुलेटर ARM निर्देशों को होस्ट की x86_64 आर्किटेक्चर में अनुवाद करने के लिए QEMU का उपयोग करता है। Google दस्तावेज़ीकरण AVD वर्चुअल डिवाइस और हार्डवेयर त्वरण के सेटअप के पूर्ण चक्र का वर्णन करता है।
मुख्य बिंदु
Android Emulator एक वर्चुअल Android डिवाइस है जो QEMU (Quick EMUlator) पर चलता है और Android हार्डवेयर प्लेटफ़ॉर्म का एमुलेशन करता है। iOS Simulator के विपरीत, Android Emulator ARM निर्देशों का पूरी तरह से अनुवाद करता है, जिससे मोबाइल आर्किटेक्चर के लिए संकलित कोड x86_64 होस्ट पर चलाया जा सकता है।
Google ने 2007 में Android SDK के पहले संस्करण के साथ Android Emulator जारी किया। तब से, एमुलेटर धीमे ARM-only समाधान से GPU समर्थन, हार्डवेयर त्वरण और सेंसर एमुलेशन वाले उच्च-प्रदर्शन सिस्टम में विकसित हुआ है। Google (Android Developer Blog, 2025) के अनुसार, HAxM वाला आधुनिक एमुलेटर पहली पीढ़ी की तुलना में 4-5 गुना तेज़ चलता है।
एमुलेटर Android डिवाइस के सभी घटकों का समर्थन करता है: CPU, GPU, RAM, स्टोरेज, टच स्क्रीन, एक्सेलेरोमीटर, जाइरोस्कोप, GPS, कैमरा, बैटरी, NFC, ब्लूटूथ और Wi-Fi। डेवलपर Extended Controls के माध्यम से आने वाली कॉल, SMS, विभिन्न नेटवर्क सिग्नल स्तर और जियोलोकेशन का अनुकरण कर सकता है।
Android Emulator SDK Manager के माध्यम से डाउनलोड की जाने वाली सिस्टम इमेज (System Images) का उपयोग करता है। प्रत्येक सिस्टम इमेज में चयनित API स्तर और लक्षित प्रोसेसर आर्किटेक्चर के लिए Android फ़र्मवेयर की पूर्ण प्रतिलिपि होती है। विभिन्न आर्किटेक्चर वाली इमेज उपलब्ध हैं: x86_64 (HAxM के साथ अनुशंसित), ARM64 (ARM संगतता परीक्षण के लिए) और Google APIs (पूर्व-स्थापित Google Play Services के साथ)। Wear OS, Android TV और Automotive के लिए भी अलग इमेज उपलब्ध हैं।
// कोड में एमुलेटर प्रकार की जाँच
val isEmulator = Build.FINGERPRINT
.contains("generic") ||
Build.PRODUCT.contains("sdk")
if (isEmulator) {
Timber.d("ऐप एमुलेटर में चल रहा है")
}AVD (Android Virtual Device) एमुलेटर के लिए वर्चुअल डिवाइस कॉन्फ़िगरेशन है। Android Studio में AVD Manager किसी भी विशेषताओं के संयोजन वाले डिवाइस बनाने की अनुमति देता है: मॉडल, स्क्रीन आकार, पिक्सेल घनत्व, RAM आकार, स्टोरेज आकार और Android संस्करण।
| AVD पैरामीटर | डेवलपमेंट के लिए अनुशंसा | परीक्षण के लिए अनुशंसा |
|---|---|---|
| आर्किटेक्चर | x86_64 (HAxM के साथ) | ARM64 (शुद्ध एमुलेशन) |
| RAM | 2048-4096 MB | 1536-2048 MB |
| आंतरिक स्टोरेज | 8-16 GB | 4-8 GB |
| API स्तर | नवीनतम स्थिर | न्यूनतम समर्थित |
| Google Play Services | सक्षम करें | आवश्यकतानुसार |
AVD बनाना Android Studio में Device Manager के माध्यम से किया जाता है: एक हार्डवेयर प्रोफ़ाइल (Pixel, Nexus, Galaxy और अन्य), सिस्टम इमेज चुनें और पैरामीटर कॉन्फ़िगर करें। निर्माण के बाद, डिवाइस तत्काल ऐप लॉन्च के लिए Run Configurations सूची में दिखाई देता है।
एमुलेटर Quick Boot का समर्थन करता है — यह AVD स्थिति को snapshot के रूप में सहेजता है और अगले लॉन्च पर पुनर्स्थापित करता है। बूट समय 30-60 सेकंड से घटकर 2-5 सेकंड हो जाता है। साफ स्थिति में रीसेट करने के लिए AVD Manager में Cold Boot Now का उपयोग करें।
ARM अनुवाद Android Emulator की एक प्रमुख तकनीक है जो ARM निर्देशों को तुरंत x86_64 में परिवर्तित करती है। अनुवाद के बिना, एमुलेटर केवल x86_64 इमेज चला सकता है, जो परीक्षण क्षमताओं को सीमित करता है। Google ARM→x86 अनुवाद के लिए libhoudini और HAXM त्वरण के लिए Intel लाइब्रेरी का उपयोग करता है।
# Windows पर HAxM स्थिति की जाँच
sc query "IntelHaxm"
# SDK Manager के माध्यम से HAxM स्थापित करना
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"
# हार्डवेयर त्वरण के साथ एमुलेटर शुरू करना
emulator -avd Pixel_9_API_35 -accel on -gpu autoIntel HAxM (Hardware Accelerated Execution Manager) Intel VT-x प्रोसेसर के लिए एक वर्चुअलाइज़ेशन ड्राइवर है जो एमुलेटर को 3-5 गुना तेज़ करता है। AMD प्रोसेसर वाले Windows पर, Windows Hyper-V Platform और WHPX का उपयोग करें। हार्डवेयर त्वरण के बिना, एमुलेटर धीमा चलता है, जिसमें 1-2 सेकंड तक की एनिमेशन देरी होती है।
Apple Silicon (M-सीरीज़) वाले macOS पर, हार्डवेयर त्वरण Hypervisor.framework के माध्यम से मूल रूप से काम करता है। Google (Android Emulator Release Notes 2025) के अनुसार, M2 Max पर एमुलेटर बुनियादी संचालन में वास्तविक डिवाइस के 95% प्रदर्शन तक पहुँचता है।
एमुलेटर और वास्तविक डिवाइस के बीच चुनाव डेवलपमेंट चरण पर निर्भर करता है। एमुलेटर पर डेवलप और डीबग करना सुविधाजनक है: तेज़ स्टार्टअप, तत्काल डिप्लॉय, सेंसर अनुकरण के लिए Extended Controls। वास्तविक डिवाइस पर — अंतिम प्रदर्शन, बैटरी और हार्डवेयर परीक्षण।
| परिदृश्य | एमुलेटर | वास्तविक डिवाइस |
|---|---|---|
| UI डेवलपमेंट | हाँ (तेज़) | नहीं (धीमा डिप्लॉय) |
| प्रदर्शन परीक्षण | नहीं (बढ़े हुए मीट्रिक) | हाँ (वास्तविक माप) |
| सेंसर एमुलेशन (GPS, NFC) | हाँ (Extended Controls) | सीमित |
| ऊर्जा खपत | समर्थित नहीं | हाँ (Battery Historian) |
| नेटवर्क परीक्षण (2G/3G/4G/5G) | हाँ (गति अनुकरण) | हाँ (SIM कार्ड के साथ) |
| CI/CD ऑटोमेशन | हाँ (कोई भौतिक डिवाइस नहीं) | कठिन (डिवाइस फार्म) |
हार्डवेयर त्वरण वाले एमुलेटर का प्रदर्शन अक्सर वास्तविक बजट डिवाइस से अधिक होता है। इसलिए, लक्ष्य प्रदर्शन स्तर वाले वास्तविक डिवाइस पर अंतिम परीक्षण करें।
Kotlin में रनटाइम वातावरण का पता लगाना गलत कोड को अक्षम करने या डीबग जानकारी जोड़ने के लिए उपयोगी है। Android इस उद्देश्य के लिए Build.FINGERPRINT, Build.PRODUCT और Build.HARDWARE प्रदान करता है।
object EmulatorDetector {
val isEmulator: Boolean
get() = Build.FINGERPRINT.startsWith("generic")
|| Build.FINGERPRINT.contains("emulator")
|| Build.HARDWARE == "ranchu"
|| Build.HARDWARE == "goldfish"
fun logEnvironment() {
if (isEmulator) {
Log.d("EmulatorDetector", "वातावरण: एमुलेटर")
}
}
}एमुलेटर डिटेक्टर का उपयोग डीबगिंग के दौरान मदद करता है: एमुलेटर पर आप विस्तृत लॉग सक्षम कर सकते हैं, एनिमेशन अक्षम कर सकते हैं या वास्तविक API कॉल को मॉक से बदल सकते हैं। जब तक ऐप के व्यावसायिक तर्क के लिए आवश्यक न हो, प्रोडक्शन बिल्ड में जाँच से बचें।
Android Emulator CI सर्वर पर स्वचालित परीक्षण के लिए उपयोग किया जाता है। परीक्षण चलाने के लिए, AVD बनाना, एमुलेटर शुरू करना और सिस्टम के पूरी तरह लोड होने तक प्रतीक्षा करना आवश्यक है। Gradle Managed Devices इस प्रक्रिया को सरल बनाते हैं: AVD कॉन्फ़िगरेशन build.gradle.kts में वर्णित है।
// build.gradle.kts — Gradle Managed Devices
android {
testOptions {
managedDevices {
devices {
register<ManagedVirtualDevice>("pixel9Api35") {
device = "Pixel 9"
apiLevel = 35
systemImageSource = "google"
}
}
}
}
}एमुलेटर को मैन्युअल रूप से शुरू करने के लिए कमांड लाइन का उपयोग करें: emulator -avd Pixel_9_API_35 -no-window -no-audio -gpu swiftshader_indirect। -no-window फ़्लैग सर्वर वातावरण के लिए ग्राफ़िकल इंटरफ़ेस को अक्षम करता है, और -gpu swiftshader_indirect होस्ट GPU के बिना सॉफ़्टवेयर रेंडरिंग प्रदान करता है।
Android Emulator में Extended Controls नेटवर्क स्थितियों के अनुकरण के लिए शक्तिशाली उपकरण प्रदान करता है: विलंबता, बैंडविड्थ और नेटवर्क प्रकार (GPRS, EDGE, 3G, 4G, 5G)। यह खराब कवरेज वाले क्षेत्र में भौतिक रूप से यात्रा किए बिना धीमे कनेक्शन पर ऐप व्यवहार का परीक्षण करने की अनुमति देता है।
सेंसर अनुकरण में वर्चुअल 3D डिवाइस मॉडल के माध्यम से एक्सेलेरोमीटर, जाइरोस्कोप और मैग्नेटोमीटर शामिल हैं। GPS के लिए, आप मार्गों वाली GPX फ़ाइलें लोड कर सकते हैं — एमुलेटर निर्देशांक के साथ गति का अनुकरण करता है, जो नेविगेशन ऐप्स के परीक्षण के लिए महत्वपूर्ण है। कैमरा होस्ट वेबकैम या इमेज लोडिंग के माध्यम से एमुलेट किया जाता है।
Android Emulator में मल्टी-डिस्प्ले टैबलेट और फोल्डेबल डिवाइस के लिए कई स्क्रीन का समर्थन करता है। Extended Controls एमुलेटर को पुनरारंभ किए बिना ओरिएंटेशन, स्क्रीन आकार और पिक्सेल घनत्व (DPI) बदलने की अनुमति देता है। फोल्डेबल डिवाइस के परीक्षण के लिए, मुड़ी और खुली स्थिति के बीच स्विच करने वाले Foldable मोड उपलब्ध हैं।
एमुलेटर न केवल स्मार्टफ़ोन बल्कि Wear OS और Android TV का भी समर्थन करता है। Wear OS के लिए, गोल और आयताकार AVD कॉन्फ़िगरेशन, बेज़ेल रोटेशन अनुकरण और स्वाइप जेस्चर के साथ-साथ फ़ोन एमुलेटर के साथ इंटरैक्शन परीक्षण उपलब्ध हैं। Android TV के लिए D-pad नेविगेशन वाले इंटरफ़ेस का उपयोग किया जाता है। दोनों प्लेटफ़ॉर्म हार्डवेयर त्वरण और Google Play Services के साथ परीक्षण का समर्थन करते हैं, जो स्मार्टवॉच और टीवी ऐप डेवलपमेंट चक्र के लिए महत्वपूर्ण है।
अक्सर पूछे जाने वाले प्रश्न
Android Emulator निर्देश अनुवाद के साथ QEMU के माध्यम से पूर्ण ARM एमुलेशन का उपयोग करता है, जबकि iOS Simulator होस्ट आर्किटेक्चर के लिए कोड संकलित करता है। Android Emulator GPU, कैमरा, सेंसर, ब्लूटूथ, NFC का समर्थन करता है — iOS Simulator इनमें से अधिकांश सुविधाओं का समर्थन नहीं करता है।
Kotlin में, "generic" या "emulator" के लिए Build.FINGERPRINT, और "ranchu" या "goldfish" के लिए Build.HARDWARE जाँचें। अतिरिक्त मार्कर के रूप में Build.PRODUCT का उपयोग करें — एमुलेटर के लिए इसमें "sdk_google" या "google_sdk" होता है।
AMD प्रोसेसर के लिए Intel HAxM (Intel VT-x) या Windows Hyper-V Platform (WHPX) सक्षम करें। हार्डवेयर त्वरण के साथ x86_64 सिस्टम इमेज का उपयोग करें। AVD Manager में एमुलेटर को कम से कम 4 GB RAM आवंटित करें। स्नैपशॉट लोडिंग के लिए Quick Boot सक्षम करें।
हाँ, Android Emulator Android 10 (API 29) से NFC एमुलेशन का समर्थन करता है। Extended Controls → Phone → NFC NDEF संदेश भेजने की अनुमति देता है। टैग रीड/राइट, पीयर-टू-पीयर और HCE मोड समर्थित हैं। पूर्ण परीक्षण के लिए NFC चिप वाले वास्तविक डिवाइस का उपयोग करें।
दैनिक डेवलपमेंट के लिए, Google APIs के साथ x86_64 चुनें — अधिकतम प्रदर्शन और सेवाओं का पूरा सेट। संगतता परीक्षण के लिए ARM64 इमेज का उपयोग करें। CI के लिए — Google Play Services के बिना इमेज, वे आकार में छोटी और तेज़ बूट होती हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें