مترجم: حبيب الله عليخاني
منبع: راسخون




 
در بخش 7 یک ابزار مجازی اندروید(AVD) که به شبیه ساز یا ایمولاتور معروف می باشد، ایجاد کرده ایم که برای ADT ورژن پایین تر می باشد. اکنون می خواهیم یک AVD برای ADT 23 ایجاد کنیم که با ورژن پایین تفاوت اندک دارد.
برای باز کردن SDK اندروید و مدیر AVD ، آیکنی را در نوار ابزار(toolbar) ایکلیپس کلیک کنید. مانند تصویر زیر:
و یا از منوی بالای برنامه مدیریت SDK، Tools و بعد هم ...manage AVDs را انتخاب کنید:
در صفحه ی باز شده ی زیر گزینه ی create را انتخاب کنید.
AVD name : در این قسمت نام شبیه ساز را وارد کنید. اگر چه که این نام کاملاً دلخواه است، اما در انتخاب نام می بایست دقت کرده که گویای خصوصیات دستگاه مجازی ما باشد. در واقع از آنجا که ما در حین ساخت پروژه، اپلیکیشن خود را برای سیستم عامل اندروید 2.2 هدف قرار دادیم، می توانیم نام AVD for 2.2 Versionرا انتخاب کنیم.به عبارت دیگر ما مجاز نیستیم که از Space در نام Emulator استفاده کنیم. برای رفع این مشکل، کلیۀ فاصله ها در نام انتخابی را با Dash جایگزین می کنیم: AVD-2.2-Version
Device : در این قسمت سایز ماشین مجازی شما طبق دستگاهی که در این قسمت انتخاب می کنید، تعیین خواهد شد. یکی از دستگاه های فهرست شده در این قسمت را انتخاب کنید. بعضی از دستگاه ها مثل Nexus که محصولات گوگل هستند در این قسمت فهرست شده اند و بقیه دستگاه ها، عمومی یا Generic هستند مثل تبلت ۱۰٫۱ اینچی با رزولوشن ۱۰۲۴ در ۸۰۰ و تراکم پیکسلی mdpi …
این همانند قسمت Skin : Built-in در ورژن های قبلی است. می توانید گزینه ی (WVGA (480x800 hdpi را انتخاب کنید و مراحل را ادامه دهید.
Target : در قسمت هدف (target) باید نسخه ای از API را انتخاب کنید که قبلا دانلود کرده اید. توصیه می شود نسخه ۲.۱ را انتخاب کنید تا نرم افزارتان روی دستگاه های بیشتری اجرا شود. البته اگر بخواهید target را از API 14 به بالا تنظیم کنید نیاز به system-image دارید. این مسئله در یکی از بخش های قبل به نام نصب بسته بندی SDK nasb tools بیان شده است. اگر قبلاً Arm EABI v7a System Image و SDK Platform را برای نسخه های متفاوت اندروید نصب کرده باشید، اینجا می توانید بسته به نیاز خود یکی از آنها را انتخاب کنید. در اینجا ما نسخه 2.2 را انتخاب کرده ایم. چون API 8 را داشتیم.

CPU/ABI :

با انتخاب Device این گزینه به طور خودکار انتخاب و غیر فعال می شود.
این مرحله نوع CPU دستگاه شبیه ساز را نشان می دهد. همانطور که می دانید اندروید بر روی CPU های ARM و Intel Atom و MIPS اجرا می شود. اغلب دستگاه های اندرویدی که در بازار وجود دارند از CPU های ARM استفاده می کنندو

Keyboard :

اگر می خواهید شبیه ساز شما صفحه کلید سخت افزاری داشته باشد، گزینه Hardware Keyboard Present را تیک بزنید.
با انتخاب این گزینه می توانیم از keyboard کامپیوتر نیز در این دستگاه استفاده کنیم. اگر این گزینه انتخاب نشود، تنها با keyboard مجازی خود دستگاه می توانیم کار کنیم.

Skin :

با انتخاب این گزینه امکان کنترل دستگاه مجازی توسط سخت افزار کامپیوتر خواهد بود. شبیه ساز اندروید می تواند اندازه و شکل های متفاوتی داشته باشد. برای اینکه تصاویری که از این برنامه در مراحل بعدی می گیریم کوچکتر باشد، QVGA را انتخاب می کنیم. اما بهتر است گزینه های دیگر مثل HVGA را انتخاب کنید!

Front Camera و Back Camera :

اگر می خواهید شبیه ساز شما دوربین جلو یا پشت داشته باشد، می توانید گزینه های دیگر را انتخاب کنید. گزینه های دیگر Emulated و Webcam است. Emulated دوربین را شبیه سازی می کند و Webcam از وبکم سیستم به عنوان دوربین شبیه ساز استفاده می کند.

Memory Option :

شامل دو گزینه RAM و VM Heapمی باشد. با انتخاب Device این گزینه ها به طور خودکار پر خواهند شد. (VM Heap برای دستگاه های قدیمی تر ۳۲ و برای دستگاه های جدید ۶۴ می باشد).
در این قسمت اندازه حافظه RAM دستگاه مجازی و نیز اندازه RAM که هر برنامه اندروید می تواند داشته باشد مشخص شده است. اکیداً توصیه می کنیم این مقادیر را تغییر ندهید.

Internal Storage :

این گزینه نیز با انتخاب دستگاه به طور خودکار پر می گردد.
Internal Storage و SD Card حجم حافظه داخلی دستگاه و اندازه SD Card را مشخص می کند. در صورتی که برنامه شما حافظه زیادی لازم ندارد، از مقادیر کمتر استفاده کنید تا سرعت شبیه ساز بالاتر برود.
SD Card : فضای حافظه دستگاه را تعیین می کند و بسته به بزرگی برنامه باید انتخاب شود. باید حجم کارت حافظه (SC card) را به آن بدهید (پیشنهاد می شود که عدد 10000 را بنویسید) .
در حقیقت با اختصاص دادن عددی به این گزینه مقدار حافظۀ این دستگاه مجازی را مشخص خواهیم کرد. )ممکن است روی برخی از سیستم ها با تایپ کردن عدد 1000 در زمان زدن دکمه Create AVD در پایان کار نرم افزار هنگ کند. چنانچه چنین اتفاقی روی داد، اکلیپس را بسته مجدد آن را اجرا نموده و این بار عدد به مراتب کوچکتری همچون 100 را برای SD Card در نظر بگیرید)

