ADB و تست برنامه‌های اندروید

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

توسعه‌دهندگان باید تأکید کنند که برنامه‌های خود را روی فرم‌فکتورهای مختلف تأیید کنند، زیرا این امر به بهبود تجربه کاربران کمک می‌کند. به همین دلیل است که ChromeOS ابزارهایی را برای توسعه‌دهندگان اندروید فراهم می‌کند تا برنامه‌های خود را روی کروم‌بوک‌ها مستقر و آزمایش کنند.

چه توسعه‌دهندگان برنامه اندروید خود را مستقیماً از ChromeOS (با استفاده از Android Studio در Chromebook شما) و چه از دستگاه دیگری مستقر کنند، می‌توانند از ADB برای استقرار برنامه‌های خود و اشکال‌زدایی تعاملات مختلف با Chromebooks استفاده کنند. برای جزئیات بیشتر، مراحل زیر را بررسی کنید.

اشکال زدایی ADB را فعال کنید

پیش از این، استفاده از ADB در کروم‌بوک فقط در حالت توسعه‌دهنده امکان‌پذیر بود که نیاز به پاورواشینگ (تنظیم مجدد) دستگاه داشت و می‌توانست امنیت را کاهش دهد. خوشبختانه از زمان کروم ۸۱، توسعه‌دهندگان می‌توانند دستگاه‌های خود را از حالت توسعه‌دهنده خارج نگه دارند و همچنان برنامه‌هایی را که توسعه می‌دهند، مستقیماً در ChromeOS، با یک سوئیچ، مستقر کنند. نحوه‌ی انجام این کار به این صورت است:

ابتدا مطمئن شوید که کروم‌بوک در حالت توسعه‌دهنده نیست. سپس به تنظیمات بروید و لینوکس را فعال کنید (اگر قبلاً این کار را نکرده‌اید).

روشن کردن لینوکس

وقتی لینوکس در دسترس قرار گرفت، تنظیمات لینوکس را باز کنید. گزینه جدیدی به نام «توسعه برنامه‌های اندروید» (Develop Android apps) پیدا خواهید کرد، آن گزینه را باز کنید.

اشکال‌زدایی ADB را فعال کنید و کامپیوتر مجدداً راه‌اندازی می‌شود.

اشکال‌زدایی ADB را فعال کنید

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

این دستگاه ممکن است حاوی برنامه‌هایی باشد که توسط گوگل تأیید نشده‌اند

اکنون ADB برای استقرار برنامه‌ها در Chromebook شما، اجرای دستورات اشکال‌زدایی و تعامل مستقیم با دستگاه در دسترس است.

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

  • کروم‌بوک مبتنی بر ARM
  • کروم‌بوک مبتنی بر x86
  • یک دستگاه با صفحه لمسی و یک دستگاه بدون صفحه لمسی
  • دستگاهی قابل تبدیل؛ یعنی دستگاهی که می‌تواند بین لپ‌تاپ و تبلت تغییر حالت دهد
  • دستگاهی با قلم

استقرار از ChromeOS

پس از فعال کردن اشکال‌زدایی ADB، می‌توانید یک برنامه اندروید را مستقیماً با استفاده از اندروید استودیو روی دستگاه ChromeOS خود بارگذاری کنید یا اگر فایل APK دارید، می‌توانید آن را با استفاده از ترمینال بارگذاری کنید.

استقرار با اندروید استودیو

بعد از اینکه اندروید استودیو و ADB را همانطور که در بالا توضیح داده شد، راه‌اندازی کردید، می‌توانید برنامه‌های خود را مستقیماً از اندروید استودیو به محفظه اندروید کروم‌بوک منتقل کنید.

کروم‌بوک به عنوان یک گزینه در منوی کشویی دستگاه‌ها ظاهر می‌شود:

منوی کشویی دستگاه‌های اندروید استودیو

حالا می‌توانید برنامه‌تان را مانند هر دستگاه اندرویدی دیگری ارسال کنید! اولین باری که سعی می‌کنید برنامه را به یک دستگاه جدید ارسال کنید، پنجره مجوز ADB ظاهر می‌شود. پس از تأیید، برنامه شما در یک پنجره جدید اجرا می‌شود.

اتصال به دستگاه از طریق ADB در اندروید استودیو

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

استقرار با ترمینال

در صورت لزوم ADB را نصب کنید:

sudo apt install adb

اتصال به دستگاه:

adb connect arc

اولین باری که سعی می‌کنید دستگاه را دیباگ کنید، یک پنجره‌ی مجوز برای اشکال‌زدایی USB ظاهر می‌شود و باید آن را مجاز کنید.

