ADB (Android Debug Bridge) — Android SDK tarkibiga kiradigan ko'p funksiyali konsol yordamchi dasturidir. U kompyuterga USB kabel yoki Wi-Fi orqali Android qurilmasi bilan to'g'ridan-to'g'ri aloqa qilish imkonini beradi. ADB yordamida ilovalarni o'rnatish va o'chirish, fayllarni nusxalash, shell buyruqlarini ishga tushirish, tizim jurnallarini ko'rish, ekran tasvirlari va ekran yozuvini olish, sozlamalarni boshqarish va hatto avtomatlashtirilgan testlarni bajarish mumkin. Asbob dasturchilar, testchilar va qurilma ustidan to'liq nazoratga ega bo'lishni xohlovchi ishqibozlar uchun ajralmas hisoblanadi.
Asosiy qaydlar
Android Debug Bridge (ADB) — uch komponentdan iborat bo'lgan mijoz-server ilovasidir: mijoz (kompyuterda ishga tushiriladi), server (kompyuterda fon jarayoni) va adbd demoni (to'g'ridan-to'g'ri Android qurilmasida ishlaydi). Dasturchi yoki muhandis smartfonni kompyuterga ulaganda, ADB buyruqlar, fayllar va ma'lumotlarni uzatish uchun ishonchli aloqa kanalini yaratadi.
ADB dan foydalanishning asosiy stsenariylari APKni do'konda nashr etmasdan real qurilmada ilovalarni tuzatish, xatolarni tahlil qilish uchun jurnallarni olish, testlarni avtomatlashtirish, ma'lumotlarni zaxiralash, recovery tasvirlarini yozish va root kirishini olishni o'z ichiga oladi. Hatto kod yozmasangiz ham, ADB ilovalardan ekran tasvirlarini olish, telefon ekranidan video qo'llanma olish yoki muvaffaqiyatsiz yozilgandan keyin qurilmani tiklash uchun foydali bo'lishi mumkin.
ADB qo'llab-quvvatlashi Android 2.1 (API 7) versiyasidan boshlab barcha rasmiy Android qurilmalariga o'rnatilgan. Ishlash uchun dasturchi sozlamalarida «USB orqali tuzatish» opsiyasi yoqilgan bo'lishi kerak. Android 4.2 dan boshlab, birinchi ulanishda qurilma tasdiqlashni so'raydi: RSA kaliti asosida muayyan kompyuter uchun tuzatishga ruxsat berish kerak.
Windows uchun — Google Developers rasmiy saytidan Platform Tools yuklab oling, arxivni C:\adb papkasiga chiqaring va bu yo'lni PATH muhit o'zgaruvchisiga qo'shing. Terminalni qayta ishga tushirgandan so'ng, adb buyrug'i global darajada mavjud bo'ladi.
macOS uchun — eng oson yo'l Homebrew paket menejeri orqali ADB o'rnatish: brew install android-platform-tools buyrug'ini bajaring. Barcha bog'liqliklar avtomatik hal qilinadi.
Linux uchun — Debian / Ubuntu asosidagi distributivlarda: sudo apt install adb. O'rnatishdan so'ng foydalanuvchini plugdev guruhiga qo'shing: sudo usermod -aG plugdev $USER va ADB USB qurilmalarga kirish huquqiga ega bo'lishi uchun qaytadan tizimga kiring.
O'rnatishning to'g'riligini adb version buyrug'i bilan tekshirish mumkin. Javobda Android Debug Bridge versiya raqami ko'rsatilsa, asbob ishga tayyor.
Birinchi ulanish har doim adb devices buyrug'i bilan boshlanadi. U ulangan qurilmalar ro'yxatini va ularning holatini ko'rsatadi. Agar qurilma unauthorized sifatida ko'rsatilsa, ekranni qulfdan chiqaring va telefonda tuzatishni tasdiqlang.
adb devices
List of devices attached
emulator-5554 device
0123456789ABCD device
Ilovani o'rnatish — eng keng tarqalgan operatsiyalardan biri. APK fayliga yo'lni ko'rsatish kifoya:
adb install C:\apps\myapp.apk
Agar ilova allaqachon o'rnatilgan bo'lsa, lekin yangilangan versiya bilan almashtirish talab etilsa, -r (replace) bayrog'ini qo'shing:
adb install -r C:\apps\myapp-v2.apk
Ilovani o'chirish paket nomi bilan amalga oshiriladi:
adb uninstall com.example.myapp
Fayllarni nusxalash — adb pull faylni qurilmadan kompyuterga chiqaradi, adb push faylni qurilmaga yuklaydi:
adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/
Interaktiv shell — adb shell buyrug'i qurilmaning buyruq qobig'ini ochadi. Uning ichida standart Linux buyruqlarini bajarish mumkin: ls, ps, top, dumpsys, pm, am va boshqalar.
adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome
Faoliyatni ishga tushirish ADB orqali ikonkani qo'lda qidirmasdan istalgan ilova yoki ekranni ochish imkonini beradi:
adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main
Logcat — ilovalar, tizim xizmatlari va yadrodan xabarlarni yig'adigan Android jurnal tizimidir. Asbob tuzatish vaqtida ajralmas hisoblanadi: jurnallar orqali ilova nima uchun ishdan chiqqanini, qaysi metod istisno keltirib chiqarganini yoki muayyan operatsiya qancha davom etishini tushunish mumkin.
Filtrlarsiz oddiy ishga tushirish — adb logcat. Jurnal oqimi cheksiz, to'xtatish uchun Ctrl+C ni bosing. Xabarlarni teg bo'yicha filtrlash uchun -s parametridan foydalaning:
adb logcat -s MainActivity:V
Jurnalning muhimlik darajalari (eng batafsildan kritikgacha): V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal). Teg va daraja kombinatsiyasi faqat kerakli xabarlarni ajratib olish imkonini beradi.
Testdan oldin to'plangan buferni tozalash uchun:
adb logcat -c
Jurnallarni faylga saqlash uchun:
adb logcat -d > app_logs.txt
-d (dump) bayrog'i joriy buferni ko'rsatadi va terminalni bloklamasdan ishni tugatadi. Bu avtomatlashtirish skriptlari uchun qulay.
Ekran tasviri adb shell screencap buyrug'i bilan olinadi. Natija faylda saqlanadi, keyin adb pull orqali chiqariladi:
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png
Ikkala operatsiyani almashtirish va quvur yordamida bir qatorda birlashtirish mumkin. Amalda bu hujjatlashtirish va test hisobotlarini yaratishni tezlashtiradi.
Ekran yozuvi Android 4.4+ (API 19) da mavjud. Standart yozuv davomiyligi — 180 soniya, bitrate — 4 Mbit/s. Asosiy buyruq:
adb shell screenrecord /sdcard/demo.mp4
Yozuvni to'xtatish uchun Ctrl+C ni bosing. Video o'lchamlari qurilma ekran o'lchamlariga mos keladi, lekin 1080p dan oshmaydi. Bitrate ni o'zgartirish uchun --bit-rate ni belgilang:
adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4
Diagnostik buyruqlar: adb shell dumpsys barcha tizim xizmatlarining holatini ko'rsatadi. Faqat batareya haqida ma'lumot olish uchun:
adb shell dumpsys battery
O'rnatilgan paketlar ro'yxatini Package Manager orqali olish mumkin:
adb shell pm list packages
Ilova sozlamalarini tiklash (sozlamalarda ma'lumotlarni tozalashning analogi):
adb shell pm clear com.example.myapp
Wi-Fi tuzatish qurilmani USB orqali ulab turish zaruratidan xalos qiladi. Kompyuter va qurilma bir xil tarmoqda ekanligiga ishonch hosil qiling. Avval adb tcpip 5555 ni bajaring, USB ni uzing, keyin IP orqali ulaning:
adb tcpip 5555
adb connect 192.168.1.100:5555
Agar qurilmaning IP manzili noma'lum bo'lsa, kabelni uzishdan oldin adb shell ip addr show wlan0 orqali bilib oling.
Ma'lumotlarni zaxiralash ilova yoki butun tizim rootsiz amalga oshiriladi:
adb backup -apk -shared -all -system -f mybackup.ab
Zaxiradan tiklash:
adb restore mybackup.ab
Kiritish emulyatsiyasi — adb shell input buyrug'i teginish, surish, tugmalarni bosish va matn kiritishni simulyatsiya qilish imkonini beradi. Bu qo'shimcha frameworklarsiz UI testlarini avtomatlashtirish uchun asosdir:
adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"
Turli rejimlarda qayta yuklash:
adb reboot # oddiy qayta yuklash
adb reboot recovery # tiklash rejimi
adb reboot bootloader # yuklovchi (fastboot)
Fastboot rejimi tasvirlarni yozish, yuklovchini blokdan chiqarish va maxsus recovery o'rnatish uchun kirishni ochadi.
Bir nechta qurilma yoki emulyator bir vaqtda ulanganda, ADB muayyan seriya raqamini ko'rsatishni talab qiladi. adb devices buyrug'i barcha ulangan qurilmalarni ularning seriya raqamlari bilan ko'rsatadi.
Buyruqni muayyan qurilmaga yo'naltirish uchun -s bayrog'idan foydalaning:
adb -s 0123456789ABCD install myapp.apk
Agar qurilma bitta bo'lsa, bayroqsiz ishlash mumkin. Biroq CI muhitida bir vaqtda bir nechta emulyator ishga tushirilganda, seriya raqamini ko'rsatish majburiydir.
ADB serverini o'ldirish — agar qurilma aniqlanmay qolsa yoki xato bersa, serverni qayta ishga tushirish yordam beradi:
adb kill-server
adb start-server
Shundan so'ng adb devices ni bajaring — server qayta ishga tushadi va so'rovlarni qurilma demonlariga yo'naltiradi.
| Buyruq | Izoh |
|---|---|
| adb devices | Ulangan qurilmalar ro'yxatini ko'rsat |
| adb install |
O'rnatish APK faylini qurilmaga |
| adb uninstall |
Ilovani paket nomi bilan o'chirish |
| adb shell | Interaktiv buyruq qobig'ini ishga tushirish |
| adb push |
Nusxalash faylni kompyuterdan qurilmaga |
| adb pull |
Faylni qurilmadan kompyuterga nusxalash |
| adb logcat | Tizim va ilovalar jurnallarini ko'rish |
| adb shell screencap | Ekran tasvirini yaratish |
| adb shell screenrecord | Ekrandan video yozish |
| adb reboot | Qayta yuklash qurilmani |
| adb tcpip 5555 | ADB ni Wi-Fi uchun TCP/IP rejimiga o'tkazish |
| adb connect |
Qurilmaga Wi-Fi orqali ulanish |
Tez-tez so'raladigan savollar
«Sozlamalar» → «Telefon haqida» ni oching va «Qurilish raqami» ga 7 marta bosing. Sozlamalarning asosiy menyusiga qayting — «Dasturchilar uchun» bo'limi paydo bo'ladi. Ichida «USB orqali tuzatish» ni yoqing. Android 4.2 dan boshlab, kompyuterga birinchi ulanishda qurilma ekranida RSA tuzatish kalitini tasdiqlash kerak.
Qurilma kompyuterga ishonmaydi. Telefon ekranini qulfdan chiqaring, «USB orqali tuzatishga ruxsat berilsinmi?» dialogi paydo bo'lganda «Har doim ushbu kompyuter uchun ruxsat ber» belgisini qo'ying va «OK» tugmasini bosing. Agar dialog ko'rinmasa, USB kabelni uzib qayta ulang yoki adb kill-server && adb start-server ni bajaring.
ADB ekran bilan o'zaro aloqani talab qilmaydi. Qurilmani USB orqali ulang, adb devices da ko'rinishini kuting (agar tuzatish allaqachon yoqilgan bo'lsa) va adb install
ADB APK ni to'g'ridan-to'g'ri o'rnatadi, o'rnatish vaqtida Google Play Protect tekshiruvlarini chetlab o'tadi, bu ilovalarni nashr etishdan oldin sinab ko'rish imkonini beradi. Biroq, zararli kod uchun yakuniy tekshirish o'rnatishdan keyin ham ishga tushadi. ADB Google hisobini talab qilmaydi, bu korporativ kiosklar va Google xizmatlarisiz qurilmalar uchun muhimdir.
Ha, ADB buyruqlarining katta qismi rootsiz ishlaydi. Istisnolar — himoyalangan tizim bo'limlariga kirishni talab qiladigan buyruqlar (masalan, boot bo'limining to'g'ridan-to'g'ri dumpi yoki tizim fayllarini o'zgartirish). Kundalik vazifalar uchun — ilovalarni o'rnatish, jurnallash, ekran tasvirlari, zaxiralash, kiritish emulyatsiyasi — root talab qilinmaydi.
ADB (Android Debug Bridge) — professional darajada Android bilan ishlaydigan har bir kishi uchun asosiy vositadir. Ilovalarni asosiy o'rnatishdan tortib testlarning murakkab avtomatlashtirilishi va qurilmalarni tiklashgacha — ADB kompyuterning smartfon yoki planshet bilan o'zaro aloqasining deyarli har qanday stsenariysini qamrab oladi.
Ushbu maqolada tasvirlangan buyruqlarni o'zlashtirib, siz terminal orqali Android qurilmasini ishonch bilan boshqarishingiz, jurnallarni tahlil qilishingiz, hujjatlashtirish uchun ekran tasvirlarini olishingiz, zaxiralashni amalga oshirishingiz va dasturlash jarayonini tezlashtirishingiz mumkin bo'ladi. Muntazam amaliyot va adb help chiqishini o'rganish sizni ushbu kuchli asbobning tajribali foydalanuvchisiga aylantiradi.
Xulosa
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.