Ada banyak hal di Android Debug Bridge yang mungkin tidak Anda ketahui. Klik di sini untuk beberapa tip dan trik berguna untuk menggunakan ADB!
tautan langsung
- Akses cangkang
- Menghubungkan ke beberapa perangkat
- Mentransfer file
- Penebangan
- Daftar aplikasi yang diinstal melalui ADB
- Memasang dan mencopot pemasangan aplikasi melalui ADB
- Mengekstrak APK dengan ADB
- Mencadangkan dan memulihkan data aplikasi
- Daftar komponen aplikasi
- Kegiatan peluncuran, layanan, dan penerima siaran
- Menonaktifkan dan mengaktifkan hampir semua aplikasi
- Menangkap tangkapan layar
- Mentransfer data biner antara PC dan perangkat Android
Jika Anda pernah menjadi penggemar Android yang mengintai di kancah modding, atau pengembang aplikasi untuk waktu yang lama waktu, cepat atau lambat, Anda akan menemukan alat rapi yang disebut Android Debug Bridge, atau ADB for pendek. Ini banyak digunakan di Android Studio sebagai utilitas pendamping baris perintah. Pengembang Android juga menggunakannya sebagai solusi mandiri untuk memasang dan menguji aplikasi secara manual smartphone Android serta perangkat Android yang ditiru.
Tetapi ada banyak hal yang dapat dilakukan ADB, dan sebagian besar tidak hanya berguna bagi pengembang. Bahkan jika Anda bukan pengembang, dan Anda sedang membaca artikel ini, ada kemungkinan besar Anda mungkin menggunakan ADB satu atau dua kali untuk sideload aplikasi atau men-tweak izin. Tapi bukan hanya itu yang bisa digunakan ADB. Teruskan membaca untuk beberapa tips dan trik menggunakan ADB yang mungkin belum Anda ketahui.
Anda harus mengaktifkan dan menjalankan ADB di komputer Anda. Pastikan untuk membaca artikel kami di cara menginstal ADB jika Anda membutuhkan bantuan. Jika Anda menggunakan Windows, Anda juga perlu melakukannya instal driver USB OEM yang sesuai untuk perangkat Android Anda.
Akses cangkang
Jika Anda pernah menggunakan ADB sebelumnya, Anda mungkin terbiasa menjalankan semua perintah dalam satu baris. Tetapi Anda juga dapat menggunakan ADB untuk membuka terminal shell di perangkat Anda dan menjalankan perintah secara langsung. Dan itu mudah!
Di jendela terminal atau command prompt Anda:
shell adb
Anda kemudian akan disambut dengan $
simbol tempat Anda dapat menjalankan perintah langsung di perangkat Anda.
Menghubungkan ke beberapa perangkat
ADB dapat berkomunikasi dengan beberapa perangkat secara bersamaan. Namun, Anda harus menentukan perangkat target saat mengeluarkan perintah ADB dalam skenario tersebut.
Untuk melakukan ini, Anda harus mengetahui nomor seri perangkat target. Anda bisa mendapatkan serial dengan menggunakan perintah perangkat:
perangkat adb
Sekarang, gunakan -S
opsi untuk menentukan nomor seri perangkat target. Contoh:
adb -s <serialnomor> kerang
Mentransfer file
Untuk penggemar baris perintah, ADB menyediakan cara yang sangat mudah untuk mentransfer file ke dan dari perangkat Android Anda. Cukup gunakan menarik
perintah untuk menyalin file dan direktori dari perangkat dan dorongan
perintah untuk menyalin file dan direktori ke perangkat:
Jika Anda ingin menyalin file atau direktori dengan subdirektorinya ke perangkat Android:
adb push local_path device_path
- Contoh:
adb push D:\image.png /sdcard
Perintah berikut akan menyalin file atau direktori dengan sub-direktorinya dari perangkat Android ke PC host:
adb menarik device_path local_path
- Contoh:
adb pull /sdcard/backup_April.tar D:\Backup
Penebangan
Android Studio menyediakan Jendela logcat, yang mendukung menampilkan log dari perangkat Anda secara real time. Namun, itu tidak terlalu berguna untuk pemrosesan batch. Untungnya, perangkat Android dikirimkan dengan perintah logcat yang tersedia melalui ADB, yang dapat digunakan untuk membuang pesan log sistem dan aplikasi dan mencetaknya ke layar.
Sintaks dasarnya adalah sebagai berikut:
adb logcat
Untuk mengetahui lebih lanjut, lihat tutorial kami di cara mengambil logcat sistem, log kernel, dan dmesg di Android.
Telur Paskah
Google menawarkan dua telur paskah yang bagus terkait dengan perintah logcat.
- Yang pertama adalah lolcat, anggukan ke meme LOLcat. Ini memberikan output yang sama dengan perintah logcat biasa.
adb lolcat
- Yang kedua adalah longcat, yang setara dengan perintah logcat -v long. Ini menampilkan semua bidang metadata dan memisahkan pesan dengan baris kosong.
adb longcat
Daftar aplikasi yang diinstal melalui ADB
Untuk melihat aplikasi yang diinstal pada perangkat Anda, Anda dapat menggunakan perintah berikut:
adb shell pm daftar paket
Ini akan mengembalikan daftar nama paket dari aplikasi yang terinstal, dengan masing-masing pada barisnya sendiri diawali dengan kemasan:
.
Pilihan
Ada juga beberapa opsi yang dapat Anda gunakan untuk mengambil daftar yang lebih spesifik.
- -F akan menyertakan jalur ke APK dasar untuk setiap aplikasi, beserta nama paketnya.
- -A akan memastikan semua paket non-APEX yang diketahui dikembalikan.
- -D akan menyebabkan perintah hanya mengembalikan paket yang dinonaktifkan.
- -e akan menyebabkan perintah hanya mengembalikan paket yang diaktifkan.
- -S akan menyebabkan perintah hanya mengembalikan paket sistem.
- -3 akan menyebabkan perintah hanya mengembalikan paket pihak ketiga.
- -Saya akan menyertakan nama paket penginstal untuk setiap paket.
- -U akan menyertakan UID paket untuk setiap paket.
- -u akan menyertakan paket yang dihapus.
- --tampilkan-kode versi akan menyertakan kode versi untuk setiap paket.
- --apex-saja hanya akan mengembalikan paket APEX.
- --uid hanya akan menampilkan paket dengan UID yang diberikan.
- --pengguna hanya akan menampilkan paket milik ID pengguna yang diberikan.
Memasang dan mencopot pemasangan aplikasi melalui ADB
Ini adalah penggunaan ADB yang relatif umum, tetapi tetap perlu disebutkan. Di antara cara lain, Anda juga dapat menggunakan ADB untuk menginstal dan menghapus aplikasi Android ke perangkat Android Anda.
Memasang APK
Jika Anda memiliki APK di komputer Anda, Anda dapat menginstalnya ke perangkat Anda dengan yang berikut ini:
adbInstall-Rsomeapk.apk
Ingatlah untuk mengganti someapk.apk
dengan path lengkap ke APK yang ingin Anda instal.
Pilihan
Ada banyak opsi untuk menginstal APK melalui ADB.
- Itu -R opsi memungkinkan ADB untuk menginstal melalui aplikasi yang ada (yaitu, pembaruan). Di Android Pie dan yang lebih baru, Anda tidak perlu menentukan opsi ini.
- Itu -R opsi, untuk Android Pie dan yang lebih baru akan menyebabkan penginstalan gagal jika aplikasi sudah diinstal.
- Itu -Saya opsi memungkinkan Anda menentukan nama paket penginstal. Inilah yang dikembalikan jika Android ingin tahu apa yang menginstal APK.
- Itu -T opsi memungkinkan APK dengan android: testOnly="benar" dalam manifesnya untuk diinstal.
- Itu -D opsi memungkinkan APK yang ditentukan menjadi downgrade ke aplikasi yang sudah terpasang. Ini hanya berfungsi jika kedua versi aplikasi dapat di-debug.
- Itu -G opsi untuk Android Marshmallow dan yang lebih baru secara otomatis memberikan semua izin waktu proses ke aplikasi yang terpasang.
Itu belum semuanya. Jika Anda menginginkan daftar lengkap, Anda dapat melihat dokumentasi bawaan.
Beberapa APK dan bundel
Jika Anda memiliki banyak APK yang ingin Anda instal sekaligus, baik dari beberapa aplikasi, atau karena Anda menginstal bundel aplikasi, Anda dapat menggunakan ADB's install-multiple
Dan instal-multi-paket
fitur.
Jika semua APK Anda untuk satu aplikasi, gunakan install-multiple
:
adbinstall-multipleapk1.apkapk2.apk ...
Jika tidak, gunakan instal-multi-paket
:
adbinstal-multi-paketaplikasi1.apkapp2.apk ...
Opsi untuk perintah ini mirip dengan Install
, tetapi dengan beberapa keterbatasan. Lihat dokumentasi bawaan ADB untuk pilihan yang tersedia.
Menghapus instalan aplikasi
Untuk mencopot pemasangan menggunakan ADB, Anda memerlukan nama paket aplikasi yang ingin Anda copot pemasangannya. Lihat bagian untuk Daftar aplikasi yang diinstal jika Anda belum melakukannya.
Setelah Anda memiliki nama paket, mencopot pemasangan semudah:
uninstall adb <nama paket>
Biasanya Anda tidak dapat menghapus instalan sistem atau aplikasi prainstal menggunakan perintah ini. Namun, Anda mungkin dapat menonaktifkannya dengan ADB. Lihat bagiannya Menonaktifkan dan mengaktifkan hampir semua aplikasi untuk rincian.
Mengekstrak APK dengan ADB
Ada banyak alasan Anda mungkin ingin mengekstrak APK untuk suatu aplikasi. Mungkin Anda ingin mencadangkannya untuk digunakan di lain waktu, atau mungkin tidak lagi tersedia online dan Anda ingin mentransfernya ke perangkat lain.
Mengekstrak aplikasi menggunakan ADB cukup sederhana. Pertama, Anda ingin menemukan nama paket aplikasi yang ingin Anda ekstrak. Ada beberapa cara untuk melakukan ini, tetapi biasanya yang paling mudah adalah menggunakan aplikasi Pengaturan perangkat Anda untuk melihat daftar semua aplikasi yang terinstal, pilih yang Anda inginkan, dan gulir ke bawah hingga Anda menemukan nama paket atau aplikasi PENGENAL.
Setelah Anda memiliki nama paket, jalankan perintah berikut:
jalur pm shell adb <nama paket>
Perintah ini akan menampilkan jalur semua APK untuk nama paket tersebut.
Anda kemudian dapat menggunakan perintah berikut untuk menarik setiap APK ke komputer Anda:
adb tarik /path/ke/apk.apk
Mencadangkan dan memulihkan data aplikasi
Meskipun Google belum membuat metodologi pencadangan sekali klik iOS-esque, Anda dapat menggunakan ADB untuk mencadangkan dan memulihkan aplikasi yang diinstal beserta datanya. Namun, fungsinya masih jauh dari sempurna, dan Google sudah melakukannya menandai fitur sebagai usang.
Cadangan
Untuk mencadangkan satu aplikasi, dengan APK-nya:
adb cadangan -apk <kemasannama> -f nama_paket_cadangan.ab
Jika Anda ingin mencadangkan semua data aplikasi sekaligus:
adb cadangan -F semua -semua -apk -nosystem
Karena modul pemulihan tidak dapat melakukan pemulihan khusus aplikasi individual, sebaiknya buat cadangan khusus paket. Cuplikan perintah berikut (kompatibel dengan Linux/macOS dan Windows Subsystem untuk Linux) dapat melakukannya untuk Anda:
untuk APLIKASI di dalam $(adb shell pm daftar paket -3)
Mengerjakan
APLIKASI=$( gema${APP} | sed "s/^paket://")
cadangan adb -f ${APP}.cadangan ${APP}
Selesai
Memulihkan
Pertama, Anda perlu menginstal APK yang disimpan;
adb Install <kemasannama>.apk
Kemudian Anda dapat memulihkan datanya:
adbmemulihkanpackage_name_backup.ab
Untuk mengulangi, fungsi pencadangan dan pemulihan ADB memiliki banyak peringatan, termasuk hasil variabel tergantung pada ROM
Daftar komponen aplikasi
Komponen aplikasi adalah hal-hal seperti Aktivitas, Penerima Siaran, Layanan, dan sebagainya. Terkadang ada gunanya mengetahui nama komponen ini di aplikasi tertentu, terutama jika Anda ingin meluncurkan Aktivitas tersembunyi atau mengirim siaran dengan data tertentu.
Sayangnya, ADB tidak memiliki cara yang bersih untuk membuat daftar komponen aplikasi. Tapi itu mungkin. Jalankan perintah berikut:
adb shell dumpsys kemasan
Sejumlah besar teks akan dikembalikan.
- Gulir sampai Anda menemukan Tabel Penyelesai Aktivitas judul untuk melihat Kegiatan.
- Lihat kebawah Tabel Penyelesai Penerima untuk BroadcastReceiver.
- Periksalah Tabel Penyelesai Layanan untuk Layanan.
- Dan seterusnya.
Setiap komponen akan menampilkan tindakan yang diperlukan untuk meluncurkannya, nama komponen, dan mungkin beberapa informasi tambahan.
Alternatifnya, jika Anda ingin cara yang lebih mudah untuk melihat Aktivitas, Layanan, dan Penerima, Anda dapat menggunakan aplikasi Root Activity Launcher dari Pengembang yang Diakui XDA Zacharee1. Ini akan menunjukkan kepada Anda komponen-komponen untuk setiap aplikasi, bersama dengan banyak fitur berguna lainnya.
Harga: 0,99.
Kegiatan peluncuran, layanan, dan penerima siaran
ADB juga dapat digunakan untuk meluncurkan Aktivitas, memulai Layanan, dan memberi tahu BroadcastReceivers. Anda bahkan dapat menentukan URI data dan ekstra Intent jika diperlukan.
Untuk meluncurkan komponen, Anda memerlukan nama komponen yang ingin Anda luncurkan. Anda dapat melihat bagaimana mendapatkannya dari Mencantumkan Komponen Aplikasi bagian.
Sintaks perintah untuk meluncurkan Aktivitas adalah seperti ini:
saya mulai -a <tindakan> -N <komponen>
Sintaks perintah untuk memulai Layanan adalah seperti ini:
saya memulai layanan -a <tindakan> -N <komponen>
Sintaks perintah untuk memberi tahu BroadcastReceiver adalah seperti ini:
sedang disiarkan -a <tindakan> -N <komponen>
Dalam kebanyakan kasus, untuk Aktivitas dan Layanan, Anda tidak perlu menentukan tindakan secara eksplisit. Anda biasanya hanya memerlukannya jika komponen menggunakan salah satu selain android.intent.action. UTAMA.
Di atas sintaks dasar, inilah cara menentukan lebih banyak data untuk diteruskan. Secara umum, semua nilai data harus diapit dengan tanda kutip ganda.
- -D memungkinkan Anda menentukan URI data.
- -e atau --es memungkinkan Anda menentukan ekstra String.
- --esn memungkinkan Anda menentukan ekstra String nol.
- --ez digunakan untuk menentukan ekstra boolean.
- --ei digunakan untuk menentukan tambahan bilangan bulat.
- --el adalah untuk menentukan tambahan panjang.
- --ef akan melewati float ekstra.
- --eu melewati ekstra URI.
- --ecn dapat digunakan untuk menentukan tambahan nama komponen.
-
--eia
akan meneruskan nilai sebagai tambahan Integer[]., ,... -
--eial
akan meneruskan nilai sebagai Daftar, ,... . - Argumen array dan daftar yang sama juga berfungsi untuk long, float, dan String. Ganti saja Saya dengan huruf yang sesuai.
- -F memungkinkan Anda menentukan bendera.
Ada lebih banyak opsi perilaku yang dapat Anda gunakan, jadi lihat dokumentasi bawaan untuk detailnya.
Menonaktifkan dan mengaktifkan hampir semua aplikasi
Aplikasi sistem di Android tidak dapat dihapus instalasinya, dan sayangnya, banyak juga yang tidak dapat dinonaktifkan melalui Pengaturan. Meskipun ADB tidak mengizinkan Anda mencopotnya, ADB mungkin membantu Anda menonaktifkannya.
Pertama, pastikan untuk mendapatkan nama paket aplikasi yang ingin Anda nonaktifkan. Kemudian, coba perintah ini. Jika salah satu gagal, coba opsi berikutnya.
-
sore menonaktifkan
- Untuk mengaktifkan kembali, gunakan aktifkan sore
-
pm nonaktifkan-pengguna --pengguna 0
- Untuk mengaktifkan kembali, gunakan aktifkan sore
-
petang bersembunyi
- Untuk mengaktifkan kembali, gunakan pm sembunyikan
-
sore ditangguhkan
- Untuk mengaktifkan kembali, gunakan pm batalkan penangguhan
-
pm uninstall -k --user 0
- Untuk mengaktifkan kembali, gunakan pm install-ada
- Yang ini secara efektif mencopot pemasangan aplikasi dari profil pengguna Anda. Sedangkan perintah untuk mengaktifkan kembali sebaiknya bekerja, tidak ada jaminan itu akan. Anda mungkin perlu mengatur ulang pabrik untuk memulihkan aplikasi.
- Jika Anda menggunakan beberapa profil pengguna di perangkat, pastikan untuk mengganti 0 pada perintah di atas dengan ID pengguna sebenarnya yang Anda miliki.
- Untuk mengaktifkan kembali, gunakan pm install-ada
Untuk mengetahui lebih lanjut, lihat tutorial kami di cara menghapus bloatware operator dan OEM tanpa akses root.
Menangkap tangkapan layar
Sebagian besar ROM Android menawarkan dua utilitas shell yang berguna - screencap dan screenrecord - masing-masing untuk mengambil tangkapan layar dan merekam aktivitas layar. Anda dapat menghubungi mereka langsung dari shell ADB untuk mengambil tangkapan layar statis atau cuplikan video dari layar ponsel Anda dan menyimpannya langsung di penyimpanan internal perangkat.
Sintaks untuk menangkap tangkapan layar cukup mudah:
screencap shell adb /sdcard/screenshot.png
Demikian pula, jika Anda perlu mengambil screengrab dinamis, lakukan hal berikut:
catatan layar adb shell /sdcard/recording.mp4
Seperti yang Anda duga, alat screencap agak sederhana, sedangkan utilitas perekam layar menawarkan beberapa parameter. Opsi untuk yang terakhir adalah sebagai berikut:
-
--Ukuran WIDTHxHEIGHT
- Tetapkan resolusi file video (mis. "1280x720"). Secara default, ini mencoba mengambil resolusi tampilan utama perangkat target (jika didukung), dan kembali ke 1280x720 jika tidak.
-
TINGKAT --bit-tingkat
- Atur bitrate video, dalam bit per detik. Nilai dapat ditentukan sebagai bit atau megabit, mis. '4000000' setara dengan '4M'.
-
--bugreport
- Anda dapat menambahkan informasi tambahan, seperti overlay stempel waktu, yang berguna untuk mengilustrasikan bug.
-
--batas waktu WAKTU
- Tetapkan waktu perekaman maksimum, dalam detik. Default / maksimum adalah 180.
-
--tampilan-id ID
- Tentukan ID tampilan fisik yang akan direkam. Yang default diatur ke tampilan utama. Lihat "dumpsys SurfaceFlinger --display-id" untuk ID tampilan yang valid.
-
--verbose
- Menampilkan informasi mendalam mengenai sesi rekaman.
Anda dapat lebih memperluas kemampuan utilitas tangkapan layar bawaan Android dengan scrcpy. Ini adalah solusi pencerminan layar sumber terbuka, yang memanfaatkan kekuatan ADB.
Mentransfer data biner antara PC dan perangkat Android
Jika Anda tidak ingin menelurkan shell ADB lengkap, tetapi ingin menggabungkan passthrough data biner yang disederhanakan di antara PC host dan perangkat Android target, Anda dapat menggunakan exec-in
Dan exec-out
perintah.
Meskipun mereka keberadaan yang berkepanjangan, perintah exec-in dan exec-out masih belum terdokumentasi. Mereka mungkin menyebabkan kerusakan file karena cara shell yang berbeda menangani input dan output. Gunakan dengan hati-hati.
Yang pertama membantu Anda menjalankan perintah di Android dan memasukkan input konsol tanpa filter sebagai parameternya, sedangkan yang kedua melakukan kebalikannya, yaitu menjalankan perintah di Android dan menangkap output binernya yang tidak difilter oleh OS host.
Contoh:
adb eksekusi-keluar "screencap -p" > "D:\tangkapan layar.png"
Ini akan menggunakan screencap
perintah Android untuk menangkap tangkapan layar tampilan ponsel, tetapi langsung menyimpannya sebagai tangkapan layar.png di partisi D: PC host (asalkan menjalankan Windows). Di samping itu,
adb eksekusi-di dalam"cd /sdcard && tar -xf -" < "D:\backup.tar"
Ini akan mengekstrak konten file backup.tar yang disimpan di partisi D: PC host (menjalankan Windows) di root penyimpanan internal perangkat Android.
ADB adalah alat yang sangat kuat, dan dapat melakukan lebih dari apa yang di atas. Perintah dalam artikel ini hanyalah titik awal yang berguna. Untuk penggunaan lebih lanjut, lihat perintah seperti cmd -l untuk melihat berbagai layanan yang mungkin dapat Anda gunakan untuk berinteraksi dan ls -l /sistem/bin untuk melihat berbagai perintah yang dapat dieksekusi yang tersedia di ROM Android Anda.
Untuk perjalanan dan kutu Android lainnya, lihat panduan kami di cara root smartphone android, cara menginstal pemulihan TWRP, Dan cara memasang ROM khusus di perangkat Android Anda.