Android Emulator — یہ کیا ہے اور ایمولیشن کیسے کام کرتی ہے

مصنف: IT Sectr اشاعت: 2026-02-09 مطالعے کا وقت: 8 منٹ

Android Emulator Android Studio کا ایک جزو ہے جو ڈویلپر کے کمپیوٹر پر Android ڈیوائس کی مکمل ورچوئل کاپی چلاتا ہے۔ ایمولیٹر ARM ہدایات کو میزبان کے x86_64 فن تعمیر میں ترجمہ کرنے کے لیے QEMU استعمال کرتا ہے۔ Google دستاویزات AVD ورچوئل ڈیوائسز اور ہارڈویئر ایکسلریشن کے سیٹ اپ کے مکمل چکر کو بیان کرتی ہیں۔

اہم نکات

  • Android Emulator — ARM ترجمہ، GPU، سینسرز اور NFC کی معاونت کے ساتھ QEMU پر مبنی مکمل ایمولیشن
  • AVD Manager — API لیول، فن تعمیر اور ہارڈویئر خصوصیات کے انتخاب کے ساتھ ورچوئل ڈیوائسز بنانے اور ترتیب دینے کا ٹول
  • HAxM اور Hyper-V — ایمولیٹر کی کارکردگی کو 3-5 گنا بڑھانے کے لیے ہارڈویئر ایکسلریشن
  • کوڈ میں چیک — Build.FINGERPRINT اور Build.PRODUCT Kotlin میں ایمولیٹر میں چلنے کا پتہ لگانے کی اجازت دیتے ہیں
  • سینسر ایمولیشن — ایکسلیرومیٹر، گائروسکوپ، NFC، GPS اور کیمرہ ایمولیٹر میں معاون ہیں

Android Emulator کیا ہے؟

Android Emulator ایک ورچوئل Android ڈیوائس ہے جو QEMU (Quick EMUlator) پر چلتا ہے اور Android ہارڈویئر پلیٹ فارم کو ایمولیٹ کرتا ہے۔ iOS Simulator کے برعکس، Android Emulator ARM ہدایات کا مکمل ترجمہ کرتا ہے، جس سے موبائل فن تعمیر کے لیے مرتب کردہ کوڈ x86_64 میزبان پر چلایا جا سکتا ہے۔

Google نے 2007 میں Android SDK کے پہلے ورژن کے ساتھ Android Emulator جاری کیا۔ اس کے بعد سے، ایمولیٹر ایک سست صرف ARM حل سے 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 کے لیے بھی علیحدہ امیجز دستیاب ہیں۔

kotlin
// کوڈ میں ایمولیٹر کی قسم کی جانچ
val isEmulator = Build.FINGERPRINT
    .contains("generic") ||
    Build.PRODUCT.contains("sdk")

if (isEmulator) {
    Timber.d("ایپ ایمولیٹر میں چل رہی ہے")
}

Android Studio میں AVD سیٹ اپ

AVD (Android Virtual Device) ایمولیٹر کے لیے ورچوئل ڈیوائس کنفیگریشن ہے۔ Android Studio میں AVD Manager کسی بھی خصوصیات کے امتزاج کے ساتھ ڈیوائسز بنانے کی اجازت دیتا ہے: ماڈل، اسکرین سائز، پکسل کثافت، RAM سائز، اسٹوریج سائز اور Android ورژن۔

AVD پیرامیٹرڈویلپمنٹ کے لیے سفارشجانچ کے لیے سفارش
فن تعمیرx86_64 (HAxM کے ساتھ)ARM64 (خالص ایمولیشن)
RAM2048-4096 MB1536-2048 MB
اندرونی اسٹوریج8-16 GB4-8 GB
API لیولتازہ ترین مستحکمکم از کم معاون
Google Play Servicesفعال کریںضرورت کے مطابق

AVD بنانا Android Studio میں Device Manager کے ذریعے کیا جاتا ہے: ہارڈویئر پروفائل (Pixel، Nexus، Galaxy اور دیگر)، سسٹم امیج منتخب کریں اور پیرامیٹرز ترتیب دیں۔ بنانے کے بعد، ڈیوائس فوری ایپ لانچ کے لیے Run Configurations فہرست میں ظاہر ہوتی ہے۔

فوری شروع کے لیے Snapshot موڈ

ایمولیٹر Quick Boot کو سپورٹ کرتا ہے — یہ AVD حالت کو snapshot کے طور پر محفوظ کرتا ہے اور اگلے لانچ پر بحال کرتا ہے۔ بوٹ ٹائم 30-60 سیکنڈ سے کم ہو کر 2-5 سیکنڈ رہ جاتا ہے۔ صاف حالت میں ری سیٹ کرنے کے لیے AVD Manager میں Cold Boot Now استعمال کریں۔

ARM ترجمہ اور ہارڈویئر ایکسلریشن

