Tip dan trik ADB: Perintah yang harus diketahui oleh setiap power user

click fraud protection

Ada banyak hal di Android Debug Bridge yang mungkin belum Anda ketahui. Klik di sini untuk beberapa tip dan trik berguna dalam menggunakan ADB!

tautan langsung

  • Akses cangkang
  • Menghubungkan ke beberapa perangkat
  • Mentransfer file
  • Pencatatan
  • Mencantumkan aplikasi yang diinstal melalui ADB
  • Menginstal dan menghapus instalasi aplikasi melalui ADB
  • Mengekstrak APK dengan ADB
  • Mencadangkan dan memulihkan data aplikasi
  • Mencantumkan komponen aplikasi
  • Meluncurkan kegiatan, layanan, dan penerima siaran
  • Menonaktifkan dan mengaktifkan hampir semua aplikasi
  • Mengambil tangkapan layar
  • Mentransfer data biner antara PC dan perangkat Android

Jika Anda adalah penggemar Android yang berkecimpung dalam dunia modding, atau pengembang aplikasi selama jangka waktu apa pun suatu saat, cepat atau lambat, Anda akan menemukan alat keren yang disebut Android Debug Bridge, atau ADB pendek. Ini banyak digunakan di Android Studio sebagai utilitas pendamping baris perintah. Pengembang Android juga menggunakannya sebagai solusi mandiri untuk menginstal dan menguji aplikasi secara manual

Ponsel pintar Android serta perangkat Android yang ditiru.

Namun ada banyak hal yang dapat dilakukan ADB, dan sebagian besar dari hal tersebut tidak hanya berguna bagi pengembang. Meskipun Anda bukan seorang pengembang, dan Anda membaca artikel ini, kemungkinan besar Anda pernah menggunakan ADB sekali atau dua kali untuk melakukan sideload aplikasi atau mengubah izin. Namun bukan hanya itu saja kegunaan ADB. Teruslah membaca untuk mengetahui beberapa tip 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 memerlukan 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. Namun Anda juga dapat menggunakan ADB untuk membuka shell terminal pada perangkat Anda dan menjalankan perintah secara langsung. Dan itu mudah!

Di terminal atau jendela prompt perintah Anda:

adb shell

Anda kemudian akan disambut dengan a $ 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 seperti itu.

Untuk melakukan ini, Anda perlu mengetahui nomor seri perangkat target. Anda bisa mendapatkan serialnya dengan menggunakan perintah devices:

adb devices

Sekarang, gunakan -s pilihan untuk menentukan nomor seri perangkat target. Contoh:

adb -s <serialnumber> shell

Mentransfer file

Bagi pecinta baris perintah, ADB menyediakan cara yang sangat mudah untuk mentransfer file ke dan dari perangkat Android Anda. Gunakan saja pull perintah untuk menyalin file dan direktori dari perangkat dan push perintah untuk menyalin file dan direktori ke perangkat:

Jika Anda ingin menyalin file atau direktori beserta subdirektorinya ke perangkat Android:

adb push local_path device_path
  • Contoh: adb push D:\image.png /sdcard

Perintah berikut akan menyalin file atau direktori beserta subdirektorinya dari perangkat Android ke PC host:

adb pull device_path local_path
  • Contoh: adb pull /sdcard/backup_April.tar D:\Backup

Pencatatan

Android Studio menyediakan Jendela logcat, yang mendukung tampilan log dari perangkat Anda secara real time. Namun, ini 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 bagus yang terkait dengan perintah logcat.

  1. Yang pertama adalah lolcat, anggukan pada Meme LOLcat. Ini memberikan output yang sama dengan perintah logcat biasa.
    adb lolcat
  2. Yang kedua adalah longcat, yang setara dengan perintah logcat -v long. Ini menampilkan semua bidang metadata dan pesan terpisah dengan baris kosong.
    adb longcat

Mencantumkan aplikasi yang diinstal melalui ADB

Untuk melihat aplikasi yang terinstal di perangkat Anda, Anda dapat menggunakan perintah berikut:

adb shell pm list packages

Ini akan mengembalikan daftar nama paket aplikasi yang diinstal, dengan masing-masing paket diawali dengan masing-masing barisnya package:.

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.
  • -kamu akan menyertakan UID paket untuk setiap paket.
  • -kamu akan menyertakan paket yang dihapus instalasinya.
  • --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.

