0

آموزش برنامه نویسی اندروید

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

آموزش برنامه نویسی اندروید - قسمت ۲۲: نحوه ساخت ماشین مجازی در اندروید استودیو
دوشنبه 30 دی 1392  9:24 AM

نحوه ساخت ماشین مجازی در اندروید استودیو

برای ایجاد یک ابزار AVD در محیط توسعه اپلیکیشن اندروید استودیو می بایست همانطور که در تصویر زیر نشان داده شده است، از منوی اصلی نرم افزار وارد گزینه Tools به معنی "ابزارها" شده سپس وارد زیرشاخه Android و در نهایت روی گزینه AVD Manager کلیک نماییم:


920530-a22-IMAGE 1.jpg

پس از کلیک کردن روی این گزینه، پنجره ای به شکل زیر مشاهده خواهد شد:


920530-a22-IMAGE 2.jpg

اگر خاطرمان باشد این پنجره دقیقاً شبیه به پنجره ساخت Emulator در اکلیپس است. از سوی دیگر نکته جالب توجه اینجا است که ماشین مجازی ساخته شده در محیط برنامه نویسی اکلیپس در این پنجره نیز نشان داده می شود با این تفاوت که کنار اسم ماشین مجازی یک علامت ضربدر قرمز رنگ خورده است که این علامت نشانگر وجود مشکلی در این ماشین مجازی است. برای اینکه ببینیم مشکل در کجاست، روی نام این ماشین مجازی کلیک کرده سپس دکمه Edit را می زنیم و پنجره ای به شکل زیر مشاهده خواهیم کرد:


920530-a22-IMAGE 3.jpg

همانطور که در تصویر فوق مشاهده می شود، کلیه تنظیمات دقیقاً همان تنظیماتی است که در حین ساخت ماشین مجازی در اکلیپس اعمال کرده بودیم با این تفاوت که در بخش Target هیچ نسخه ای از اندروید مشخص نشده است. نوشته داخل علامت بیضی قرمز رنگ حاکی از آن است که برای این ماشین مجازی هیچ نسخه سیستم عامل اندرویدی مشخص نشده است از این رو این ماشین مجازی به هیچ وجه کار نخواهد کرد. چنانچه روی کادر قرمز رنگ همانطور که در تصویر زیر نشان داده شده است کلیک کنیم خواهیم دید که تنها یک نسخه از سیستم عامل اندروید وجود دارد که می توانیم از آن برای ساخت ماشین مجازی استفاده کنیم و آن هم نسخه 4.2.2 است:


920530-a22-IMAGE 4.jpg

با انتخاب این گزینه مشکل ماشین مجازی رفع خواهد شد و می توانیم از همین ماشین مجازی که در اکلیپس ساختیم در اندروید استودیو هم استفاده کنیم و همانطور که در تصویر زیر مشخص است یک تیک سبز کنار نام ماشین مجازی خواهد خورد به این معنی که این ماشین مجازی آماده اجرا است:


920530-a22-IMAGE 5.jpg

اما این در حالی است که اگر این ماشین مجازی را در محیط اندروید استودیو ویرایش کنیم و آن را برای نسخه سیستم عامل اندروید 4.2.2 تنظیم کنیم، چنانچه بخواهیم این ماشین مجازی را در محیط اکلیپس اجرا کنیم باز هم با موقعیت زیر مواجه خواهیم شد:


920530-a22-IMAGE 6.jpg

تصویر فوق مربوط به محیط اکلیپس است. در حقیقت از آنجا که در محیط اکلیپس نسخه سیستم عامل این ماشین مجازی را نسخه 2.1 قرار داده بودیم، اکلیپس متوجه می شود که این ماشین مجازی ویرایش شده و نسخه سیستم عامل اندروید 4.2.2 برای آن درنظر گرفته شده است و از آنجا که ما در محیط اکلیپس SDK مربوط به نسخه سیستم عامل اندروید 4.2.2 را نداریم از این رو اکلیپس این ماشین مجازی که خود ساخته بود را دیگر نخواهد شناخت. راه کار اول برای رفع این مشکل این است که همانطور که در تصویر زیر مشخص است مجدد در اکلیپس در پنجره فوق این ماشین مجازی را انتخاب کرده سپس روی دکمه Edit کلیک کنیم و از بخش Target نسخه سیستم عامل اندروید 2.1 را انتخاب نماییم:


920530-a22-IMAGE 7.jpg

با اینکار مشکل رفع شده و می توانیم مجدد از همین ماشین مجازی در محیط اکلیپس استفاده کنیم اما این در حالی است که این ماشین مجازی مجدد در محیط اندروید استودیو از تنظیم خارج خواهد شد. به عبارت دیگر با این روش هر زمان که بخواهیم با هر یک از IDE ها کار کنیم می بایست این تنظیمات مربوط به ماشین مجازی را انجام دهیم و این در حالی است که اینکار تاحدودی غیر منطقی به نظر می رسد.

