سایت آموزشی codeinfarsi.org برای کاربران ایرانی تحریم شد
سایت آموزشی codeinfarsi.org hk دیگر در دسترس نیست و بهدلیل قرار گرفتن در سیاستهای تحریمی…
۲۷ شهریور ۱۴۰۳
۳ فروردین ۱۴۰۲
زمان مطالعه : ۸ دقیقه
تاریخ بهروزرسانی: ۲۸ اسفند ۱۴۰۱
Android Debug Bridge (اندروید ADB) یک ابزار خط فرمان جامع است که در سیستم اندروید تعبیه شده و به شما این امکان را میدهد که با یک دستگاه ارتباط برقرار کنید و اقدامات و دستورات مختلف دیگری را نیز با استفاده از آن انجام دهید. اقداماتی مانند نصب و رفع اشکال برنامهها، کپی کردن و جابهجایی فایلها، دسترسی به پوسته یونیکس برای اجرای دستورات، ربوت کردن دستگاه و غیره از جمله این امکانات است.
شما میتوانید از ADB برای تغییر تنظیمات برنامههای مرتبط با ADB، فعال کردن ویژگیهای قدرتمند و بهبود ویژگیهای کلی دستگاه استفاده کنید. د رادامه این مطلب به این موضوع میپردازیم که Android ADB (اندروید ADB) چیست و چهکاری انجام میدهد.
ADB یک برنامه client-server (گیرنده – فرستنده) در سیستم اندرویدی است که سه جزء اصلی Client ،adbd Daemon و server دارد که به صورتهای زیر تعریف میشود:
Client دستورات ADB را از طریق یک پوسته یا اسکریپت در دستگاه شما اجرا میکند. نقش آن ارسال دستورات به server است.
adbd Daemon به عنوان یک فرآیند پسزمینه در دستگاه شما اجرا میشود. هدف آن اتصال به سرور ADB از طریق USB یا TCP است. سرور ADB وقتی دستگاهی را با موفقیت به دیمون متصل میکند، آن را «حالت آنلاین» در نظر میگیرد.
سرور به عنوان یک فرآیند پسزمینه در دستگاه شما اجرا میشود و هدف آن این است که هنگام اتصال یا جدا کردن دستگاه، پورت USB را تشخیص دهد، فهرستی از دستگاههای متصل را ارائه و حالتهای مختلفی را به هر یک از آنها مانند «آنلاین»، «آفلاین»، «بوت لودر» و «بازیابی» اختصاص دهد.
هنگامی که دستور “adb” را ایجاد میکنید، Client (مشتری) ابتدا بررسی میکند که آیا سرور adb در حال اجراست یا خیر. اگر در حال اجرا نباشد، Server سعی میکند با دیمون ارتباط برقرار کند تا بتواند آنها را پیدا کند. پس از پیدا کردن آن، یک درخواست مجوز دسترسی را به دستگاه شما ارسال میکند تا پس از اجازه دسترسی از سوی شما، آن را به پورت TCP محلی متصل کند.
بسته کاربردی ADB قبلا در Android SDK Platform Tools ساخته و در Android Studio گنجانده شده است. اگر یک کاربر معمولی هستید یا بهتازگی با ADB آشنا شدهاید، نیازی به نصب IDE ندارید. به Android SDK Platform Tools بروید و لینک را برای سیستمعامل خود انتخاب کنید.
توصیه میکنیم برای بهروزرسانی خودکار ADB از یک package manager (مدیر بسته) استفاده کنید و Environment Variable یا متغیر محیطی (در ویندوز) و PATH (در مک) را برای آن تنظیم کنید. در این بخش شما را در مورد نحوه تنظیم و استفاده از Chocolatey در Windows و Homebrew در Mac برای مدیریت ADB راهنمایی میکنیم.
بخش تنظیمات اندروید را باز کنید و به قسمت About Phone (درباره تلفن) بروید و وارد بخش software information شوید. به پایین صفحه بروید و هفت بار روی Build Number ضربه بزنید. پیامی با این مضمون «you’re now a developer» دریافت خواهید کرد. به بخش Settings و سپس System برگردید، سپس روی Advanced ضربه بزنید تا Developer Options نمایان شود. در اینجا USB Debugging را فعال کنید. USB Debugging به دستگاه شما امکان میدهد با رایانهای که Android SDK را اجرا میکند ارتباط برقرار کند.
وارد بخش File Explorer شوید و به مکانی که فایل ZIP را در آن ذخیره کردهاید بروید. راستکلیک کنید و محتویات فایل فشرده موجود را در C:\platform-tools استخراج کنید. دستگاه خود را به رایانه شخصی وصل کنید و حالت USB را به حالت «انتقال فایل» تغییر دهید. برخی از OEMها ممکن است به این نیاز داشته باشند یا نداشته باشند، پس بهتر است برای سازگاری بهتر آن را در این حالت رها کنید.
کلید Shift را انتخاب کنید و نگه دارید و روی پوشه platform-tools که حاوی بسته ADB است کلیک راست کنید تا یک پنجره جدید باز شود، در آنجا Open PowerShell window را انتخاب کنید. سپس متن: adb devices/. را در قسمت بازشده تایپ کنید.
در ادامه پیامی با مضمون «Allow USB Debugging» را در تلفن خود مشاهده خواهید کرد. گزینه Always allow from this computer را علامت بزنید و روی OK کلیک کنید. دوباره دستور adb devices/. را وارد کنید، در صورتی که همه مراحل موفقیتآمیز باشد، شمارهسریال دستگاه خود را خواهید دید.
در بخش تنظیمات دستگاه مک خود، گزینه Finder را باز کنید و فایل فشرده را در مکان دلخواه خود دسکتاپ یا بخش دانلود قرار دهید. دستگاه خود را به مک وصل کنید و حالت USB را به انتقال فایل تغییر دهید. Terminal را باز کنید و آدرس پوشهای را که platform-tools قرار دارد به صورت cd /Users/[UserName]/Downloads/platform-tools تایپ کنید. سپس متن adb devices را در بخش مشخصشده تایپ کنید.
در دستگاه خود، اعلان «Allow USB Debugging» را بپذیرید و روی تائید ضربه بزنید تا همیشه اجازه اتصال به شما داده شود. دوباره دستور adb device را وارد کنید تا شمارهسریال دستگاه خود را ببینید.
راهاندازی ADB از طریق USB به یک روش پیچیده نیاز دارد و همچنین استفاده از این روش معایبی نیز دارد. اول اینکه تعداد دستگاههایی که میتوانید وصل کنید، به پورتهای موجود بستگی دارد. دوم اینکه ممکن است مشکلی با سازگاری درایور دستگاه وجود داشته باشد.
هنگام تنظیم ADB از طریق Wi-Fi میتوانید این عوارض را حذف کنید. این روش با استفاده از دستورات tcpip و connect در ADB برای کمک به استفاده از دستگاه به صورت بیسیم امکانپذیر است. اما برای اجرای این دستورات، دستگاه شما باید از طریق USB به دستگاههای دیگر وصل شود.
اگر از Android 11 و نسخههای بالاتر استفاده میکنید، میتوانید از رفع اشکال بیسیم برای جفت کردن دستگاه خود با رایانه استفاده کنید. این روش از دستور جدیدی به نام pair استفاده میکند و شبیه به جفت شدن بلوتوث عمل میکند. در این روش به بخش Settings بروید و روی گزینه Developer Options کلیک کنید و در آنجا وارد صفحه Enable Wireless Debugging شوید. دستگاهها را از طریق وارد کردن کد جفت شدن، جفت کنید. لطفا هنگام وارد کردن کدی که باید جفت شود، به کد، آدرس IP و شماره پورت توجه کنید.
پس از انجام مراحل بالا عبارت adb pair ipaddr:port را وارد کنید. آدرسIP را در قسمت ipaddr و شماره پورت را در قسمت port جایگذاری کنید. وقتی از شما خواسته شد، کد جفتسازی را که قبلا دریافت کرده بودید وارد کنید. اگر همه چیز با موفقیت انجام شود، پیامی مبنی بر جفتشدن دستگاهتان مشاهده خواهید کرد.
ADB کارهای زیادی انجام میدهد که در بیشتر موارد برای کاربران عادی و برای کاربرانی که حوزه فعالیتشان با این امور و تجهیزات مرتبط است مفید است. در اینجا لیستی از دستورات ADB وجود دارد که ممکن است برای شما مفید باشد.
۱- adb devices: نشان میدهد کدام دستگاههای پشتیبانیشده ADB به رایانه شما متصل است.
۲- adb reboot: گوشی شما را مجددا راهاندازی میکند.
۳- adb install “path_to_apk: به وسیله این فرمت میتوانید یک برنامه را نصب کنید.
۴- adb pull “Remote local: میتوانید یک فایل و زیرشاخههای آن را از دستگاه کپی کنید. مسیرهای دسترسی به فایل/دایرکتوری مورد نظر را در دستگاه خود و روی دستگاه اصلی جایگزین کنید.
۵- adb push “local remote: این امکان را به شما میدهد تا یک فایل و زیرشاخههای آن را در دستگاه کپی کنید.
۶- adb kill-server: میتوانید فرآیند سرور adb را خاتمه داده و مجددا راهاندازی کنید.
۷- adb fastboot: حالت راهاندازی مجدد سریع را فعال میکند.
۸- adb help: راهنمای دستورات ADB را نمایش میدهد.
۹- adb uninstall package name: میتوانید در آن یک برنامه را حذف یا نصب کنید.
برای دریافت این لیست کافی است دستور adb she11 pm list packages را وارد کنید. همچنین برای نمایش فقط بستههای غیرفعالشده حرف d- ، -e را برای نمایش فقط بستههای فعال و s- را برای نمایش فقط بستههای سیستم در انتهای دستور گفتهشده تایپ کنید.
برای این کار دستور adb she11 pm uninstall -k –user 0 <package name را وارد کنید. با این دستور میتوانید برنامههای از پیش نصبشده را بدون روت کردن دستگاه خود حذف کنید. نام بسته به نام فایل «apk.» اشاره دارد، برای پیدا کردن نام بسته میتوانید از یک برنامه رایگان به نام App Inspector استفاده کنید.
اجزای یک برنامه چیزهایی مانند فعالیتها، خدمات و موارد دیگر هستند. با وارد کردن دستور adb she11 dumpsys package <<package name میتوانید فعالیتهای مخفی را راهاندازی کنید یا یک پخش با دادههای خاص ارسال کنید. در صفحه بازشده فهرست فعالیتها را در بخش Activity Resolver Table و فهرست خدمات را در بخش Service Resolver Table ببینید.
برنامههای ADB را به طور خاص میتوانید برای فعال کردن ویژگیهای قدرتمند امتحان کنید. در ابتدا روند راهاندازی پیچیده به نظر میرسد اما زمانی که شروع کردید متوجه خواهید شد که اصلا سخت نیست. باید مراحل را به ترتیب دنبال کنید و هرگونه خطا را یادداشت کنید. اکنون با توجه به توضیحات بالا در مورد دستورات اندروید ADB میدانید، این برنامهها را امتحان کنید و ADB دستگاه خود را پیکربندی کنید تا کنترل بیشتری بر دستگاه اندروید خود داشته باشید.