Menginstal dan menghapus instalasi aplikasi melalui ADB

Ini adalah penggunaan ADB yang relatif umum, namun tetap layak untuk disebutkan. Antara lain, Anda juga dapat memanfaatkan ADB untuk menginstal dan menghapus aplikasi Android ke perangkat Android Anda.

Menginstal APK

Jika Anda memiliki APK di komputer, 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 sudah ada (yaitu, pembaruan). Di Android Pie dan versi lebih baru, Anda tidak perlu menentukan opsi ini.
  • Itu -R opsi, untuk Android Pie dan versi lebih baru akan menyebabkan kegagalan penginstalan jika aplikasi sudah diinstal.
  • Itu -Saya opsi memungkinkan Anda menentukan nama paket penginstal. Inilah yang dikembalikan jika Android ingin mengetahui apa yang menginstal APK.
  • Itu -T opsi memungkinkan APK dengan android: testOnly="benar" dalam manifesnya untuk diinstal.
  • Itu -D opsi memungkinkan APK yang ditentukan untuk diturunkan versinya ke aplikasi yang sudah diinstal. 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 runtime ke aplikasi yang diinstal.

Itu belum semuanya. Jika Anda ingin daftar lengkapnya, Anda dapat melihat dokumentasi bawaan.

Beberapa APK dan bundel

Jika Anda memiliki banyak APK yang ingin dipasang sekaligus, baik dari beberapa aplikasi, atau karena Anda memasang bundel aplikasi, Anda dapat menggunakan ADB. install-multiple Dan install-multi-package fitur.

Jika semua APK Anda ditujukan untuk satu aplikasi, gunakan install-multiple:

adbinstall-multipleapk1.apkapk2.apk ...

Jika tidak, gunakan install-multi-package:

adbinstall-multi-packageapp1.apkapp2.apk ...

Opsi untuk perintah ini mirip dengan install, tetapi dengan beberapa keterbatasan. Lihat dokumentasi bawaan ADB untuk mengetahui opsi apa saja yang tersedia.

Mencopot pemasangan 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, menguninstallnya semudah:

adb uninstall <packagename>

Biasanya Anda tidak dapat menghapus instalasi sistem atau aplikasi yang sudah diinstal sebelumnya menggunakan perintah ini. Namun Anda mungkin dapat menonaktifkannya dengan ADB. Lihat bagiannya Menonaktifkan dan mengaktifkan hampir semua aplikasi untuk detailnya.

Mengekstrak APK dengan ADB

Ada banyak alasan mengapa Anda mungkin ingin mengekstrak APK suatu aplikasi. Mungkin Anda ingin mencadangkannya untuk digunakan di masa mendatang, atau mungkin sudah tidak tersedia online dan Anda ingin mentransfernya ke perangkat lain.

Mengekstrak aplikasi menggunakan ADB cukup sederhana. Pertama, Anda ingin mencari nama paket aplikasi yang ingin Anda ekstrak. Ada beberapa cara untuk melakukan hal ini, namun cara termudah biasanya adalah menggunakan aplikasi Setelan perangkat Anda untuk melihatnya daftar semua aplikasi yang diinstal, pilih salah satu yang Anda inginkan, dan gulir ke bawah hingga Anda menemukan nama paket atau aplikasi PENGENAL.

Setelah Anda memiliki nama paket, jalankan perintah berikut:

adb shell pm path <packagename>

Perintah ini akan mengembalikan jalur semua APK untuk nama paket tersebut.

Anda kemudian dapat menggunakan perintah berikut untuk menarik setiap APK ke komputer Anda:

adb pull /path/to/apk.apk

Mencadangkan dan memulihkan data aplikasi

Meskipun Google belum membuat metodologi pencadangan sekali klik seperti iOS, Anda dapat menggunakan ADB untuk mencadangkan dan memulihkan aplikasi yang terinstal beserta datanya. Namun, fungsinya masih jauh dari sempurna, dan Google sudah melakukannya menandai fitur tersebut sebagai tidak digunakan lagi.

Cadangan

Untuk mencadangkan satu aplikasi, dengan APK-nya:

adb backup -apk <packagename> -f package_name_backup.ab

Jika Anda ingin mencadangkan semua data aplikasi sekaligus:

adb backup -f all -all -apk -nosystem