مجوز اتصال به دستگاه

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

adb install [path to your APK]

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

از دستگاه دیگری مستقر شوید

اگر نمی‌توانید از روش توضیح داده شده در بالا استفاده کنید و نیاز دارید برنامه خود را از دستگاه دیگری ارسال کنید، می‌توانید دستگاه را با استفاده از USB یا آدرس شبکه به ADB متصل کنید.

اتصال به ADB از طریق شبکه

  1. مطمئن شوید که اشکال‌زدایی ADB را فعال کرده‌اید.

آدرس IP کروم‌بوک خود را دریافت کنید:

  1. روی ساعت در قسمت پایین سمت راست صفحه کلیک کنید.

  2. روی آیکون چرخ دنده کلیک کنید.

  3. روی نوع شبکه‌ای که به آن متصل هستید (وای‌فای یا اینترنت همراه) و سپس نام شبکه کلیک کنید.

  4. به آدرس IP توجه کنید.

به کروم‌بوک خود متصل شوید:

  1. به دستگاه توسعه خود برگردید و با استفاده از آدرس IP آن، از ADB برای اتصال به Chromebook خود استفاده کنید:

    adb connect 
  2. در کروم‌بوک خود، وقتی از شما پرسیده شد که آیا می‌خواهید به دیباگر اجازه دهید یا خیر، روی «اجازه دادن» کلیک کنید. جلسه ADB شما برقرار شده است.

عیب‌یابی اشکال‌زدایی ADB از طریق شبکه

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

  1. اشکال‌زدایی ADB را در گزینه‌های توسعه‌دهندگان غیرفعال کنید.
  2. در یک پنجره ترمینال، adb kill-server اجرا کنید.
  3. گزینه اشکال زدایی ADB را دوباره فعال کنید.
  4. در یک پنجره ترمینال، سعی کنید adb connect اجرا کنید.
  5. وقتی از شما پرسیده شد که آیا می‌خواهید اشکال‌زدایی را مجاز کنید، روی «اجازه دادن » کلیک کنید. جلسه ADB شما برقرار شده است.

اتصال به ADB از طریق USB

برای ارسال فایل APK خود از دستگاه دیگر به کروم‌بوک از طریق USB، باید ChromeOS خود را در حالت توسعه‌دهنده راه‌اندازی کنید تا بتوانید کروم‌بوک را پیکربندی کرده و برنامه‌ها را از دستگاه میزبان ارسال کنید. این تنها روشی است که در حال حاضر به حالت توسعه‌دهنده نیاز دارد و فقط روی تعداد کمی از دستگاه‌ها کار می‌کند . به همین دلیل، توصیه می‌شود به جای آن از ADB از طریق شبکه استفاده کنید . اگر هنوز مایل به ادامه هستید، برای ورود به حالت توسعه‌دهنده ، این مراحل را دنبال کنید.

  1. مطمئن شوید که اشکال‌زدایی ADB را فعال کرده‌اید.
  2. مشخص کنید که آیا دستگاه شما از اشکال‌زدایی USB پشتیبانی می‌کند یا خیر
  3. برای شروع ترمینال ChromeOS، control + alt + t را فشار دهید.
  4. برای دسترسی به پوسته فرمان bash، shell تایپ کنید:
    crosh> shell
    chronos@localhost / $
  5. برای تنظیم دستگاه خود، دستورات زیر را تایپ کنید:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. پس از راه‌اندازی مجدد، دوباره ترمینال را باز کنید و دستور زیر را برای فعال کردن ADB روی پورت USB کروم‌بوک اجرا کنید:
    $ sudo ectool usbpd  dr_swap

هر بار که کابل USB را جدا و دوباره وصل می‌کنید، از این دستور استفاده کنید. برای اطمینان از اینکه Chromebook شما در حالت UFP است، می‌توانید ectool usbpd اجرا کنید. ectool usbpd .

  1. کابل USB را به پورت پشتیبانی شده در دستگاه خود وصل کنید
  2. adb devices از ابزارهای پلتفرم Android SDK روی دستگاه میزبان خود اجرا کنید تا Chromebook شما به عنوان یک دستگاه پشتیبانی شده توسط ADB فهرست شود.
  3. در کروم‌بوک خود، وقتی از شما پرسیده شد که آیا می‌خواهید به دیباگر اجازه دهید یا خیر، روی «اجازه دادن» کلیک کنید. جلسه ADB شما برقرار شده است.