اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)
همان طور که می دانید، برای اجرا یا خطایابی یک پروژه اندروید موجود در برنامه eclipse ، روش های گوناگونی وجود دارد :
1- شبیه سازی برنامه اندروید بر روی یک گوشی مجازی (virtual device)، در خود برنامه eclipse
2- ساخت یک فایل apk از پروژه اندروید و نصب آن بر روی برخی شبیه ساز ها که در ویندوز اجرا می شوند (مثل برنامه YouWave Android و برنامه BlueStacks App Player)
3- ساخت یک فایل apk از پروژه اندروید و ارسال آن به یک گوشی اندروید واقعی (با Blutooth یا کابل USB) و سپس نصب آن بر روی گوشی
4- اجرای برنامه بر روی یک گوشی اندروید واقعی، بدون نیاز به فایل apk و تنها با اتصال گوشی اندروید به کامپیوتر، توسط کابل USB و انتخاب پروژه اندروید در برنامه eclipse
روش هایی که در بالا ذکر شد، روش هایی است که اینجانب تا به امروز استفاده کرده ام، علاوه بر این موارد، ممکن است روش های دیگری نیز وجود داشته باشد. دلیل بیان این روش ها، این است که یک دید کلی داشته باشید و کمی آنها را با هم مقایسه کنید.
در این مبحث، قصد داریم که توضیحات کاملی را در مورد روش شماره 4 ارائه بدهیم. در روش شماره 4 ، یک گوشی اندروید واقعی را با کابل USB به کامپیوتر وصل می کنیم و سپس در برنامه eclipse ، گزینه هایی برای اجرای (run) برنامه بر روی گوشی و یا خطایابی برنامه (debug) با اجرای آن در گوشی، وجود دارد.
در استفاده از این روش، نکات مهمی وجود دارد که اگر به آنها توجه نکنید، حتما سر در گم می شوید. در واقع، برای اینکه بتوانید پروژه اندروید را به طور مستقیم از برنامه eclipse بر روی گوشی خود اجرا کنید، باید یک سری پیش نیازها وجود داشته باشد، در غیر این صورت، گوشی مورد نظرتان توسط برنامه eclipse ، برای اجرای پروژه اندروید، نمایش داده نخواهد شد. خوب، بنابراین باید هم شیوه اجرای پروژه را بدانید و هم پیش نیازهای آن را. بد نیست ابتدا لیست پیش نیازها را شرح بدهیم (فعلا هیچ اقدامی انجام ندهید و تنها موارد را بخوانید) :
1- باید driver مربوط به گوشی، بر روی ویندوز شما نصب شده باشد. ممکن است شما گوشی را به کامپیوتر وصل کنید و driver آن خود به خود بر روی ویندوز نصب گردد (در این حالت، معمولا پیامی در گوشه ویندوز نمایش داده می شود) و همین کافی باشد، اما مثلا برای یک گوشی دیگر، نیاز پیدا کنید که driver آن را از سایت سازنده دریافت کرده و نصب کنید. بنابراین، این مورد، کمی نسبی خواهد بود. اگر آنقدر خوش شانس نبوده اید که driver خود به خود و توسط گوشی نصب شود، باید دو مورد زیر را در نظر بگیرید :
الف - نصب بسته نرم افزاری Google USB Driver ، از طریق برنامه Android SDK Manager
ب- نصب driver گوشی از طریق دریافت driver از خود سایت سازنده آن گوشی و یا از cd حاوی driver های گوشی
2- سازگار بودن حداقل نسخه اندروید تعیین شده در پروژه اندروید، با نسخه اندروید گوشی واقعی. مثلا فرض کنید که شما در پروژه اندروید مورد نظرتان، مشخصه minSdkVersion در فایل AndroidManifest.xml از پروژه اندروید را برابر 11 انتخاب کرده اید، اما گوشی اندروید واقعی که به کامپیوتر متصل شده است، دارای نسخه شماره 8 باشد، بنابراین برنامه eclipse ، شماره نسخه اندروید نصب بر روی گوشی را تشخیص می دهد و چون برای پروژه قابل قبول نیست، اصلا آن را در لیست گوشی های متصل، نمایش نخواهد داد. بیشتر کاربران، در همین مرحله، گیج و سر در گم می شوند، زیرا قبلا گوشی برای پروژه های اندروید دیگر نمایش داده می شده، اما برای پروژه اندروید فعلی، نمایش داده نمی شود و کاربر فکر می کند که مشکل از شناسایی گوشی توسط برنامه eclipse است، در صورتی که گوشی کاملا شناسایی شده و تنها به دلیل اینکه شماره نسخه اندروید آن، از حداقل تعیین شده برای پروژه اندروید، کمتر است، نمایش داده نخواهد شد.
3- باید گزینه مربوط به خطایابی (USB debugging)، در تنظیمات گوشی اندروید مورد نظر، فعال باشد (البته در این مورد، گوشی شناسایی شده و نمایش داده می شود اما حالت آن در لیست، به صورت offline خواهد بود و برنامه بر روی آن نصب نمی شود. این مورد را نیز به همراه موارد عدم شناسایی گوشی، در انتهای این مبحث کمی شرح خواهیم داد).
اکنون در ادامه، ابتدا فرض می کنیم که شما پیش نیازهای لازم را دارید و شیوه اجرا (run) و خطایابی (debug) را شرح خواهیم داد تا اصلا بدانید که منظورمان از نمایش گوشی در یک لیست در برنامه eclipse چیست، سپس نکات مهمی را در مورد پیش نیازهایی که ذکر کردیم، خواهیم گفت. بنابراین ابتدا ببینید که گوشی شناسایی می شود یا نه، اگر شناسایی نشد، در ادامه همین مبحث، می توانید نکات لازم برای به دست آوردن پیش نیازها را بخوانید.
اجرا کردن (run) پروژه اندروید موجود در eclipse ، بر روی گوشی واقعی متصل به کامپیوتر، با کابل USB (با فرض شناساسی گوشی توسط برنامه eclipse)
ابتدا برنامه eclipse را باز کنید. پروژه اندروید مورد نظرتان، باید در پنجره Package Explorer موجود باشد، در غیر این صورت، باید آن را به درون برنامه eclipse ، وارد (import) کنید :
اکنون گوشی اندروید را با کابل USB به کامپیوتر متصل کنید، اگر گوشی قبلا توسط کامپیوتر شناسایی شده، تقریبا 10 ثانیه صبر کنید، اما اگر برای اولین بار است که گوشی را به کامپیوتر متصل می کنید، احتمالا پیام هایی در مورد نصب driver آن در گوشه پایین سمت راست ویندوز، نمایش داده می شود، بنابراین صبر کنید تا این مراحل طی شود. پس از اطمینان از شناسایی گوشی توسط کامپیوتر، در برنامه eclipse ، بر روی نام پروژه اندروید، با موس، کلیک سمت راست نموده و گزینه Run As و سپس گزینه Android Application را انتخاب کنید :
در این هنگام، برنامه eclipse به دنبال گوشی های مجازی (virtual device) و همچنین گوشی های واقعی می گردد که برای اجرای این پروژه اندروید، مناسب باشند (یعنی نسخه اندروید آنها مناسب باشد)، آنگاه اگر هیچ موردی نیابد، پنجره زیر را نمایش می دهد (بنابراین باید ببینید کدام پیش نیاز را ندارید) :
که با فشار دادن گزینه No ، پجره زیر نمایش داده می شود (یک لیست خالی) :
اما اگر یک یا چند مورد مناسب پیدا کند، آن پنجره نمایش داده نمی شود و مستقیما لیستی حاوی موارد مناسب شناسایی شده را خواهید دید :
مشاهده می کنید که یک گوشی واقعی مناسب، شناسایی شده است و می توانید آن را در لیست ببینید. اکنون باید گوشی واقعی را انتخاب کرده و سپس بر روی گزینه OK کلیک کنیم. از حالا، دیگر فقط به صفحه گوشی اندروید خود نگاه کنید تا برنامه نصب شده و سپس اجرا گردد (به صورت خودکار). فقط اگر صفحه گوشی قفل است، آن را از حالت قفل در بیاورید.
خطایابی (debug) پروژه اندروید موجود در eclipse ، بر روی گوشی واقعی متصل به کامپیوتر، با کابل USB (با فرض شناساسی گوشی توسط برنامه eclipse)
در قسمت قبل، نحوه اجرای پروژه اندروید بر روی گوشی واقعی را شرح دادیم، اما اگر پروژه اندروید، پس از نصب و اجرا با گوشی، با خطا روبرو شده و بسته شود (force close)، نمی توانید بفهمیم که کدام بخش از کدهای پروژه اندروید، باعث ایجاد این خطا شده است. برای یافتن کدهای ایجاد کننده خطا، می توانیم به جای گزینه اجرا کردن (run) پروژه اندروید، از گزینه خطایابی (debug) استفاده کنیم.
نکته مهم این است که اگر قصد دارید با این روش، یک پروژه اندروید را خطایابی کنید، باید ابتدا مشخصه debuggable در فایل AndroidManifest.xml را برابر true قرار بدهید. برای این منظور، فایل AndroidManifest.xml از پروژه اندروید را باز کنید و سپس در میان مشخصه های تعیین شده برای تگ application ، مشخصه زیر را نیز بنویسید :