Karena modul pemulihan tidak dapat melakukan restorasi khusus aplikasi individual, lebih baik membuat cadangan khusus paket. Cuplikan perintah berikut (kompatibel dengan Linux/macOS dan Subsistem Windows untuk Linux) dapat melakukannya untuk Anda:

for APP in $(adb shell pm list packages -3)
do
APP=$( echo${APP} | sed "s/^package://")
adb backup -f ${APP}.backup ${APP}
done

Memulihkan

Pertama, Anda perlu menginstal APK yang disimpan;

adb install <packagename>.apk

Kemudian Anda dapat memulihkan datanya:

adbrestorepackage_name_backup.ab

Sekali lagi, fungsi pencadangan dan pemulihan ADB memiliki beberapa peringatan, termasuk hasil yang bervariasi tergantung pada ROM

Mencantumkan komponen aplikasi

Komponen aplikasi adalah aktivitas, Penerima Siaran, Layanan, dan sebagainya. Terkadang mengetahui nama komponen ini dalam aplikasi tertentu berguna, terutama jika Anda ingin meluncurkan Aktivitas tersembunyi atau mengirim siaran dengan data tertentu.

Sayangnya, ADB tidak memiliki cara yang bersih dalam membuat daftar komponen aplikasi. Tapi itu mungkin. Jalankan perintah berikut:

adb shell dumpsys package

Sejumlah besar teks akan dikembalikan.

  • Gulir sampai Anda menemukan Tabel Penyelesai Aktivitas judul untuk melihat Kegiatan.
  • Lihat kebawah Tabel Penyelesai Penerima untuk Penerima Siaran.
  • 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 XDA Recognized Developer Zacharee1. Ini akan menunjukkan kepada Anda komponen-komponen tersebut untuk setiap aplikasi, bersama dengan banyak fitur berguna lainnya.

Peluncur Aktivitas RootPengembang: Zachary mengembara

Harga: 0,99.

Unduh

Meluncurkan kegiatan, layanan, dan penerima siaran

ADB juga dapat digunakan untuk meluncurkan Aktivitas, memulai Layanan, dan memberi tahu BroadcastReceivers. Anda bahkan dapat menentukan URI data dan tambahan Intent jika diperlukan.

Untuk meluncurkan komponen, Anda memerlukan nama komponen yang ingin Anda luncurkan. Anda dapat melihat cara mendapatkannya dari Mencantumkan Komponen Aplikasi bagian.

Sintaks perintah untuk meluncurkan suatu Aktivitas adalah seperti ini:

am start -a <action> -n <component>

Sintaks perintah untuk memulai Layanan adalah seperti ini:

am startservice -a <action> -n <component>

Sintaks perintah untuk memberitahukan BroadcastReceiver adalah seperti ini:

am broadcast -a <action> -n <component>

Dalam kebanyakan kasus, untuk Aktivitas dan Layanan, Anda tidak perlu menentukan tindakan secara eksplisit. Biasanya Anda hanya memerlukannya jika komponen menggunakan komponen selain itu android.intent.action. UTAMA.

Selain sintaks dasar, berikut cara menentukan lebih banyak data untuk diteruskan. Secara umum, semua nilai data harus diapit tanda kutip ganda.

  • -D memungkinkan Anda menentukan URI data.
  • -e atau --es memungkinkan Anda menentukan tambahan String.
  • --esn memungkinkan Anda menentukan tambahan String null.
  • --ez digunakan untuk menentukan tambahan boolean.
  • --ei digunakan untuk menentukan tambahan bilangan bulat.
  • --el adalah untuk menentukan tambahan panjang.
  • --ef akan melewati float ekstra.
  • --eu melewati tambahan URI.
  • --ecn dapat digunakan untuk menentukan tambahan nama komponen.
  • --eia ,,... akan meneruskan nilai sebagai tambahan Integer[].
  • --sial ,,... akan meneruskan nilai sebagai Daftar.
  • Argumen array dan daftar yang sama juga berfungsi untuk long, float, dan Strings. Ganti saja Saya dengan surat yang sesuai.
  • -F memungkinkan Anda menentukan bendera.

Ada lebih banyak opsi perilaku yang dapat Anda gunakan, jadi lihatlah dokumentasi bawaan untuk mengetahui detailnya.

Menonaktifkan dan mengaktifkan hampir semua aplikasi

