آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

اجرا (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) کنید :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

اکنون گوشی اندروید را با کابل USB به کامپیوتر متصل کنید، اگر گوشی قبلا توسط کامپیوتر شناسایی شده، تقریبا 10 ثانیه صبر کنید، اما اگر برای اولین بار است که گوشی را به کامپیوتر متصل می کنید، احتمالا پیام هایی در مورد نصب driver آن در گوشه پایین سمت راست ویندوز، نمایش داده می شود، بنابراین صبر کنید تا این مراحل طی شود. پس از اطمینان از شناسایی گوشی توسط کامپیوتر، در برنامه eclipse ، بر روی نام پروژه اندروید، با موس، کلیک سمت راست نموده و گزینه Run As و سپس گزینه Android Application را انتخاب کنید :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

در این هنگام، برنامه eclipse به دنبال گوشی های مجازی (virtual device) و همچنین گوشی های واقعی می گردد که برای اجرای این پروژه اندروید، مناسب باشند (یعنی نسخه اندروید آنها مناسب باشد)، آنگاه اگر هیچ موردی نیابد، پنجره زیر را نمایش می دهد (بنابراین باید ببینید کدام پیش نیاز را ندارید) :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

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

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

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

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

مشاهده می کنید که یک گوشی واقعی مناسب، شناسایی شده است و می توانید آن را در لیست ببینید. اکنون باید گوشی واقعی را انتخاب کرده و سپس بر روی گزینه OK کلیک کنیم. از حالا، دیگر فقط به صفحه گوشی اندروید خود نگاه کنید تا برنامه نصب شده و سپس اجرا گردد (به صورت خودکار). فقط اگر صفحه گوشی قفل است، آن را از حالت قفل در بیاورید.

خطایابی (debug) پروژه اندروید موجود در eclipse ، بر روی گوشی واقعی متصل به کامپیوتر، با کابل USB (با فرض شناساسی گوشی توسط برنامه eclipse)

در قسمت قبل، نحوه اجرای پروژه اندروید بر روی گوشی واقعی را شرح دادیم، اما اگر پروژه اندروید، پس از نصب و اجرا با گوشی، با خطا روبرو شده و بسته شود (force close)، نمی توانید بفهمیم که کدام بخش از کدهای پروژه اندروید، باعث ایجاد این خطا شده است. برای یافتن کدهای ایجاد کننده خطا، می توانیم به جای گزینه اجرا کردن (run) پروژه اندروید، از گزینه خطایابی (debug) استفاده کنیم.

نکته مهم این است که اگر قصد دارید با این روش، یک پروژه اندروید را خطایابی کنید، باید ابتدا مشخصه debuggable در فایل AndroidManifest.xml را برابر true قرار بدهید. برای این منظور، فایل AndroidManifest.xml از پروژه اندروید را باز کنید و سپس در میان مشخصه های تعیین شده برای تگ application ، مشخصه زیر را نیز بنویسید :


android:debuggable="true"

مثل کد زیر برای تگ application :


<application
    android:allowBackup="true"
    android:debuggable="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:theme="@style/AppTheme" >

اگر این مشخصه را تعیین نکنید، پروژه اندروید بر روی گوشی اجرا می شود، اما در صورت بروز خطا، دیگر برنامه eclipse نمی تواند محل خطا را بیابد. در واقع، بدون وجود این مشخصه، به جای خطایابی (debug)، تنها اجرای برنامه (run) را خواهیم داشت، بنابراین حتما تعیین این مشخصه را فراموش نکنید. همچنین، پس از خطایابی، زمانی که خواستید برنامه اندروید را به فروشگاه های اندروید بدهید، این مشخصه را برابر false قرار بدهید.

بنابراین فرض می کنیم که مشخصه debuggable را برابر true قرار داده اید و اکنون سایر مراحل را شرح می دهیم. برای خطایابی (debug)، تمامی مراحل، مشابه همان اجرا کردن (run) است و تنها تفاوت این است که به جای گزینه Run As ، باید گزینه Debug As را انتخاب کنیم (اگر مراحل مربوط به اجرا کردن را فراموش کرده اید، آنها را در ابتدای همین مبحث، دوباره بخوانید) :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