Emulation Options :

Snapshot : در لغت به معنای عکس فوری است. گزینه ی snapshot را فعال کنید. این کار باعث می شود تا هر زمان که شبیه ساز را بستید، یک عکس از آخرین وضعیت می گیرد و دفعه بعد که می خواستید آن را اجرا کنید، خیلی سریعتر بارگزاری می شود. چنانچه این گزینه تیک خورده باشد ظاهراً اطلاعاتی از Emulator در حافظه ذخیره می شود که پس از بستن آن و اجرای مجدد دیگر نیازی نخواهد داشت تا از ابتدا Emulator را اجرا کند. Snapshot چیزی شبیه Hibernate در ویندوز است و اگر تیک بزنید در دفعات بعدی که شبیه ساز را اجرا می کنید سرعت اجرای آن سریعتر می شود.
: use Host GPU به طور خلاصه می توان گفت که GPU مخفف واژگان Graphical Processing Unit به معنی "واحد پردازشگر گرافیکی" است. برای استفاده از کارت گرافیک رایانه به جای شبیه سازی نرم افزاری آن در دستگاه مجازی است. طبیعتاً در صورت انتخاب سرعت اجرای برنامه ها روی شبیه ساز بسیار بیشتر خواهد شد. در واقع با تیک زدن این گزینه می توان شاهد تصاویر صاف تر بود. نکته ای که در ارتباط با تیک زدن این گزینه می بایست همواره مد نظر داشته باشیم این است که اگر به طور هم زمان هم گزینه Use Host GPU و هم گزینه Snapshot تیک زده باشد، دکمه ی ok فعال نمی شود و فقط یک گزینه را باید تیک بزنیم. در اینجا ما این گزینه را تیک زده ایم. در پایان دکمه ی ok را انتخاب کنید:
نکته: با انتخاب Device مقدار RAM خود به خود تعیین می شود. اگر شما مقدار RAM را تغییر دهید و همچنین اگر این مقدار زیاد باشد، (مانند تصویر زیر در پایین آن در کادر قرمز رنگ) هشدار می دهد که سیستم شما مقدار RAM بیشتر از 768 را نمی پذیرد. مقدار مرتبط با RAM و SD Card بسته به سخت افزار کامپیوتری که با آن کار می کنیم می تواند تحت تاثیر قرار گیرد. در صورتیکه در حین اجرای شبیه ساز با مشکل مواجه شدید می توانید این مقادیر را کاهش دهید.
حال برای تست اینکه دستگاه ساخته شده به درستی کار می کند یا خیر از لیست ، دستگاه مجازی مورد نظر را انتخاب می کنیم و از منوی سمت چپ گزینه start را کلیک می کنیم:
صفحه ی زیر(Launch options) ، تنظیمات نمایش را نشان می دهد که قابل ویرایش هستند. در فرم زیر اندازه انتخابی و وضوح صفحه نمایش(density) را نمایش می دهد. با انتخاب گزینه Scale display to real size، می توان اندازه انتخابی را با توجه به صفحه نمایش کامپیوتر و مقیاس بزرگنمایی تعیین کرد و یک وضوح تصویر (resolution) مناسب تعیین کنید. فعلا تیک آن را می زنیم تا بعد از اجرا صفحه نمایش را کوچکتر نشان دهد اما مقادیر را به طور پیش فرض می پذیریم(اما زمانیکه می خواستیم کارمان را در وضوح تصویرهای مختلفی امتحان کنیم برمی گردیم به این قسمت و چند دستگاه مجازی با وضوح تصویرهای مختلف می سازیم).
در زیر این قسمت 3 گزینه داریم:
: Wipe user data اگر در در بخش ایجاد شبیه ساز، در قسمت Emulation Options گزینه ی Use Host GPU را تیک زده باشیم این گزینه فعال می شود.
با انتخاب گزینه Wipe user data، اگر قبلا از این شبیه ساز استفاده شده باشد، با هربار اجرای دستگاه مجازی، تمام اطلاعات اضافی تعیین شده پاک گردیده و تنظیمات به صورت تنظیمات اولیه(همانند تنظیمات کارخانه) درخواهد آمد.
تو ضیح دو گزینه ی بعدی مربوط به توضیحات Emulation Options در قسمت بالا می باشد.
اگر در قسمت Emulation Options گزینه ی Use Host GPU را تیک نمی زدیم، گزینه های زیرین فعال می شد.
Launch from snapshot : اگر در بخش ایجاد شبیه ساز، در قسمت Emulation Options گزینه ی snapshot را تیک زده باشیم، این گزینه و گزینه ی بعدی(Save to snapshot) فعال می شود وگرنه غیر فعال می شود.
Save to snapshot : اگر در بخش ایجاد شبیه ساز، در قسمت Emulation Options گزینه ی snapshot را تیک زده باشیم، این گزینه و گزینه ی قبلی(Launch from snapshot) فعال می شود. وگرنه غیر فعال می شود.
ما گزینه ی Wipe user data را تیک می زنیم و سپس launch را کلیک می کنیم تا عملیات اتصال به emulator را انجام دهد:
اگر انجام عملیات به درستی پیش رود فرم های زیر به ترتیب نمایش داده خواهند شد و emulator آماده ی استفاده است.
در تصویر زیر می بینید که شبیه ساز ما لود نشده و در صفحه های اندروید گیر کرده. در اولین باری که شبیه ساز استارت می شود، ممکن است سیستم بیش از 10 دقیقه زمان صرف کند تا لود شدن شبیه ساز کامل شود. دلیل آن این است که شما در حال اجرای سیستم لینوکس مجازی در شبیه سازتان هستید. شبیه ساز باید بوت و مقدار دهی اولیه شود. اگر سیستم تان کند باشد، سرعت بوت شدن شبیه سازتان هم کم خواهد بود.
شبیه ساز دارای چندین صفحه ی بوت می باشد. اولین آن در بالا نمایش داده شده. نوار عنوان آن شماره پورتی که شبیه ساز روی آن در کامپیوتر شما اجرا می شود(5554) می باشد و همچنین شامل نام AVD-Android-4-4-2 می باشد. تقریبا نصف زمان بوت صرف این صفحه می شود.
دومین صفحه ی بوت، لوگوی اندروید را نمایش می دهد(مانند تصویر زیر). این لوگو شبیه آن لوگو ای است که وقتی کاربر سیستم عامل اندروید، تلفن اش را بوت می کند می بیند، می باشد.
صفحه سوم و آخرکه در لود شبیه ساز دیده می شود به صورت زیر می باشد:
وقتی که شبیه ساز، بخش لود شدن را کامل کرد، صفحه ی خانگی قفل شده ی پیشفرض، ظاهر می شود. برای قفل گشایی صفحه ی خانگی، آیکن قفل(Lock) را کلیک کرده و آن را به سمت راست صفحه درگ کنید. وقتی که آیکن به آنطرف صفحه اندروید می رسد، آن را رها کنید. در طول درگ کردن، برچسب آن به کلمه ی unlock(باز شدن)، تغییر می کند. مانند تصویر زیر:
بعد از اینکه قفل شبیه ساز باز شد. صفحه ی زیر باز می شود، مانند تصویر زیر:
بعد دکمه ی ok را می زنیم و صفحه خانگی ظاهر می شود:
حالا دستگاه شبیه ساز آماده است و می توانید برنامه خود را بر روی آن اجرا کنید. برای اجرای برنامه بر روی دکمه Run مشابه عکس زیر کلیک کنید یا گزینه Run را از منوی Run انتخاب کنید یا Ctrl+F11 را بزنید یا در پنجره Package Explorer بر روی پروژه کلیک راست کرده و گزینه Run as و سپس Android Application را انتخاب کنید.
به کار گیری ماشین های مجازی از پیش تعریف شده
ابتدا به تصویر زیر توجه کنید:
در این تصویر در کنار Tab مربوط به Android Virtual Device یک Tab دیگری تحت عنوان Device Definitions به معنی "دستگاه های از پیش تعریف شده" وجود دارد. در این Tab دستگاه های مجازی از پیش تعریف شد ای وجود دارند که توسعه دهنده با استفاده از هر کدام از اینها دیگر نیازی ندارد تا کلیه تنظیمات را خود
انجام دهد)اطلاعاتی همچون اندازه صفحه هر کدام و همچنین مقدار RAM اختصاص داده شده به هر دستگاه نشان داده شده است( به طور مثال در تصویر فوق گزینه اول انتخاب شده است که به رنگ آبی در آمده است که Nexus S نام دارد. حال با کلیک کردن روی گزینه Create AVD می توان به پنجره تنظیمات رفته و آن را طبق نیاز خود Customize کرد و یک ماشین مجازی را ایجاد کند. از جمله کارهایی درکه در Customize کردن می توان انجام داد می شود به تغییر نام ماشین مجازی اشاره کرد.

نکته:

می توانید به تعداد نامحدودی ماشین مجازی با مشخصات متفاوت داشته باشید و هر ماشین، مشخصات مربوط به یک نوع ورژن خاص را اجرا کند.
در حالتی که چندین ماشین داشته باشید در اکلیپس وقتی برنامه تان را اجرا می کنید، همه ماشینها با هم شروع به پیاده سازی برنامه شما می کنند که این باعث می شود سرعت کامپیوتر شما (بسته به تعداد ماشین های مجازی) افت داشته باشد. برای پرهیز از این مشکل در اکلیپس از منوی Run بر روی Run Configuration کلیک کنید.
در قسمت راست، تب Target را انتخاب کنید سپس در Always prompt to pick device انتخاب دستی را بجای اتوماتیک انتخاب کنید:
حالا هر بار که برنامه را اجرا کنید، اکلیپس از شما می پرسد کدام ماشین مجازی را اجرا کنم.