میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

استفاده از ابزار Android Debug Bridge

Android Debug Bridge یا به اختصار ADB یک ابزار خط دستور جهت ارتباط و کنترل شبیه ساز (Emulator) یا دستگاه اندرویدی متصل به سیستم است و دستورات کاربردی متعددی نظیر نصب برنامه بر روی محیط شبیه ساز ، دسترسی به فایل های مستقر بر روی شبیه ساز و … را برای برنامه نویس فراهم می کند.
می توانید با درج دستور adb در خط فرمان، به دستگاه اندرویدی خود دسترسی پیدا کنید.
دسترسی و اتصال به یک دستگاه مجازی (AVD) به راحتی امکان پذیر می باشد، اما جهت دسترسی کامل به دستگاه واقعی اندروید لازم است که آن دستگاه root شود. هر چند که دستگاه های root 
نشده نیز با adb قابل دسترسی هستند، اما در آن صورت توسعه دهنده صرفا در سطح یک کاربر عادی اجازه دسترسی خواهد داشت.
ابزار adb در پوشه ی [android-sdks]/platform-tools موجود می باشد. به منظور دسترسی کامل به این ابزار، بایستی آن را به متغیر path اضافه نمایید.

adb به شما امکان می دهد تا دستوراتی را به دستگاه اندرویدی خود ارسال کرده، فایل هایی را در آن قرار داده یا از آن واکشی نمایید. همچنین امکان دسترسی از خط فرمان به سرور راه دور ( shell access) و دستگاه اندروید را فراهم آورده و به توسعه دهنده اجازه می دهد تا اطلاعاتی نظیر میزان مصرف حافظه دستگاه را مشاهده نماید. مبحث زیر نحوه ی استفاده از دستورات مربوطه را برای شما شرح می دهد.

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

# Lists all devices
adb devices
#Result
List of devices attached
emulator-
5554 attached
emulator-
5555 attached
# Issue a command to a specific device
adb -s emulator-
5554 shell

 


استفاده از adb

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

adb shell am start -n yourpackagename/.activityname

 


حذف اپلیکیشن از دستگاه به وسیله ی دستورات adb

می توانید یک اپلیکیشن اندرویدی را با دستورات خط فرمان (از طریق shell) از دستگاه میزبان حذف نمایید. کافی است پوشه ی data/app (cd /data/app)  را تغییر داده و سپس به راحتی اپلیکیشن اندرویدی را حذف نمایید.

در صورت تمایل می توانید یک اپلیکیشن را به وسیله ی دستورات adb ، با ذکر اسم پکیج از دستگاه حذف نمایید.

adb uninstall <packagename>

 


اتصال به دستگاه با استفاده از Telnet

در صورت تمایل می توانید بجای استفاده از adb ، به واسطه ی telnet به دستگاه اندرویدی دلخواه وصل شوید. این به شما امکان می دهد تا برخی از بسترها همچون تماس دریافتی را شبیه سازی کنید، وضعیت اتصال به شبکه را ویرایش نموده و وضعیت جغرافیایی خود را تنظیم کنید. به منظور اتصال به دستگاه شبیه سازی شده کافی است از “telnet localhost 5554” استفاده کنید. جهت خروج از فضای کاری console نیز کافی است دستور quit یا exit را اجرا نمایید.

به طور مثال، جهت تغییر تنظیمات گوشی، یا به منظور دریافت sms و تماس دریافتی، می توانید از دستورات زیر استفاده کنید.

# connects to device
telnet localhost 5554
# set the power level
power status full
power status charging
# make a call to the device
gsm call 012041293123
# send a sms to the device
sms send 12345 Will be home soon
# set the geo location
geo fix 48 51

 

 


دستور adb dumpsys

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

adb shell dumpsys meminfo <package.name>

 


مروری بر میزان مصرف حافظه با دستور dumpsys

دستور adb shell procrank تمامی اپلیکیشن های نصب شده بر روی دستگاه را بر اساس میزان مصرف حافظه لیست می کند. لازم به ذکر است که دستور نام برده بر روی دستگاه واقعی اندروید کار نمی کند. جهت واکشی لیست اپلیکیشن ها بر اساس میزان مصرف حافظه در دستگاه واقعی، بایستی دستور adb shell dumpsys meminfo را فراخوانی کنید.

 


واکشی اطلاعات درباره ی عملیات و تسک های زمان بندی شده

جهت کسب اطلاعات در خصوص اپلیکیشن، کافی است دستور adb shell dumpsys alarm را همراه با اسم پکیج پروژه در خط فرمان فراخوانی کنید. خروجی ممکن است ظاهری مشابه زیر داشته باشد:

RTC #6: Alarm{434a1234 type 1 com.example}
type=
1 whenElapsed=608198149 when=+12m13s122ms window=-1 repeatInterval=0 count=
operation=PendingIntent{430cf612: PendingIntentRecord{*43bbf887* com.vogella startService}}

همان طور که مشاهده می کنید، هشدار برای حدودا ۱۲ دقیقه تنظیم شده است.
جهت کسب اطلاعات لازم در خصوص intent pending
( intent معلق) دستور adb shell dumpsys activity intents را اجرا کرده و ID مربوط به PendingIntentRecord (در این مثال ۴۳bbf887) را به عنوان پارامتر ارسال کنید ( PendingIntent تلفیقی از درخواست عملیات ) راه اندازی یک activity دیگر، اجرا و فراخوانی یک سرویس یا ارسال یکbroadcast ، جزییات عملیات (در قالب intentو context ) است. نمونه ایجاد شده می تواند به سایر اپلیکیشن ها ارسال گردد تا با کمک آنها حتی پس از خاتمه یافتن اپلیکیشن تولید کننده ی pendingintent و حذف آن از حافظه، عملیاتی معینی انجام گیرد. همچنین آّبجکت PendingIntent با برخورداری از flag هایی که عملکرد آنرا با توجه به اینکه نمونه ای از آن کلاس pendingintent موجود است یا نه، مدیریت می نماید:) 

* PendingIntentRecord{43bbf887 com.vogella startService}
uid=
10042 packageName=com.vogella type=startService flags=0x0
requestIntent=act=MY_ACTION cmp=com.vogella/.MyService (has extras)

 


تسک هایی که اطلاعات مربوط به مصرف باتری را واکشی می کنند

از ویرایش ۵٫۰ اندروید، شما می توانید با فراخوانی دستور زیر در خط فرمان، اطلاعات مربوط به میزان مصرف باتری را واکشی نمایید:

adb shell dumpsys batterystats –charged <package-name>

 

 


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

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

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

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