Aplikasi sistem di Android tidak dapat di-uninstall, dan sayangnya, banyak juga yang tidak dapat dinonaktifkan melalui Pengaturan. Meskipun ADB tidak mengizinkan Anda menghapus instalasinya, ADB dapat membantu Anda menonaktifkannya.

Pertama, pastikan untuk mendapatkan nama paket aplikasi yang ingin Anda nonaktifkan. Lalu, coba perintah ini. Jika salah satu gagal, coba opsi berikutnya.

  • malam nonaktifkan
    • Untuk mengaktifkan kembali, gunakan malam aktifkan
  • pm nonaktifkan-pengguna --pengguna 0
    • Untuk mengaktifkan kembali, gunakan malam aktifkan
  • sore sembunyikan
    • Untuk mengaktifkan kembali, gunakan pm tampilkan
  • sore ditangguhkan
    • Untuk mengaktifkan kembali, gunakan pm batalkan penangguhan
  • pm uninstall -k --pengguna 0
    • Untuk mengaktifkan kembali, gunakan pm install yang sudah ada
      • Yang ini secara efektif mencopot pemasangan aplikasi dari profil pengguna Anda. Sedangkan perintah untuk mengaktifkan kembali sebaiknya berhasil, tidak ada jaminan itu akan berhasil. Anda mungkin perlu melakukan reset pabrik untuk memulihkan aplikasi.
      • Jika Anda menggunakan beberapa profil pengguna di perangkat Anda, pastikan untuk mengganti 0 pada perintah di atas dengan ID pengguna sebenarnya yang Anda miliki.

Untuk mengetahui lebih lanjut, lihat tutorial kami di cara menghapus instalan bloatware operator dan OEM tanpa akses root.

Mengambil 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 layar ponsel Anda dan menyimpannya langsung di penyimpanan internal perangkat.

Sintaks untuk mengambil tangkapan layar cukup mudah:

adb shell screencap /sdcard/screenshot.png

Demikian pula, jika Anda perlu mengambil tangkapan layar dinamis, lakukan hal berikut:

adb shell screenrecord /sdcard/recording.mp4

Seperti yang Anda duga, alat screencap cukup sederhana, sedangkan utilitas screenrecord menawarkan beberapa parameter. Pilihan untuk yang terakhir adalah sebagai berikut:

  • --ukuran LEBARxTINGGI
    • Atur resolusi file video (mis. "1280x720"). Secara default, ia mencoba mengambil resolusi tampilan utama perangkat target (jika didukung), dan kembali ke 1280x720 jika tidak.
  • --tingkat kecepatan bit
    • Atur bitrate video, dalam bit per detik. Nilainya dapat ditentukan sebagai bit atau megabit, mis. '4000000' setara dengan '4M'.
  • --laporan bug
    • Anda dapat menambahkan informasi tambahan, seperti overlay stempel waktu, yang berguna untuk mengilustrasikan bug.
  • --batas waktu WAKTU
    • Atur waktu perekaman maksimum, dalam hitungan detik. Default/maksimum adalah 180.
  • --ID tampilan-ID
    • Tentukan ID tampilan fisik yang akan direkam. Yang default diatur ke tampilan utama. Lihat "dumpsys SurfaceFlinger --display-id" untuk ID tampilan yang valid.
  • --bertele-tele
    • 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 membuat shell ADB yang lengkap, namun ingin memasukkan passthrough data biner yang efisien 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 hal yang sebaliknya, yaitu menjalankan perintah di Android dan menangkap keluaran biner tanpa filter oleh OS host.

Contoh:

adb exec-out "screencap -p" > "D:\screenshot.png"

Ini akan menggunakan screencap perintah Android untuk mengambil tangkapan layar tampilan ponsel, tetapi langsung menyimpannya sebagai screenshot.png di partisi D: PC host (asalkan menjalankan Windows). Di samping itu,

adb exec-in"cd /sdcard && tar -xf -" < "D:\backup.tar"

Ini akan mengekstraksi konten file backup.tar yang disimpan di partisi D: PC host (menjalankan Windows) di root penyimpanan internal perangkat Android.


ADB adalah alat yang sangat hebat dan dapat melakukan lebih dari apa yang disebutkan 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 ponsel android anda, cara menginstal pemulihan TWRP, Dan cara menginstal ROM khusus di perangkat Android Anda.