اتصال صحیح یک دستگاه فیزیکی واقعی جهت تست برنامهها
در آموزه قبلی دوره حاضر طریقه ایجاد یک شبیهساز مجازی را بررسی کردیم. اینبار طهاکو به بررسی نحوه اتصال یک دستگاه واقعی به محیط توسعه جهت تست برنامهها در سیستم عاملهای ویندوز و مک پرداخته است. توسعه دهندگان درنهایت خواهند توانست یک شبیهساز فیزیکی را برای تریس و دیباگ کردن تنظیم و سفارشی نمایند.
فهرست مطالب آموزش
اتصال فیزیکی با کابل به محیط توسعه
توصیه میکنم در صورت امکان برنامههایتان را با دستگاه واقعی تست کنید؛ تا حس واقعیتری از چگونگی اجرای برنامه برای کاربر را داشته باشید. در واقع یک دستگاه واقعی آپشنهای زیادی برای انجام دادن دارد که برای یک شبیه ساز با دستگاه مجازی مشکل هست.
در ادامه این آموزش، من نمونه برنامههایی را روی تلفن Nexus 5X و اندروید 6 مارشمالو اجرا میکنم.
و تلفنم خودم را با یک کابل USB به توسعه دهنده کامپوتر موجود در آزمایشگاه ضبط فیلم طهاکو وصل میکنم.
این دستگاه به کابل USB-A به USB-C نیاز دارد، این نوع کابل برای Nexus 6P و دستگاههای موبایل جدیدتر دیگر استفاده میشود.
اگر یک دستگاه اندروید قدیمیتر داشتید، معمولاً به کابل USB-A به micro USB احتیاج داریم.
ولی هردو کابل دقیقاً یک کار را انجام میدهند: فرستادن پیام ها و اطلاعات بین دستگاه اندروید و توسعه دهنده کامپیوتر شما.
استفاده از قابلیت Cast برای نمایش صفحه موبایل در صفحه نمایش کامپیوتر
برای اینکه فهم این موضوع آسانتر بشود اینکار را روی یک دستگاه انجام میدهم.
روی این دستگاه، من به ویژگی کست میروم و سپس کامپیوتر خودم را پیدا میکنم و دستگاه را نشان میدهم.
برای اینکه فهم این قسمت یعنی کانکت کردن دستگاه اندرویدی ما را با کامپیوتر توسعه دهندهمان را آسانتر کنیم من از ابزار cast گوشی خودم بعد از اینکه گوشی خودم را با کابل به کامپیوتر وصل کردم استفاده میکنم و الان cast را انتخاب میکنم. همانطور که مشاهده میکنید الان شما صفحه دستگاه تلفن اندرویدی من را که ساخت شرکت سامسونگ هست بر روی محیط دسکتاپ کامپیوتر مشاهده میکنید.
من تصویر را روی کامپیوتر خودم با رفلکتر 2 دریافت میکنم و نمایش میدهم.
حالا یک دستگاه فیزیکی واقعی را میبینید و نه یک شبیه ساز را.
وقتی من روی دستگاه برنامه را دستکاری میکنم شما آنرا روی صفحه کامپیوتر میبینید.
اطمینان از اتصال صحیح تلفن اندرویدی با محیط ویندوز یا مک
بعد از اتصال دستگاه به کامپیوترتان با کابل USB، باید بررسی کنید و مطمئن بشوید که آن به طور صحیح متصل شده باشد. در سیستم عامل مک، سادهترین راه برای انجام اینکار این هست که به صفحه اصلیتان بروید و به اخطارهایی که در قسمت بالا وجود دارد و با پایین کشیدن منو نشان داده میشود نگاه کنید.
حالا این مراحل بسته به نوع دستگاهتان و نسخه اندرویدی که استفاده میکنید ممکن هست متفاوت باشد. من با Nexus 5X و اندروید نسخه مارشمالو کار میکنم. من در دستگاه خود دو اخطار دارم، یکی برای کروم کست، که نشان میدهد صفحه نمایشم را به کامپیوتر خودم منتقل کردم؛ و دیگری مربوط به حالت USB میشود.
حالت USB به طور پیشفرض در مارشمالو روی شارژینگ هست، که من میخواهم آنرا به photo transfer تغییر بدهم که این موضوع باعث میشود برنامههای تصویری باز شوند.
حالا، همه اینها بستگی به تنظیمات پیشفرض دارند. این برنامه تصویری نیاز دارد که وقتی به دوربین متصل میشوید روی باز شدن به صورت خودکار تنظیم شود. اگر باز نشد، سعی کنید برنامه تصویری را باز کنید
و در محیط مک روی ایمپورت کلیک کنید.
اگر برای شما کار نکرد، ممکن هست دستگاهتان درست متصل نشده باشد. باید کابل را چک کنید و بعضی عیبیابیها را انجام بدهید.
اگر با سیستمعامل ویندوز کار میکنید باید درایور مربوط به اتصال به دستگاههای واقعی را نصب داشته باشید. وقتی که به دستگاه متصل میشوید، بسته به نسخه ویندوزی که استفاده میکنید ممکن هست درایور مربوطه بصورت خودکار نصب بشود.
برای اینکه متوجه بشوید درست متصل شده یا نه به کنترل پنل و سپس به Device Manager بروید.
من کلمه device را تایپ میکنم و لینک Device Manager را انتخاب میکنم.
من روی کامپیوتر خود در این لیست برچسب Portable Devices را دارم و دستگاهم را در لیست موجود زیر آن مشاهده می کنم پس متوجه میشوم دستگاهم به درستی متصل شده است.
اگر دستگاه شما در لیست دیده نشد، باید درایور آنرا نصب کنید. بسته به نوع دستگاه و نسخه ویندوز شما، برچسب آن در لیست اخیر نشان داده میشود. ممکن هست با نام Mobile Devices یا با عنوان دیگری نشان داده بشود. اگر نتوانستید آنرا پیدا کنید، کابل USB قطع شده است بنابراین آنرا مجدداً وصل کنید. ممکن هست پیامی ببینید با مضمون اینکه، این سختافزار قبلاً نصب شده است، و یا ممکن هست آیتم جدیدی در لیست ببینید.
روی آیتم مربوط به دستگاه موبایل خود کلیک راست کنید، بعد روی لینک update driver کلیک کنید.
سپس، باید درایورهای کامپیوتر خود را چک کنید. خب این درایور باید دانلود بشود. و اگر با دستگاه Nexus کار میکنید، میتوانید آنرا از طریق SDK Manager دانلود کنید.
دانلود درایور برای اتصال اندروید استودیو به شبیهساز فیزیکی
در صفحه خوشآمد اندروید استودیو، روی configure کلیک میکنم، و بعد SDK Manager.
سپس روی تب SDK tools کلیک میکنم.
آیتم Google USB Driver را پیدا میکنم. این فقط برای دستگاههای Nexus هست.
اگر یک دستگاه موتورلا یا HTC یا سامسونگ داشتید، به درایور مربوط به آن نیاز دارید.
پس من آپشن مورد نظرم را انتخاب میکنم و روی Apply کلیک میکنم و تأیید را میزنم.
بعد از چند لحظه درایور مربوط نصب میشود.
روی Finish کلیک میکنم، اوکی را هم میزنم و صفحه اندروید استدیو را مینیمایز میکنم.
حالا میتوانم browse my computer for my driver software را بزنم.
من میخواهم فولدر Android و بعد SDK را وارد کنم.
از قسمت مورد نظر من extras و سپس در زیر فولدر آن، فولدر USB driver را انتخاب میکنم و OK را میزنم و سپس روی Next کلیک میکنم.
دستگاه من قبلاً متصل شده بود، پس این پیام را میبینم. ولی ممکن هست پیامی ببینید که نشان بدهد این درایور در حال نصب هست.
بعد از بستن این دیالوگ، باید برچسب مربوط به دستگاه را در لیست ببینید.
تنظیمات قابلیت USB debugging
وقتی اتصال درست دستگاه به کامپیوترتان را با کابل USB تأیید کردید، گام بعدی انتخاب و تنظیم قابلیتی به نام USB debugging هست.
من در دستگاه موبایل خود به صفحه اول و اصلی میروم.
سپس به قسمت settings میروم. در نسخه مارشمالو یا آبنبات چوبی، اینکار را فقط با کشیدن منو به سمت پایین میشود انجام داد.
سپس آیکن gear یا چرخدنده را بزنید تا به قسمت تنظیمات برنامه بروید.
بعد به پایین بیایید. دنبال آپشن Developer Options بگردید. در دستگاههای اندروید جدید، این آپشن دیده نمیشود ولی در دستگاه نکسوس میتوانید گزینه About Phone را بزنید.
بعد به پایین بیایید و سپس روی گزینه Build Number هفت بار کلیک کنید.
دفعه سومی که روی آن کلیک میکنم، پیام میدهد که چهار مرحله دیگر باقی مانده است.
بعد چهار بار دیگر کلیک کردن روی گزینه یاد شده پیغام میدهد که” الان شما یک توسعه دهنده هستید”.
بعد back را میزنم، به پایین میآیم و میبینم که Developer Options ظاهر شد.
من روی این آپشن کلیک میکنم و سپس دو تا گزینه را فعال میکنم.
گزینه Stay awake، یعنی تا وقتی که دستگاه به کابل USB متصل هست به حالت sleep نرود. این گزینه فقط برای راحتی کار فعال میشود.
گزینه مهمتر USB debugging هست که در پایین لیست مشاهده میکنید.
وقتی آیکن آنرا میزنم، یک پیغام تأیید ظاهر میشود، OK را میزنم.
آپشن دیگری هم به نام USB Debugging Authorizations هست که لازم هست راجب به آن بدانید.
من میخواهم هر مجوزی که وجود دارد را لغو کنم، پس میتوانید ببینید که چه اتفاقی برای دستگاه شما میافتد.
بررسی اتصال صحیح شبیهساز اندرویدی فیزیکی از Command Prompt در ویندوز یا Terminal در مک
حالا به پنجره command prompt رفته و دقت کنید که چقدر راحت همه مجوزها را برای اتصال به دستگاه اندرویدی خود در محیط ویندوز ابطال میکنم. در ویندوز فقط کافی هست گزینه Command Prompt را کلیک کنم. و در مک میتوانید به صفحه ترمینال بروید. حالا، در گام بعدی به دسترسی به ابزار خط فرمانتان نیاز دارید. اگر شما ابزارهای خط فرمان را به مسیرتان اضافه کرده باشید، میتوانید adb را تایپ کنید و خروجی را ببینید. اگر این برنامه را پیدا نکردید، باید دایرکتوری فعلی را به فرمان adb تبدیل کنید.
من در کامپیوترم، به دایرکتوری SDK که در فولدر اندروید هست میروم.
بعد به دایرکتوری Platform Tools میروم.
و دوباره adb را تایپ میکنم و اینترمیزنم.
برای اینکار در مک عبارت .\adb باید تایپ بشود.
حالا تایپ میکنم adb devices.
و اگر دستگاه به درستی متصل شده باشد، یک رشته شناسایی واحد را میبینم.
لیست دستگاههای فیزیکی متصل به محیط توسعه اندرویدی
حالا من درستی اتصال دستگاه را از راه دیگری بررسی میکنم.
برمیگردم به اندروید استودیو، جایی که برنامه Hello World خود را باز کردم.
بعد روی Android Monitor در قسمت پایین صفحه کلیک میکنم و لیست دستگاههای خود را میبینم.
اگه دستگاه شما درست نمایش داده شد، آمادهاید که کار کردن با Android Studio debugging را ادامه بدهید و برنامههایتان را اجرا و تست کنید.
به علاوه ممکن هست یک درخواست مجوز وقتی به تلفنتان وصل میشوید ببینید.
من برمیگردم به صفحه اصلی گوشی خود و کابل USB را جدا میکنم.
سپس دوباره آنرا وصل میکنم.
و ایندفعه چون قبلاً مجوزها را لغو کردم یک پیغام مشاهده میکنم، اگر بخواهم که اتصال برقرار بشود میتوانم USB debugging را قبول کنم؛ و برای دفعات بعدی که کابل را متصل میکنم اگر بخواهم دیگر این پیغام را برای اتصال با این کامپیوتر مشاهده نکنم آپشن always allow from this computer را تیک میزنم
و OK میکنم.
و دوباره USB debugging روشن شد. بنابراین وقتی USB debugging روشن میشود، کاملاً برای چرخه توسعه آمادهاید. میتوانید برنامههایتان را بسازید و سپس آنها را روی دستگاهتان اجرا و تست کنید و توسط USB debugging هر چیزی که روی دستگاهتان هست را trace و debug کنید.