راه اندازی شبیه ساز اندروید (Android Emulator) در مک M1
سلام به همه در این مقاله می خواهیم ببینیم که چگونه می توان شبیه ساز اندروید را در Mac با M1 ARM Chip راه اندازی کرد. اپل اخیراً پردازندههای اینتل را کنار گذاشته و شروع به ساخت پردازندههای خود کرده است، که چیز جدیدی نیست زیرا در حال حاضر اپل برای سومین بار پردازندههای مک خود را تغییر میدهد.
اولین بار در سال 1994 بود که اپل از Motorola به Power PC تغییر کردند و در دهه دوم 2000 بود که از Power PC به تراشه های اینتل و اکنون از اینتل به M1 تغییر کردند . در معماری این پردازنده، مجموعه دستورات پردازنده برای کاهش زمان اجرا ساده شده است و از مجموعه دستورالعمل های کوچک و بسیار بهینه شده استفاده می کند. و از نظر مصرف انرژی نیز کارآمد هستند.
با این حال چندین نرم افزار وجود دارد که هنوز از معماری x86 استفاده می کنند. بنابراین بسیاری از ابزارهای تولید کننده ثالث مانند Android Studio , Unreal Engine, HomeBrew هنوز برای معماری ARM بهینهسازی نشده اند که ترجمه باینری پویا است که میتواند دستورالعملهای x86 را به دستورالعملهای ARM ترجمه کند تا برنامههای مبتنی بر اینتل در M1 Mac اجرا شوند . با این حال آن ها محدودیت هایی نیز دارند.
Rosetta فایل های اجرایی زیر را ترجمه نمی کند:
- پسوند Kernel
- از برنامه های ماشین مجازی که سیستم عامل های x86و64 را به صورت مجازی اجرا می کنند.
در اینجا برنامه های ماشین مجازی شامل تمام نرم افزارهای مجازی مانند Virtual Box، شبیه ساز اندروید (Android emulator) و غیره است.
در مورد اندروید استودیو چطور؟
در حال حاضر نسخه اصلی اندروید استودیو برای ARM در دسترس نیست.به این معنی که اندروید استودیو با ترجمه Rosetta 2 اجرا می شود که عملکرد بسیار چشمگیری نسبت به مک مبتنی بر اینتل را ارائه می دهد.
اما اگر بخواهید ماشین مجازی خود را راه اندازی کنید، خطای زیر را نشان می دهد.
می توانید برنامه خود را با دستگاه فیزیکی متصل به Android Studio اشکال زدایی (debug) کنید.
اما گاهی اوقات اگر به یک دستگاه فیزیکی دسترسی ندارید، می توانید از شبیه ساز اندروید استفاده کنید که به طور خاص برای تراشه های M1 ساخته شده است که هنوز در مرحله پیش نمایش هستند و همراه با Android Studio ارائه نمی شود.
راه اندازی شبیه ساز اندروید (Android Emulator) برای تراشه هایM1 :
- Head Emulator M1 Preview repo توسط گوگل که هنوز نسخه بتا است اما خوب عمل میکند اما در مورد برخی استثناها که در فایل readme از آن به عنوان repo ذکر شدهاست .
- روی گزینه انتشار کلیک کرده و آخرین نسخه پیشنمایش را با کلیک android emulator m1 preview.dmg دانلود کنید .
- یک فایل DMG را دانلود می کند.
- روی فایل DMG در پوشه دانلودهای مک خود کلیک کنید.
- با این حال، طبق معمول Mac OS GateKeeper فایل DMG را قبل از اجرای آن تأیید می کند، برای دور زدن فرآیند تأیید، گزینه skip را انتخاب کنید زیرا سیستم عامل Mac یک خطا را نشان می دهد و از اجرای فایل جلوگیری می کند.
- سپس طبق معمول روی شبیه ساز کلیک کرده و آن را به پوشه Application بکشید (dragکردن). حالا اگر پوشه Application را در Finder خود باز کنید، می توانید یک Application جدید بدون آیکون ببینید ، آن همان شبیه ساز اندروید ما است.
علاوه بر این، اگر خطایی نشان داد، به تنظیمات بروید و در هر صورت روی open کلیک کنید.
- روی آن دوبار کلیک کرده و برای راهاندازی شبیهساز صبر کنید . ممکن است هشدار زیر را نشان دهد و شما میتوانید آن را همان طوری که در پیام waring نشانداده شدهاست تنظیم کنید و حالا میتوانیم با فشار دادن Ok از آن بگذریم.
و در اینجا شبیه ساز اندروید را داریم که به صورت natively بر روی تراشه M1 اجرا می شود
اجرای آزمایشی با Android Studio :
- اکنون یک پروژه موجود را باز کنید یا یک پروژه جدید در اندروید استودیو ایجاد کنید.
- همانطور که می بینید در گزینه AVD یک شبیه ساز جدید با نام Virtual Device که شبیه ساز اندروید M1 ما است را نشان می دهد.
- اکنون دکمه run را فشار دهید تا پروژه ساخته شود و در AVD شما اجرا شود.
همه چیز آماده است! اکنون ما یک AVD داریم که بر روی تراشه M1 اجرا میشود ، اگرچه برخی از مشکلات نیز وجود دارد اما در نسخههای بعدی حل خواهند شد و سایر AVD ها مانند تلویزیون، ساعت بعداً منتشر می شود زیرا تیم توسعه دهنده Google روی آن در حال کار کردن می باشند.
دیدگاهتان را بنویسید