راه کار دوم برای رفع این مشکل این است که کاری به ماشین مجازی ساخته شده در اکلیپس نداشته باشیم و اقدام به ساخت یک Emulator جدید مختص به اندروید استودیو نماییم:


920530-a22-IMAGE 8.jpg

همانطور که در تصویر فوق با یک بیضی قرمز رنگ مشخص شده است، Tab یی تحت عنوان Android Virtual Device به معنی "ماشین مجازی اندروید" دقیقاً شبیه به مراحل ساخت ماشین مجازی در اکلیپس است.


به کار گیری ماشین های مجازی از پیش تعریف شده

ابتدا به تصویر زیر توجه کنید:


920530-a22-IMAGE 9.jpg

در این تصویر در کنار Tab مربوط به Android Virtual Device یک Tab دیگری تحت عنوان Device Definitions به معنی "دستگاه های از پیش تعریف شده" وجود دارد که با یک بیضی قرمز رنگ مشخص شده است در این Tab دستگاه های مجازی از پیش تعریف شد ای وجود دارند که توسعه دهنده با استفاده از هر کدام از اینها دیگر نیازی ندارد تا کلیه تنظیمات را خود انجام دهد(اطلاعاتی همچون اندازه صفحه هر کدام و همچنین مقدار RAM اختصاص داده شده به هر دستگاه نشان داده شده است). به طور مثال در تصویر فوق گزینه اول انتخاب شده است که به رنگ آبی در آمده است که Nexus S نام دارد. حال با کلیک کردن روی گزینه Create AVD که در تصویر فوق با یک فلش قرمز رنگ مشخص شده است می توان به پنجره تنظیمات رفته و آن را طبق نیاز خود Customize کرد و کار ساخت یک ماشین مجازی را به پایان رساند. از جمله کارهایی در که در Customize کردن می توان انجام داد می شود به تغییر نام ماشین مجازی اشاره کرد.

اما چنانچه بخواهیم یک ماشین مجازی را خود از ابتدا بسازیم، می بایست مجدد به Tab مربوط به Android Virtual Device رفته سپس روی گزینه New کلیک نماییم. اکنون بایستی مطابق تصویر زیر عمل کنیم:


920530-a22-IMAGE 10.jpg

همانطور که در فوق مشاهده می شود، کلیه تنظیمات این پنجره همانند پنجره مربوط به ساخت ماشین مجازی در اکلیپس است به علاوه یکسری تفاوت که به توضیح تک تک آنها خواهیم پرداخت. نام انتخابی برای این ماشین مجازی را AndroidStudioAVD به معنی "ماشین مجازی اندروید استودیو" گذاشته شده و همانطور که در تصویر فوق با یک بیضی قرمز رنگ مشخص شده است با تیک دار کردن این گزینه ها می توان دکمه های سخت افزاری را روی این ماشین مجازی را نشان داد. در قسمت پایینی این پنجره همانطور که با یک فلش قرمز رنگ نشان داده شده است، اندروید استودیو اخطاری به ما داده مبنی بر اینکه "در سیستم عامل ویندوز، با انتخاب مقدار RAM بیش از 768 در حین اجرا با مشکل مواجه خواهید شد، از اینرو بایستی مقدار کمتری را وارد نمایید".

همانطور که در تصویر فوق با یک کادر قرمز رنگ مشخص شده است، مقدار 1907 وارد شده است که بایستی این عدد به کمتر از 768 تقلیل یابد. بنابراین عدد کمتری مثل 500 را وارد می کنیم و تنظیمات ما به صورت زیر در خواهد آمد(مقدار مرتبط با RAM و SD Card بسته به سخت افزار کامپیوتری که با آن کار می کنیم می تواند تحت تاثیر قرار گیرد. در صورتیکه در حین اجرای Emulator با مشکل مواجه شدید می توانید این مقادیر را کاهش دهید):


920530-a22-IMAGE 11.jpg

آپشن جدید که در پنجره مربوط به ساخت یک دستگاه مجازی در اندروید استودیو وجود دارد، گزینه مربوط به GPU است که در تصویر فوق با یک بیضی قرمز رنگ نشان داده شده است. به طور خلاصه می توان گفت که GPU مخفف واژگان Graphical Processing Unit به معنی "واحد پردازشگر گرافیکی" است. در واقع با تیک زدن این گزینه می توان شاهد تصاویر صاف تر بود. نکته ای که در ارتباط با تیک زدن این گزینه می بایست همواره مد نظر داشته باشیم این است که نمی توانیم به طور هم زمان هم گزینه Use Host GPU و هم گزینه Snapshot را تیک زد.

تشکرات از این پست
amin_j
دسترسی سریع به انجمن ها