برنامه ها را روی دستگاه سخت افزاری اجرا کنید

همیشه قبل از انتشار برنامه اندروید خود برای کاربران، آن را روی یک دستگاه واقعی آزمایش کنید. این صفحه نحوه تنظیم محیط توسعه و دستگاه اندروید شما را برای آزمایش و اشکال‌زدایی از طریق اتصال Android Debug Bridge (ADB) شرح می‌دهد.

دستگاهی را برای توسعه تنظیم کنید

قبل از اینکه بتوانید اشکال‌زدایی را روی دستگاه خود شروع کنید، تصمیم بگیرید که آیا می‌خواهید با استفاده از کابل USB یا Wi-Fi به دستگاه متصل شوید. سپس موارد زیر را انجام دهید:

  1. در دستگاه، برنامه تنظیمات (Settings) را باز کنید، گزینه‌های توسعه‌دهندگان (Developer options) را انتخاب کنید و سپس اشکال‌زدایی USB را (در صورت وجود) فعال کنید.

  2. سیستم خود را طوری تنظیم کنید که دستگاه شما را شناسایی کند.

    • سیستم عامل کروم : هیچ پیکربندی اضافی لازم نیست.
    • macOS : هیچ پیکربندی اضافی لازم نیست.
    • ویندوز : در صورت وجود، درایور USB را برای ADB نصب کنید. برای راهنمای نصب و لینک‌های مربوط به درایورهای OEM، به «نصب درایورهای USB OEM» مراجعه کنید.
    • لینوکس اوبونتو : موارد زیر را تنظیم کنید:

      • هر کاربری که می‌خواهد از ADB استفاده کند، باید در گروه plugdev باشد. اگر پیام خطایی مبنی بر عدم عضویت در گروه plugdev مشاهده کردید، با استفاده از دستور زیر خود را به آن اضافه کنید:
      sudo usermod -aG plugdev $LOGNAME
      

      گروه‌ها فقط هنگام ورود به سیستم به‌روزرسانی می‌شوند، بنابراین برای اعمال این تغییر باید از سیستم خارج شوید. وقتی دوباره وارد سیستم شدید، می‌توانید با استفاده id بررسی کنید که در گروه plugdev هستید.

      • سیستم باید قوانین udev را که دستگاه را پوشش می‌دهد، نصب کرده باشد. بسته android-sdk-platform-tools-common شامل مجموعه‌ای پیش‌فرض از قوانین udev برای دستگاه‌های اندروید است که توسط جامعه توسعه‌دهندگان نگهداری می‌شود. برای نصب آن، از دستور زیر استفاده کنید:
      apt-get install android-sdk-platform-tools-common
      

با استفاده از USB به دستگاه خود متصل شوید

وقتی تنظیمات را انجام دادید و از طریق USB وصل شدید، روی Run کلیک کنید. در اندروید استودیو برای ساخت و اجرای برنامه خود روی دستگاه.

همچنین می‌توانید adb برای صدور دستورات به شرح زیر استفاده کنید:

  • با اجرای دستور adb devices از دایرکتوری android_sdk /platform-tools/ ، از اتصال دستگاه خود اطمینان حاصل کنید. در صورت اتصال، دستگاه در فهرست نمایش داده خواهد شد.
  • هر دستور adb را با پرچم -d برای هدف قرار دادن دستگاه خود صادر کنید.

با استفاده از وای‌فای به دستگاه خود متصل شوید

اندروید ۱۱ و بالاتر از طریق Android Debug Bridge (ADB) از استقرار و اشکال‌زدایی برنامه شما به صورت بی‌سیم از ایستگاه کاری شما پشتیبانی می‌کند. به عنوان مثال، می‌توانید برنامه اشکال‌زدایی شده خود را بدون اتصال فیزیکی دستگاه خود از طریق USB و مواجهه با مشکلات رایج اتصال USB، مانند نصب درایور، در چندین دستگاه از راه دور مستقر کنید.

برای استفاده از اشکال‌زدایی بی‌سیم، باید دستگاه خود را با استفاده از یک کد جفت‌سازی به ایستگاه کاری خود جفت کنید. برای شروع، مراحل زیر را انجام دهید:

  1. مطمئن شوید که ایستگاه کاری و دستگاه شما به یک شبکه بی‌سیم متصل هستند.
  2. مطمئن شوید که دستگاه شما اندروید ۱۱ یا بالاتر را اجرا می‌کند. برای اطلاعات بیشتر، به بررسی و به‌روزرسانی نسخه اندروید خود مراجعه کنید.
  3. مطمئن شوید که آخرین نسخه اندروید استودیو را نصب کرده‌اید. آن را از اینجا دانلود کنید .
  4. در ایستگاه کاری خود، آخرین نسخه SDK Platform Tools را به‌روزرسانی کنید.

برای اتصال به دستگاه خود، این مراحل را دنبال کنید:

  1. اندروید استودیو را باز کنید و از منوی تنظیمات اجرا، گزینه Pair Devices Using Wi-Fi را انتخاب کنید.
    منوی کشویی تنظیمات را اجرا کنید
    شکل ۱. منوی تنظیمات را اجرا کنید.

    همانطور که در شکل 2 نشان داده شده است، کادر محاوره‌ای جفت‌سازی دستگاه‌ها از طریق وای‌فای ظاهر می‌شود.
    تصویر صفحه نمایش دستگاه‌های جفت‌شده از طریق پنجره بازشو Wi-Fi
    شکل ۲. پنجره‌ی محاوره‌ای برای جفت‌سازی دستگاه‌ها با استفاده از کد QR یا کد جفت‌سازی
  2. گزینه‌های توسعه‌دهنده را در دستگاه خود فعال کنید.
  3. اشکال‌زدایی از طریق وای‌فای را در دستگاه خود فعال کنید.
    تصویر صفحه نمایش یک تلفن پیکسل که تنظیمات سیستم‌های اشکال‌زدایی بی‌سیم را نشان می‌دهد.
    شکل ۳. تنظیمات اشکال‌زدایی بی‌سیم در گوشی گوگل پیکسل.
  4. روی اشکال‌زدایی بی‌سیم ضربه بزنید و دستگاه خود را جفت کنید:
    1. برای جفت کردن دستگاه خود با کد QR، گزینه جفت کردن دستگاه با کد QR را انتخاب کرده و کد QR نشان داده شده در شکل 2 را اسکن کنید.
    2. برای جفت کردن دستگاه خود با کد جفت‌سازی، از کادر محاوره‌ای جفت کردن دستگاه‌های جدید از طریق وای‌فای ، گزینه جفت کردن دستگاه با کد جفت‌سازی را انتخاب کنید. در دستگاه خود، گزینه جفت کردن با استفاده از کد جفت‌سازی را انتخاب کنید. یک کد شش رقمی ظاهر می‌شود. پس از نمایش دستگاه شما در پنجره جفت کردن دستگاه‌ها از طریق وای‌فای ، کد شش رقمی نشان داده شده در دستگاه خود را وارد کرده و جفت‌سازی را انتخاب کنید.
      تصویر نمونه‌ای از وارد کردن کد جفت‌سازی
      شکل ۴. نمونه‌ای از وارد کردن کد جفت‌سازی شش رقمی.
  5. پس از جفت شدن، می‌توانید برنامه خود را روی دستگاه خود مستقر کنید.

برای جفت کردن یک دستگاه دیگر یا فراموش کردن این دستگاه در ایستگاه کاری خود:

  1. به بخش اشکال‌زدایی بی‌سیم (Wireless debugging) در دستگاه خود بروید.
  2. روی نام ایستگاه کاری خود در زیر دستگاه‌های جفت‌شده (Paired devices) ضربه بزنید.
  3. فراموش کردن را انتخاب کنید.

آینه‌سازی دستگاه

شما می‌توانید دستگاه فیزیکی خود را در پنجره Running Devices در اندروید استودیو منعکس کنید. با پخش مستقیم صفحه نمایش دستگاه خود به اندروید استودیو، می‌توانید از خود Studio IDE برای اجرای اقدامات رایج مانند اجرای برنامه‌ها و تعامل با آنها، چرخاندن صفحه نمایش، تا کردن و باز کردن گوشی و تغییر صدا استفاده کنید.

زمانی که دستگاه‌هایی به کامپیوتر متصل هستند که اشکال‌زدایی USB یا بی‌سیم در آن‌ها فعال است، آینه‌سازی دستگاه همیشه در دسترس است. می‌توانید با استفاده از پنجره Running Devices یا Device Manager ( View > Tool Windows > Device Manager ) آینه‌سازی را شروع و متوقف کنید. همچنین می‌توانید زمان فعال‌سازی آینه‌سازی دستگاه را در تنظیمات آن ( Settings > Tools > Device Mirroring ) تنظیم کنید.

رابط کاربری دستگاه‌های در حال اجرا

تغییر مسیر صدا

وقتی از قابلیت «بازتاب دستگاه» استفاده می‌کنید، می‌توانید صدا را از دستگاه‌های فیزیکی متصل به بلندگوها یا هدفون‌های رایانه خود هدایت کنید. با «بازتاب صدا»، هدفون‌های خود را به رایانه متصل نگه دارید و بدون نیاز به اتصال مجدد دستی به یک دستگاه و سپس دستگاه دیگر، به صدای رایانه و تلفن متصل گوش دهید. برای فعال کردن «بازتاب صدا»، به مسیر File ( Android Studio در macOS) > Settings > Tools > Device Mirroring بروید و «بازتاب صدا از دستگاه‌های محلی» (Redirect audio from local devices) را انتخاب کنید. توجه داشته باشید که صدا، صرف نظر از تنظیمات، برای دستگاه‌های Firebase Test Lab که اندروید ۱۲ یا بالاتر را اجرا می‌کنند، همیشه هدایت می‌شود.

مشکلات شناخته شده

ممکن است برخی از دستگاه‌ها قادر به رمزگذاری با نرخ بیت کافی برای پشتیبانی از آینه‌سازی دستگاه نباشند. در این شرایط، ممکن است در پنجره دستگاه‌های در حال اجرا خطایی و همچنین گزارش‌هایی مشابه موارد زیر مشاهده کنید.

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

اطلاعیه حریم خصوصی

بر اساس تنظیمات آینه‌سازی دستگاه، اندروید استودیو می‌تواند به طور خودکار آینه‌سازی دستگاه را برای هر دستگاه متصل و جفت‌شده شروع کند. این ممکن است منجر به افشای اطلاعات برای دستگاه‌های متصل با دستور adb tcpip شود زیرا اطلاعات و دستورات آینه‌سازی از طریق یک کانال رمزگذاری نشده منتقل می‌شوند. علاوه بر این، اندروید استودیو از یک کانال رمزگذاری نشده برای ارتباط با سرور adb استفاده می‌کند، بنابراین اطلاعات آینه‌سازی می‌تواند توسط سایر کاربران در دستگاه میزبان شما رهگیری شود.

عیب‌یابی اتصال دستگاه

اگر دستگاه شما به اندروید استودیو متصل نمی‌شود، مراحل زیر را برای حل مشکل امتحان کنید:

عیب‌یابی با دستیار اتصال

دستیار اتصال (Connection Assistant) دستورالعمل‌های گام به گامی را برای کمک به شما در راه‌اندازی و استفاده از دستگاه از طریق اتصال ADB ارائه می‌دهد.

برای شروع دستیار، ابزارها > عیب‌یابی اتصالات دستگاه را انتخاب کنید.

دستیار اتصال، دستورالعمل‌ها، کنترل‌های درون متنی و فهرستی از دستگاه‌های متصل را در مجموعه‌ای از صفحات در پنل دستیار ارائه می‌دهد. در صورت نیاز، از دکمه‌های بعدی و قبلی در پایین پنل دستیار برای کار با صفحات استفاده کنید:

  • دستگاه خود را از طریق USB متصل کنید : دستیار اتصال ابتدا از شما می‌خواهد که دستگاه خود را از طریق USB متصل کنید و دکمه Rescan USB devices را ارائه می‌دهد که در آن می‌توانید اسکن جدیدی را برای دستگاه‌های متصل شروع کنید.
  • فعال کردن اشکال‌زدایی USB : سپس دستیار اتصال به شما می‌گوید که چگونه اشکال‌زدایی USB را در گزینه‌های توسعه‌دهنده روی دستگاه فعال کنید.
  • سرور ADB را مجدداً راه‌اندازی کنید : اگر هنوز دستگاه خود را در لیست دستگاه‌های موجود نمی‌بینید، از دکمه راه‌اندازی مجدد سرور ADB در آخرین صفحه Connection Assistant استفاده کنید. راه‌اندازی مجدد سرور ADB همچنین باعث می‌شود ADB دوباره دستگاه‌ها را اسکن کند. اگر هنوز دستگاه خود را در لیست دستگاه‌های موجود نمی‌بینید، مراحل عیب‌یابی را در بخش زیر امتحان کنید.

حل مشکلات اتصال USB

اگر Connection Assistant دستگاه شما را از طریق USB شناسایی نکرد، مراحل عیب‌یابی زیر را برای حل مشکل امتحان کنید:

بررسی کنید که اندروید استودیو به شبیه‌ساز اندروید متصل می‌شود یا خیر

برای بررسی اینکه آیا مشکل به دلیل مشکل اتصال بین اندروید استودیو و شبیه‌ساز اندروید ایجاد شده است، این مراحل را دنبال کنید:

  1. مدیر دستگاه را باز کنید.
  2. اگر از قبل AVD ندارید ، یک AVD جدید ایجاد کنید .
  3. شبیه‌ساز را با استفاده از AVD خود اجرا کنید .
  4. یکی از موارد زیر را انجام دهید:
    • اگر اندروید استودیو نمی‌تواند به شبیه‌ساز متصل شود، آخرین نسخه SDK Platform Tools را دانلود کنید و دوباره امتحان کنید.
    • اگر شبیه‌ساز با موفقیت شروع به کار کرد، کابل USB را همانطور که در بخش زیر توضیح داده شده است، بررسی کنید.

کابل USB را بررسی کنید

برای بررسی اینکه آیا مشکل ناشی از کابل USB معیوب است، مراحل این بخش را دنبال کنید.

اگر کابل USB دیگری دارید:

  1. دستگاه را با استفاده از کابل ثانویه متصل کنید.
  2. بررسی کنید که آیا دستیار اتصال اکنون می‌تواند دستگاه را شناسایی کند یا خیر.
  3. اگر دستگاه شناسایی نشد، دوباره کابل اصلی را امتحان کنید.
  4. اگر دستگاه هنوز شناسایی نشده است، فرض کنید که مشکل از دستگاه است و بررسی کنید که آیا دستگاه مطابق آنچه در بخش بعدی توضیح داده شده است، برای توسعه تنظیم شده است یا خیر .

اگر کابل USB دیگری ندارید اما دستگاه اندروید دیگری دارید:

  1. دستگاه ثانویه را به رایانه خود وصل کنید.
  2. اگر دستیار اتصال بتواند دستگاه ثانویه را تشخیص دهد، فرض کنید که مشکل از دستگاه اصلی است و بررسی کنید که آیا دستگاه برای توسعه تنظیم شده است یا خیر .

    اگر دستگاه ثانویه شناسایی نشد، ممکن است مشکل از کابل USB باشد.

بررسی کنید که آیا دستگاه برای توسعه تنظیم شده است یا خیر

برای بررسی اینکه آیا مشکل ناشی از تنظیمات دستگاه است، این مراحل را دنبال کنید:

  1. مراحل موجود در بخش «راه‌اندازی دستگاه برای توسعه» را دنبال کنید.
  2. اگر این مشکل را حل نکرد، برای کمک با پشتیبانی مشتری سازنده دستگاه (OEM) تماس بگیرید. به نماینده پشتیبانی مشتری بگویید که دستگاه با استفاده از ADB به اندروید استودیو متصل نمی‌شود.

حل مشکلات اتصال بی‌سیم

اگر در اتصال بی‌سیم به دستگاه خود مشکل دارید، می‌توانید مراحل عیب‌یابی زیر را برای حل مشکل امتحان کنید:

بررسی کنید که آیا ایستگاه کاری و دستگاه شما پیش‌نیازها را برآورده می‌کنند یا خیر

برای برآورده کردن پیش‌نیازهای اشکال‌زدایی بی‌سیم، اطمینان حاصل کنید که:

سایر مشکلات شناخته شده را بررسی کنید

در زیر لیستی از مشکلات شناخته شده فعلی در مورد اشکال زدایی بی سیم در اندروید استودیو و نحوه حل آنها آمده است:

  • وای‌فای متصل نمی‌شود : برخی از شبکه‌های وای‌فای، مانند شبکه‌های وای‌فای شرکتی، ممکن است اتصالات p2p را مسدود کنند و به شما اجازه اتصال از طریق وای‌فای را ندهند. سعی کنید با کابل یا شبکه وای‌فای دیگری متصل شوید.
  • گاهی اوقات ADB از طریق Wi-Fi به طور خودکار خاموش می‌شود : این اتفاق زمانی می‌افتد که دستگاه به شبکه‌های Wi-Fi سوئیچ کند یا از شبکه جدا شود.

کلید امنیتی RSA

وقتی دستگاهی با اندروید ۴.۲.۲ (سطح API ۱۷) یا بالاتر را به رایانه خود متصل می‌کنید، سیستم یک کادر محاوره‌ای نشان می‌دهد که از شما می‌پرسد آیا کلید RSA را که امکان اشکال‌زدایی از طریق این رایانه را فراهم می‌کند، بپذیرید یا خیر. این مکانیزم امنیتی از دستگاه‌های کاربر محافظت می‌کند زیرا اشکال‌زدایی USB و سایر دستورات adb تا زمانی که نتوانید قفل دستگاه را باز کنید و کادر محاوره‌ای را تأیید کنید، قابل اجرا نیستند.