آموزش استفاده از Android Debug Bridge (adb)

Android Debug Bridge (adb)ابزار ADB چیست؟یه ابزار خط فرمان که این امکان بهمون میده به گوشی اندرویدی خودمون وصل بشیم و اعمالی مثل نصب حذف و اشکل زدایی برنامه و دسترسی به پوشته یونیکس و ... میده که اینجا میخوایم درموردشون حرف بزنیمپیش نیاز ها چی هستن؟1- ابزار adb داخل Android SDK Platform-Tools هست پس باید نصب کرده باشید میتونید با SDK Manager نصبش کنید یا اگه جدا میخواید دانلودش کنید اینجا کلیک کنید2- حالت USB Debugging mode تویه گوشیتون باید فعال کرده باشید با یه سرچ ساده تویه یوتیوب یا گوگل میتونید راحت چطور فعال کردنش رو پیدا کنید اینجا من خلاصه میگم به مسیر زیر بریدSettings > About Phone > Build number > حدود ۱۵ بار رویه شماره ساخت کلیک کنید ; Settings > Developer Options > USB Debugging).3- یه کابل که گوشی به لپ تاپ وصل کنید4-پکیج زیر اگه لینوکسید نصب کنیدsudo pacman -S android-toolsچطور با adb به گوشی خودمون وصل بشیم؟به ترتیب دستورات زیر بزنیدadb devices adb devicesبا این دستور لیست گوشی های متصل به سیستم بهتون نمایش میده یه عددی برایه دیوایس ما نمایش داده اینجا برایه من هست 520005f5dcd1a6e7 برایه شما ببینید چیه و دستور زیر بزنیدadb devices adb -s 520005f5dcd1a6e7 tcpip 5555یه درخواست به گوشیتون ارسال میشه تاییدش کنید و الان به گوشی متصل هستیدچطور بدون کابل به گوشی وصل بشیم؟اول باید مرحله قبل انجام داده باشید و با کابل متصل شده باشیددوم باید نقطه اتصال گوشی روشن و با سیستم بهش وصل بشیدحالا بریم سراغ وصل شدن با wi-fi با adb دستورات زیر به ترتیب میزنیم قبلش اگه لینوکسی هستید پکیج net-tools نصب داشته باشیدتویه لینوکس دستور ifconfig بزنید و ip خودتون پیدا کنید اینجا برایه من 192.168.43.60 هست ببینید برایه شما چیه و دستور زیر بزنیدنکته : فقط وقتی میخواید ip خودتون بزنید عدد اخر برایه من 60 هست بجاش 1 مینویسم شمام عدد اخر بجاش 1 بنویسید مثل داخل تصویراگه لینوکسید پکیج net-tools نصب کنیداگه کانکت نشد به این ip اول چک کنید وصل باشید به وای فای بعد چک کنید با کابل کانکت باشید در اخر حتما ip فرق داره بررسی کنید ip که بهش وصلید چیه adb connect adb connect ip:5555 و حالا به گوشی خودتون با wi-fi وصل هستید میتونید کابل جدا کنیدچطور دیست کانلت بشیم و یطورای ریستارت کنیم ADB رو؟دستورات زیر به ترتیب بزنیدadb disconnectadb kill-server چطور یه فایل به گوشی خودمون با adb ارسال کنیم؟با دستور زیر به راحتی میتونید هر فایلی رو ارسال کنیدadb pushadb push /home/alireza/a.jpg /sdcard/ اینجا دوتا مسیر داریم مسیر اولی فایلی هستش که داخل سیستممون هست دومی میسری هست که داخل گوشی قرار میگیره اینجا حافظه داخلی گوشی هستچطور یه فایل از گوشی خودمون با adb دریافت کنیم؟با دستور زیر به فایل از گوشی به سیستم خودتون کپی کنیدadb pulladb pull /sdcard/a.jpg اینجا فقط یه مسیر داریم گفتیم داخل حافظه اصلی فایل a.jpg برامون بگیر بزار تو سیستم داخل لینوکس میره داخل پوشه یوزرمونچطور دستورات یونیکس اجرا کنیم؟این بخش مورد علاقه خودمه و بریم سراغش میتونید با دستور زیر دستورات یونیکس اجرا کنیدadb pushadb shellبعد از زدن این دستور وارد پوسته یونیکس گوشی میشیم و هر دستور که لازممون باشه میتونیم استفاده کنیمبرایه خارج شدن از پوشته دستور exit بزنید اگرم نخوایم وارد پوسته بشیم و فقط یه دستور برایه اجرا داریم به شکل زیر میشه دستورمون رو وارد کنیم یعنی بعد از shelladb pullچطور یه برنامه نصب کنیم؟با دستور زیر میتونید یه برنامه نصب کنیدadb installadb install /home/alireza/Downloads/termux.apk یه میسر از ما میخواد که مسیر برنامه در سیستممون هست و بعد اینتر صبر میکنیم تا نصب بشه وقتی تصب شد با پیام Success بهمون خبر میده چند تا پارامتر داره که عبارتند از -rاین برایه زمانیه برنامه نصبه و میخوایم یه اپدیت کنیم به نسخه جدید تر-s که برنامه در حافظه خارجی نصب میکنه (در صورتی که بشه برنامه در حافظه خارجی نصب کرد)چطور یه برنامه حذف نصب کنیم؟از دستور زیر برایه حذف برنامه میشه استفاده کردadb uninstall adb shell pm uninstall -k --user 0 com.termux فقط بجایه com.termux باید پکیج نیم برنامه ای که میخواید پاک کنید بزنید حالا پکیج نیم برنامه های که الان نصبن چطور پیدا کنیم؟ با دستور زیرadb shelladb shell pm list packages لیست پکیج نیم برنامه هارو به این شکل دسترسی دارید و همونطور که فهمیدید پکیج منیجر اندروید pm هستچطور با adb اسکرین شات بگیریم؟این خیلی کاربردیه مثلا میخوای README بنویسید و عکس چند صفحه برنامه تون هم بزارید با این دستور همین که اسکرین شات گرفتن عکس داخل سیستمتون به راحتی دارید adb shelladb shell screencap /sdcard/screenshot.pngبا این دستور اسکرین شات گرفته شد و در مسیر گفته شده یعنی حافظه داخلی و با اسم screenshot.png سیو شده حالا چطور اسکرین شات داخل سیستم داشته باشیم؟ قبلا جوابش دادم با دستور زیرadb shelladb pull /sdcard/screenshot.pngچطور با adb از صفحه گوشی فیلم بگیریم؟اینم خیلی برایه README خیلی میتونه کاربردی باشه با دستور زیرadb shelladb shell screenrecord /sdcard/movie.mp4دستوور بالا شروع به ضبط صفحه گوشی میکنه فقط وقتی که کارتون تموم شد خواستید دیگه رکورد صفحه متوقف کنید داخل ترمینال دستور Ctrl+C یا Command+C میزنیددستور پایین هم مثل همیشه فایل برامون میگیره میزاره داخل سیستمموناطلاعیه‌ها b pulladb pull /sdcard/movie.mp4چطور یه رویداد داخل گوشی با adb انجام بدیم؟نیازی نیست اینجا حتما بلد باشید من خودم خیلی این چیزا دوست دارم پس خوندم میتونه سرعتتون رو بالا تر ببره مثلا با یه دستور برید داخل صفحه home گوشیاتون من مهم ترین دستوراتشو خلاصه براتون میزارمadb shell input keyevent 3 // Home btn adb shell input keyevent 4 // Back btn adb shell input keyevent 5 // Call adb shell input keyevent 6 // End call adb shell input keyevent 26 // Turn Android device ON and OFF. It will toggle device to on/off status. adb shell input keyevent 27 // Camera adb shell input keyevent 64 // Open browser adb shell input keyevent 66 // Enter adb shell input keyevent 67 // Delete (backspace) adb shell input keyevent 207 // Contacts adb shell input keyevent 220 / 221 // Brightness down/up adb shell input keyevent 277 / 278 /279 // Cut/Copy/Pasteبرایه دیدن لیست کاملشون میتونید اینجا کلیک کنید و لیست کاملی که تهیه کردم ببینیداگه خوشتون امد لایک و کامنت شما به من انگیزه میده امیدوارم به کارتون امده باشهکانال تلگرامی خودمم میزارم اگه خوشتون امد عضو بشیدt.me/alirezabashi_98instagram.com/alirezabashi98github.com/alirezabashi98