قبلا برای اجرا کردن (run) می گفتیم که صبر کنید تا برنامه کامل نصب شود، اما برای خطایابی (debug) باید در گوشه بالا سمت راست پنجره برنامه eclipse ، یک گزینه با نام Debug را بیابید :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

سپس بر روی آن کلیک کنید تا به حالت فعال در بیاید (با این کار، گزینه Java دیگر فعال نخواهد بود، هر وقت خواستید که دوباره همان پنجره های قبلی در برنامه eclipse نمایش داده شود، باید بر روی گزینه Java کلیک کنید) :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

با فعال کردن گزینه Debug ، پنجره های دیگری در پنجره اصلی برنامه eclipse نمایش داده می شوند. در این پنجره ها، مراحل مربوط به نصب و اجرای پروزه اندروید بر روی گوشی، نمایش داده می شود :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

آن چیزی که بیش از همه برای ما مهم است، پیدا کردن علت ایجاد خطا و بسته شدن برنامه اندروید (force close) می باشد. به محض اینکه برنامه اندروید هنگام اجرا با گوشی، با خطا مواجه شود، برنامه eclipse علت خطا را ردیابی کرده و فایل مربوط به آن را باز می کند. مثلا من عمدا پروزه اندرویدی را انتخاب کردم که دارای یک خطا است (منظورم خطایی نیست که در برنامه eclipse با رنگ قرمز نمایش و تذکر داده شود، بلکه خطایی است که هنگام نصب بر روی یک سری گوشی خاص، ایجاد می شود). بنابراین، با بسته شدن برنامه (force close) بر روی گوشی، برنامه eclipse ، فایل مربوط به ایجاد خطا و همچنین خطی از کدها که باعث ایجاد خطا می شود را به ما نشان می دهد (با باز کردن فایل و بر جسته کردن آن خط از کدها) :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

مشاهده می کنید که در پنجره ای با عنوان Debug ، نام فایل دارای خطا، برابر MainActivity.java مشخص شده است. علاوه بر این، در زیر این پنجره، خود فایل MainActivity.java به طور خودکار باز شده است و خطی از کدها که خطا را ایجاد کرده است را با برجسته کردن (سایه زدن) نمایش داده است. بنابراین به راحتی توانستیم این خطا را شناسایی کنیم (مثلا علت این خطا این است که این کد، تنها برای گوشی های دارای حداقل API برابر 11 به طور صحیح عمل می کند، ولی گوشی ما، دارای این حداقل نیست).

پس از یافتن خطا، می توانیم بر روی گزینه Java که قبلا در مورد آن توضیح دادیم، کلیک کنیم تا به حالت فعال در بیاید و دوباره همان پنجره های عادی برای کار بر روی پروژه اندروید را ببینیم.

در صورتی که دیگر نیازی به خطایابی (debug) ندارید، می توانید مشخصه debuggable در فایل AndroidManifest.xml را برابر false قرار بدهید.

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

همان طور که قبلا گفتم، ممکن است که گوشی شما، با اتصال به کامپیوتر (توسط کابل USB)، به راحتی شناسایی شود، اما اگر این اتفاق نیفتاده، اکنون باید ببینید که کدام پیش نیاز برای شناسایی گوشی را ندارید. بنابراین، در ادامه، چندین مرحله برای بررسی داشتن پیش نیاز ها (یا انجام عملیات هایی برای اطمینان خاطر) را شرح خواهیم داد. مراحل اول، دوم و سوم، برای عدم شناسایی گوشی می باشند و مرحله چهارم (فعال کردن گزینه خطایابی در گوشی اندروید - USB debugging) برای زمانی است که گوشی شناسایی شده اما حالت (State) آن به صورت offline نوشته شده است و برنامه بر روی گوشی، نصب نمی شود.

مرحله اول : چک کردن حداقل نسخه اندروید تعیین شده در پروژه اندروید (مشخصه minSdkVersion)

همان طور که قبلا گفتیم، زمانی که برنامه eclipse به دنبال گوشی های متصل به کامپیوتر، برای اجرا یا خطایابی یک پروژه اندروید می گردد، نسخه اندروید گوشی هایی را که به کامپیوتر متصل هستند چک می کند و اگر نسخه اندروید آنها، از حداقلی که در پروژه اندروید، مشخص شده است، کمتر باشد آنگاه دیگر گوشی را در لیست نمایش نخواهد داد. بنابراین باید نسخه اندروید گوشی را چک کنیم که از حداقل تعیین شده، کمتر نباشد (مخصوصا هنگام استفاده از گوشی های قدیمی). بنابراین اگر نسخه اندروید گوشی، کمتر از حداقل تعیین شده بود، می توانیم این مشخصه را در پروژه اندروید تغییر بدهیم. برای این منظور، فایل AndroidManifest.xml از پروژه اندروید را باز کرده و کدهای زیر را در آن پیدا می کنیم :


<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="18" />

باید عدد نوشته شده برای مشخصه minSdkVersion را تغییر بدهیم (انتخاب یک عدد کمتر - یک API با شماره کمتر).

علاوه بر این، ممکن است ارتقای نسخه اندروید گوشی نیز به ذهنتان برسد که بنده آن را توصیه نمی کنم، زیرا معمولا برنامه نویسان عمدا برنامه اندروید را بر روی گوشی های قدیمی نیز امتحان می کنند تا از صحیح عمل کردن آن در نسخه های اندروید مختلف، مطمئن شوند. البته ممکن است یک برنامه نویس، برنامه خود را برای گوشی های پیشرفته تر طراحی کرده باشد و گوشی های قدیمی برایش اهمیت نداشته باشند، که این مورد، استثناء خواهد بود.

مرحله دوم : دانلود بسته های نرم افزاری driver توسط برنامه Android SDK Manager

برنامه Android SDK Manager ، دارای یک سری بسته های نرم افزاری مرتبط با driver برای گوشی ها است. بد نیست که شما جدیدترین نسخه های آن را توسط خود برنامه Android SDK Manager دانلود کنید. دقت داشته باشید که برخی کاربرن از Android SDK Manager و eclipse استفاده می کنند و این دو را جداگانه نصب کرده اند، اما برخی بسته نرم افزاری ADT Bundle را نصب کرده اند، بنابراین کاربراتی که از ADT Bundle استفاده کرده اند، تنها باید در میان پوشه های آن، به دنبال فایل اصلی برنامه Android SDK Manager بگردند (فقط برای این تذکر دادم که بدانند خود برنامه Android SDK Manager نیز در بسته نرم افزاری ADT Bundle وجود دارد).

خوب همان طور که می دانید، گوگل ایرانیان را تحریم کرده است و اجازه دانلود بسته های نرم افزاری را به آنها نمی دهد، قبلا در مبحثی دیگر، راه حل این مورد را بیان کردیم، اما در این مبحث نیز دوباره آن را خواهیم گفت. راه حل، استفاده از برنامه ای است که در شکل زیر نمایش داده ایم (می توانید آن را از اینترنت دانلود کنید) :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)
نکته

با توجه به ارائه نسخه های جدیدتر از ((عاج فیل شکن)) معرفی شده در این مبحث، به جای خواندن چند پاراگراف بعدی از این بخش، کلید شماره 3502 را بخوانید.

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

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

در قسمت Bookmark ، یک نام دلخواه را می نویسیم (مثلا SDK) و سپس بر روی گزینه File Path کلیک می کنیم و سپس فایل اجرایی مربوط به برنامه Android SDK Manager را انتخاب می کنیم. با انتخاب آن، یک گزینه برای برنامه Android SDK Manager افزوده می شود :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

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

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

باید کمی صبر کنیم تا برنامه به سرور گوگل وصل شده و بسته های نرم افزاری را نمایش بدهد. همان طور که مشاهده می کنید، در قسمت Extras ، یک گزینه با نام Google USB Driver وجود دارد (همان بسته نرم افزاری مورد نظر ما). اگر در جلوی آن، عبارت Installed نوشته شده باشد، دیگر نیازی به انجام این مرحله نداریم و بسته نرم افزاری قبلا نصب شده است، اما اگر عبارت Not installed نوشته شده، باید در کنار آن، یک علامت تیک بزنیم، زیرا باید این بسته های نرم افزاری را دانلود و نصب کنیم. سپس بر روی گزینه مربوط به نصب (یعنی Install 1 Package) کلیک می کنیم. پنجره ای به شکل زیر نمایش داده می شود :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

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

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

بر روی گزینه Close کلیک می کنیم. بنابراین، این بار در پنجره برنامه Android SDK Manager ، در جلوی آن بسته نرم افزاری، عبارت Installed نوشته می شود :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

اکنون تمامی برنامه های مربوط به برنامه نویسی اندروید را بسته و دوباره از اول آنها را باز می کنیم تا ببینیم این بار گوشی تشخیص داده می شود یا خیر (اگر تشخیص داده نشد، باید مراحل بعد را در همین مبحث بخوانید).

مرحله سوم : دریافت driver گوشی از سایت شرکت سازنده گوشی

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

مثلا اینجانب با توجه به اینکه دو گوشی samsung دارم، به سایت شرکت samsung مراجعه کردم و یک نرم افزار با عنوان Kies را دانلود و بر روی کامپیوتر خود نصب کردم. بنابراین با اجرای این برنامه و سپس اتصال هر یک از گوشی ها به کامپیوتر (با کابل USB)، ابتدا در این برنامه چک کردم که driver گوشی به درستی نصب شده باشد. مثلا با اتصال گوشی به کامپیوتر، نرم افزار Kies ، اطلاعات کلی گوشی را نمایش می دهد :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

با دیدن نام گوشی و همچنین برخی مشخصات آن در این برنامه، اطمینان حاصل کردم که driver به درستی نصب شده است. شما نیز باید با توجه به مدل گوشی خود و همچنین شرکت سازنده آن، نرم افزار یا driver های مناسب برای آن را بیابید. همچنین بهتر است که هم نرم افزار مربوط به driver و هم برنامه eclipse به طور همزمان، در حال اجرا باشند (نه اینکه نرم افزار مربوط به driver را ببندید و بعد به سراغ برنامه eclipse بروید).

مرحله چهارم : فعال کردن گزینه خطایابی (USB debugging) در تنظیمات گوشی اندروید

مراحل قبل که گفتیم، برای زمانی بود که گوشی اندروید توسط برنامه eclipse شناسایی نشود، اما گاهی پیش می آید که گوشی اندروید توسط برنامه eclipse شناسایی می شود، اما حالت (State) آن، برابر offline نوشته شده است و ما نمی توانیم پروژه اندروید موجود در برنامه eclipse را در آن اجرا (run) یا خطایابی (debug) کنیم.

مثلا به شکل زیر دقت کنید :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

مشاهده می کنید که گوشی شناسایی شده است، اما حالت (State) آن برابر offline می باشد و بنابراین، نمی توان بر روی آن، از طریق برنامه eclipse ، یک پروژه اندروید را نصب کرد.

پس باید در تنظیمات گوشی اندروید بگردیم و گزینه ای با عنوان USB debugging را بیابیم و در کنار آن، علامت تیک بزنیم تا این امکان، فعال شود. نکته مهم در این مرحله، این است که این گزینه، در گوشی های اندروید مختلف، ممکن است در قسمت های متفاوتی از تنظیمات گوشی پیدا می شود (یا بهتر بگویم، به شیوه متفاوتی بتوانیم به آن دسترسی داشته باشیم). مثلا این گزینه، در یک گوشی، در قسمت Developer options قرار دارد و فرد به راحتی آن را می یابد، ولی من که یک گوشی Galaxy S4 دارم، وقتی می خواستم قسمت Developer options را در تنظیمات گوشی بیابم، هر چه گشتم، هیچ کجا نبود، بعد از مدتی جستجو در اینترنت، متوجه شدم که این گزینه، در این گوشی به صورت پنهان می باشد و باید در قسمتی از گوشی، چند بار کلیک کنم (دقیقا یادم نیست کدام بخش و چه تعداد کلیک) و بعد گزینه Developer options در تنظیمات نمایش داده می شود و بعد در آن، گزینه USB debugging را تیک زدم تا فعال شود :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

بنابراین وقتی گوشی را با کابل USB به کامپیوتر وصل می کنم (در حالی که برنامه eclipse را قبلا اجرا کرده ام)، از من می پرسد که آیا اجازه خطایابی (debugging) می دهید یا خیر :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

که با انتخاب گزینه OK ، آنگاه حالت (State) گوشی، به صورت online نمایش داده می شود :

اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)

بنابراین اکنون می توان از طریق برنامه eclipse ، پروژه های اندروید را بر روی آن نصب کرد.

  • فهرست مباحث
نویسنده علیرضا گلمکانی
شماره کلید 813
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 6 6 0
sami
۱۳۹۵/۰۵/۰۴
۲۳:۰۲

با سلام ممنون از مطلب خوبتون
سه مرحله اول برای شناسایی گوشی، رو چک کردم
mini sdk  برنامه برابر 8 و گوشیم برابر 19
google usb driver نصب شده
و گوشی سامسونگ من توسط نرم افزار kie  در ویندوز شناسایی شده
ولی در اکلیپس گوشی ظاهر نمیشه؟؟؟

sami
۱۳۹۵/۰۵/۰۵
۲۰:۵۸

مشکل حل شد، علت:درایور بود ...یعنی ظاهرا درایور نصب شده بود و گوشی شناخته میشد حتی با برنامه kie شناخته میشد ولی در اکلیپس نشون داده نمیشد
راه حل : درایور رو توسط برنامه kie -------> reinstall driver     کردم

Sonic
۱۳۹۵/۰۸/۱۲
۲۲:۰۰

 من درایو رو نصب کردم و چه گوشی (  sam s3 ) و چه تبلت رو میشناسه و تو لیست دیوایس میاد . ولی آفلاین و ناشناخته میزنه .... تیک  usb debug رو هم میزنم آنلاین نمیشه....

ممنون میشم راهنمایی کنید

admin
۱۳۹۵/۰۸/۱۴
۲۳:۲۲

سلام.
بعد از فعال کردن گزینه خطایابی در گوشی اندروید (USB debugging)، گوشی را restart کنید. همچنین هنگامی که گوشی را با کابل USB به کامپیوتر متصل می کنید، صفحه گوشی روشن بوده و در حالت قفل نیز نباشد.

zahra
۱۳۹۶/۰۴/۲۰
۰۱:۴۲

من وقتی پروزه ام رو که تو اندروید استودیو نوشتم تو گوشیم اجرا میکنم جای ابزاراش مثلا دکمه هاش بر عکس نشون داده میشه و دیزاین کلا به هم میخوره.چرا؟

مهسا گلی
۱۳۹۶/۰۴/۲۴
۱۷:۵۸

 سلام من kiss 3 رو نصب کردم شناسایی نمیکنه , برنامه switch smart رو نصب کردم شناسایی هم میکنه . تو اکلیپس وقتی run میزنم اصلا مدل گوشی رو نمیاره چه برسه به اینکه افلاین باشه. usb debugging رو هم فعال کردم ولی مدل گوشی رو نمیاره بالا.ولی وقتی گوشی galaxy j7 رو وصل میکنم بدون برنامه switch smart  هم تو اکلیپس شناسایی میکنه ولی گوشی c7 خودم رو شناسایی نمیکنه . چیکار کنم خواهش میکنم کمکم کنید.

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)