ARM ترجمہ Android Emulator کی ایک کلیدی ٹیکنالوجی ہے جو ARM ہدایات کو فوری طور پر x86_64 میں تبدیل کرتی ہے۔ ترجمہ کے بغیر، ایمولیٹر صرف x86_64 امیجز چلا سکتا ہے، جو جانچ کی صلاحیتوں کو محدود کرتا ہے۔ Google ARM→x86 ترجمہ کے لیے libhoudini اور HAXM ایکسلریشن کے لیے Intel لائبریریز استعمال کرتا ہے۔

bash
# Windows پر HAxM اسٹیٹس کی جانچ
sc query "IntelHaxm"

# SDK Manager کے ذریعے HAxM انسٹال کرنا
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"

# ہارڈویئر ایکسلریشن کے ساتھ ایمولیٹر شروع کرنا
emulator -avd Pixel_9_API_35 -accel on -gpu auto

Intel 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 کوڈ میں ایمولیٹر چیک

Kotlin میں رن ٹائم ماحول کا پتہ لگانا غلط کوڈ کو غیر فعال کرنے یا ڈیبگ معلومات شامل کرنے کے لیے مفید ہے۔ Android اس مقصد کے لیے Build.FINGERPRINT، Build.PRODUCT اور Build.HARDWARE فراہم کرتا ہے۔

kotlin
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 میں بیان کی جاتی ہے۔

kotlin
// 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 کے لیے Android Emulator

ایمولیٹر نہ صرف اسمارٹ فونز بلکہ Wear OS اور Android TV کو بھی سپورٹ کرتا ہے۔ Wear OS کے لیے، گول اور مستطیل AVD کنفیگریشنز، بیزل گردش تخیل اور سوائپ جیسچرز کے ساتھ ساتھ فون ایمولیٹر کے ساتھ تعامل کی جانچ دستیاب ہے۔ Android TV کے لیے D-pad نیویگیشن والا انٹرفیس استعمال کیا جاتا ہے۔ دونوں پلیٹ فارم ہارڈویئر ایکسلریشن اور Google Play Services کے ساتھ جانچ کو سپورٹ کرتے ہیں، جو اسمارٹ واچ اور TV ایپ ڈویلپمنٹ سائیکل کے لیے اہم ہے۔

اکثر پوچھے گئے سوالات

Android Emulator iOS Simulator سے کیسے مختلف ہے؟

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" ہوتا ہے۔

Android Emulator کو کیسے تیز کریں؟

AMD پروسیسرز کے لیے Intel HAxM (Intel VT-x) یا Windows Hyper-V Platform (WHPX) فعال کریں۔ ہارڈویئر ایکسلریشن کے ساتھ x86_64 سسٹم امیجز استعمال کریں۔ AVD Manager میں ایمولیٹر کو کم از کم 4 GB RAM مختص کریں۔ سنیپ شاٹ لوڈنگ کے لیے Quick Boot فعال کریں۔

کیا Android Emulator میں NFC جانچا جا سکتا ہے؟

ہاں، Android Emulator Android 10 (API 29) سے NFC ایمولیشن کو سپورٹ کرتا ہے۔ Extended Controls → Phone → NFC NDEF پیغامات بھیجنے کی اجازت دیتا ہے۔ ٹیگ پڑھنے/لکھنے، پیر ٹو پیر اور HCE موڈز معاون ہیں۔ مکمل جانچ کے لیے NFC چپ والا حقیقی ڈیوائس استعمال کریں۔

AVD کے لیے کون سی سسٹم امیجز بہترین ہیں؟

روزانہ ڈویلپمنٹ کے لیے، Google APIs کے ساتھ x86_64 منتخب کریں — زیادہ سے زیادہ کارکردگی اور خدمات کا مکمل سیٹ۔ مطابقت کی جانچ کے لیے ARM64 امیجز استعمال کریں۔ CI کے لیے — Google Play Services کے بغیر امیجز، وہ سائز میں چھوٹی اور بوٹ میں تیز ہوتی ہیں۔

خلاصہ

  • Android Emulator — ARM ترجمہ، GPU، سینسرز اور NFC کی معاونت کے ساتھ QEMU پر مکمل Android ڈیوائس ایمولیشن
  • AVD Manager — فن تعمیر، API لیول، RAM اور ہارڈویئر خصوصیات کے انتخاب کے ساتھ ورچوئل ڈیوائس کنفیگریشن
  • ہارڈویئر ایکسلریشن — HAxM، Hyper-V اور WHPX ایمولیٹر کی کارکردگی کو 3-5 گنا بڑھاتے ہیں
  • ماحول کا پتہ لگانا — Build.FINGERPRINT، Build.PRODUCT اور Build.HARDWARE ایمولیٹر میں چلنے کا پتہ لگانے کے لیے
  • Extended Controls — منظرناموں کی جانچ کے لیے GPS، NFC، سینسرز، آنے والی کالز اور SMS تخیل
  • CI آٹومیشن — موثر CI جانچ کے لیے Gradle Managed Devices اور x86_64 امیجز
  • Quick Boot — سنیپ شاٹ موڈ ایمولیٹر بوٹ ٹائم کو 2-5 سیکنڈ تک کم کرتا ہے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں