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

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

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

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

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

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

    • ChromeOS : بدون نیاز به پیکربندی اضافی.
    • macOS : بدون نیاز به پیکربندی اضافی.
    • Windows : یک درایور 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 کلیک کنید در Android Studio برای ساخت و اجرای برنامه خود در دستگاه.

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

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

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

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

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

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

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

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

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

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

  1. به بخش اشکال زدایی بی سیم در دستگاه خود بروید.
  2. روی نام ایستگاه کاری خود در قسمت «دستگاه‌های مرتبط» ضربه بزنید.
  3. فراموشی را انتخاب کنید.

آینه کاری دستگاه

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

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

در حال اجرا UI دستگاه ها

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

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

مسائل شناخته شده

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

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

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

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

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

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

عیب یابی با Connection Assistant

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

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

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

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

مشکلات اتصال USB را حل کنید

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. مراحل موجود در بخش Set up a device for development را دنبال کنید.
  2. اگر با این کار مشکل حل نشد، برای راهنمایی با پشتیبانی مشتری OEM دستگاه تماس بگیرید. به نماینده پشتیبانی مشتری بگویید که دستگاه با استفاده از ADB به Android Studio متصل نمی شود.

مشکلات اتصال بی سیم را حل کنید

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

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

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

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

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

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

کلید امنیتی RSA

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