Android Debug Bridge (adb) adalah alat command line serbaguna yang memungkinkan Anda berkomunikasi dengan perangkat. Perintah adb memfasilitasi berbagai tindakan perangkat, seperti menginstal dan men-debug aplikasi, dan memberikan akses ke shell Unix yang dapat Anda gunakan untuk menjalankan berbagai perintah di perangkat. Ini adalah program klien-server yang meliputi tiga komponen:
- Klien, yang mengirimkan perintah. Klien berjalan pada mesin pengembangan. Anda dapat memanggil klien dari terminal command line dengan mengeluarkan perintah adb.
- Daemon (adbd), yang menjalankan perintah di perangkat. Daemon berjalan sebagai proses latar belakang di setiap perangkat.
- Server, yang mengelola komunikasi antara klien dan daemon. Server berjalan sebagai proses latar belakang pada mesin pengembangan Anda.
adb
disertakan dalam paket Android SDK Platform-Tools. Anda dapat mendownload paket
ini dengan SDK Manager, yang menginstalnya
di android_sdk/platform-tools/
. Atau jika Anda menginginkan paket Android SDK
Platform-Tools mandiri, Anda dapat mendownloadnya di sini.
Untuk informasi tentang menghubungkan perangkat untuk digunakan melalui ADB, termasuk cara menggunakan Connection Assistant untuk memecahkan masalah umum, lihat Menjalankan aplikasi pada perangkat hardware.
Cara kerja adb
Saat Anda mulai menjalankan klien adb, pertama-tama klien akan memeriksa apakah ada proses server adb yang sudah berjalan. Jika tidak ada, klien akan memulai proses server. Saat server dimulai, klien akan mengait ke port 5037 TCP lokal dan memantau perintah yang dikirim dari klien adb—semua klien adb menggunakan port 5037 untuk berkomunikasi dengan server adb.
Selanjutnya server akan mengatur koneksi ke semua perangkat yang berjalan. Server akan mencari emulator dengan memindai port bernomor ganjil dalam rentang 5555 hingga 5585—rentang yang digunakan oleh 16 emulator pertama. Setelah menemukan daemon adb (adbd), server akan mengatur koneksi ke port tersebut. Perhatikan bahwa setiap emulator menggunakan sepasang port berurutan—port genap untuk koneksi konsol dan port ganjil untuk koneksi adb. Contoh:
Emulator 1, konsol: 5554
Emulator 1, adb: 5555
Emulator 2, konsol: 5556
Emulator 2, adb: 5557
dan seterusnya...
Seperti yang ditunjukkan, emulator yang terhubung ke adb pada port 5555 sama dengan emulator yang konsolnya memantau port 5554.
Setelah server mengatur sambungan ke semua perangkat, Anda dapat menggunakan perintah adb untuk mengakses perangkat tersebut. Karena server mengelola sambungan ke perangkat dan menangani perintah dari banyak klien adb, Anda dapat mengontrol perangkat apa pun dari klien mana pun (atau dari skrip).
Mengaktifkan proses debug adb di perangkat Anda
Untuk menggunakan adb dengan perangkat yang tersambung melalui USB, Anda harus mengaktifkan proses debug USB dalam setelan sistem perangkat, di bagian Opsi developer.
Pada Android 4.2 dan yang lebih tinggi, layar Opsi developer secara default disembunyikan. Agar opsi itu tersedia, buka Setelan > Tentang ponsel lalu ketuk Nomor build tujuh kali. Kembalilah ke layar sebelumnya untuk menemukan Opsi developer di bagian bawah.
Pada beberapa perangkat, letak atau nama layar untuk Opsi developer mungkin berbeda.
Anda sekarang bisa menghubungkan perangkat Anda dengan USB. Anda dapat memverifikasi bahwa perangkat
Anda tersambung dengan menjalankan adb devices
dari
direktori android_sdk/platform-tools/
. Setelah tersambung,
nama perangkat akan tercantum sebagai "perangkat".
Catatan: Ketika Anda menghubungkan perangkat yang menjalankan Android 4.2.2 atau yang lebih tinggi, sistem akan menampilkan dialog yang menanyakan apakah Anda ingin menerima kunci RSA agar proses debug dapat dijalankan melalui komputer ini. Mekanisme keamanan ini melindungi perangkat pengguna karena memastikan bahwa proses debug USB dan perintah adb lainnya tidak dapat dijalankan kecuali jika Anda dapat membuka kunci perangkat dan mengonfirmasi dialog.
Untuk informasi selengkapnya tentang cara menghubungkan ke perangkat melalui USB, baca Menjalankan Aplikasi di Perangkat Hardware.
Menghubungkan ke perangkat melalui Wi-Fi (Android 11+)
Android 11 dan yang lebih tinggi mendukung deployment dan proses debug aplikasi secara nirkabel dari komputer menggunakan Android Debug Bridge (adb). Misalnya, Anda dapat men-deploy aplikasi yang dapat di-debug ke beberapa perangkat jarak jauh, tanpa harus menghubungkan perangkat secara langsung melalui USB. Dengan cara tersebut, Anda tidak perlu menangani masalah koneksi USB umum, seperti penginstalan driver.
Untuk menggunakan proses debug nirkabel, Anda harus menghubungkan perangkat ke komputer menggunakan kode penghubung. Komputer dan perangkat Anda harus terhubung ke jaringan nirkabel yang sama. Untuk menghubungkan perangkat, ikuti langkah-langkah berikut:

- Di komputer Anda, update SDK Platform-Tools ke versi terbaru.
- Di perangkat, aktifkan opsi developer.
- Aktifkan opsi Proses debug nirkabel.
- Pada dialog yang menanyakan Izinkan proses debug nirkabel di jaringan ini?, klik Izinkan.
- Pilih Sambungkan perangkat dengan kode penghubung. Catat kode penghubung, alamat IP, dan nomor port yang ditampilkan di perangkat (lihat gambar).
- Di komputer, buka terminal dan buka
android_sdk/platform-tools
. - Jalankan
adb pair ipaddr:port
. Gunakan alamat IP dan nomor port dari langkah 5. - Saat diminta, masukkan kode penghubung yang Anda terima pada langkah 5. Akan muncul pesan
yang menunjukkan bahwa perangkat Anda berhasil disambungkan.
none Enter pairing code: 482924 Successfully paired to 192.168.1.130:37099 [guid=adb-235XY]
- (Khusus Linux atau Microsoft Windows) Jalankan
adb connect ipaddr:port
. Gunakan alamat IP dan port pada Proses debug nirkabel.
Gambar 2. Nomor IP dan port adb nirkabel.
Menghubungkan ke perangkat melalui Wi-Fi (Android 10 dan yang lebih lama)
adb biasanya berkomunikasi dengan perangkat melalui USB, tetapi Anda juga dapat menggunakan adb melalui Wi-Fi setelah menyelesaikan beberapa penyiapan awal melalui USB, seperti yang dijelaskan di bawah ini. Namun, jika Anda mengembangkan aplikasi untuk Wear OS, sebaiknya Anda mempelajari panduan cara men-debug aplikasi Wear OS, yang memiliki petunjuk khusus terkait penggunaan adb dengan Wi-Fi dan Bluetooth.
- Hubungkan perangkat Android dan komputer host adb ke jaringan Wi-Fi yang sama, yang dapat diakses oleh keduanya. Berhati-hatilah karena tidak semua titik akses (AP) akan cocok; Anda mungkin perlu menggunakan titik akses yang firewall-nya telah dikonfigurasi dengan benar untuk mendukung adb.
- Jika Anda menghubungkan ke perangkat Wear OS, nonaktifkan Bluetooth di ponsel yang disambungkan dengan perangkat.
- Hubungkan perangkat ke komputer host menggunakan kabel USB.
- Atur perangkat target untuk memantau koneksi TCP/IP pada port 5555.
adb tcpip 5555
- Lepaskan kabel USB dari perangkat target.
- Temukan alamat IP perangkat Android. Misalnya, pada perangkat Nexus, Anda dapat menemukan alamat IP di Setelan > Tentang tablet (atau Tentang ponsel) > Status > Alamat IP. Atau, di perangkat Wear OS, Anda dapat menemukan alamat IP di Setelan > Setelan Wi-Fi > Lanjutan > Alamat IP.
-
Hubungkan ke perangkat berdasarkan alamat IP-nya.
adb connect device_ip_address
-
Konfirmasikan bahwa komputer host Anda terhubung ke perangkat target:
$ adb devices List of devices attached device_ip_address:5555 device
Anda siap melanjutkan!
Jika koneksi adb terputus:
- Pastikan bahwa host masih terhubung ke jaringan Wi-Fi yang sama dengan perangkat Android Anda.
-
Hubungkan kembali dengan menjalankan langkah
adb connect
sekali lagi. -
Atau jika itu tidak berhasil, reset host adb Anda:
adb kill-server
Kemudian mulai lagi dari awal.
Kueri untuk perangkat
Sebelum mengeluarkan perintah adb, akan sangat membantu jika kita mengetahui instance perangkat yang terhubung
ke server adb. Anda dapat memperoleh daftar perangkat yang terhubung menggunakan
perintah devices
.
adb devices -l
Sebagai respons, adb akan mencetak informasi status ini untuk setiap perangkat:
- Nomor seri: String yang dibuat oleh adb untuk mengidentifikasi perangkat secara unik
berdasarkan nomor port-nya.
Berikut adalah contoh nomor seri:
emulator-5554
- Status: Status koneksi perangkat dapat berupa salah satu dari berikut:
offline
: Perangkat tidak tersambung ke adb atau tidak merespons.device
: Perangkat tersambung ke server adb. Perhatikan bahwa status ini tidak berarti bahwa sistem Android telah selesai melakukan booting dan siap digunakan, karena perangkat tersambung ke adb saat sistem masih booting. Namun, setelah booting selesai, status ini merupakan status operasional normal untuk suatu perangkat.no device
: Tidak ada perangkat yang terhubung.
- Deskripsi: Jika Anda menyertakan opsi
-l
, perintahdevices
akan memberitahukan perangkat tersebut. Informasi ini berguna jika ada beberapa perangkat yang tersambung sehingga Anda dapat membedakannya.
Contoh berikut menunjukkan perintah devices
dan output-nya. Ada tiga
perangkat yang sedang berjalan. Dua baris pertama dalam daftar adalah emulator, sedangkan baris ketiga adalah perangkat
hardware yang terpasang ke komputer.
$ adb devices List of devices attached emulator-5556 device product:sdk_google_phone_x86_64 model:Android_SDK_built_for_x86_64 device:generic_x86_64 emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 0a388e93 device usb:1-1 product:razor model:Nexus_7 device:flo
Emulator tidak tercantum
Perintah adb devices
memiliki urutan perintah corner-case yang menyebabkan emulator
yang berjalan tidak muncul di output adb devices
meskipun
emulatornya terlihat di desktop Anda. Ini terjadi saat semua kondisi berikut
terpenuhi:
- Server adb tidak berjalan, dan
- Anda menggunakan perintah
emulator
dengan opsi-port
atau-ports
pada port bernomor ganjil antara 5554 dan 5584, dan - Port bernomor ganjil yang Anda pilih tidak sibuk sehingga sambungan port dapat dilakukan pada nomor port yang ditentukan. Atau, jika port tersebut sibuk, emulator akan beralih ke port lain yang memenuhi persyaratan nomor 2, dan
- Anda memulai server adb setelah memulai emulator.
Salah satu cara untuk menghindari situasi ini adalah membiarkan emulator memilih port-nya sendiri, dan tidak menjalankan lebih
dari 16 emulator sekaligus. Cara lainnya adalah dengan selalu menjalankan server adb sebelum Anda menggunakan
perintah emulator
, seperti yang dijelaskan dalam contoh berikut.
Contoh 1: Dalam urutan perintah berikut, perintah adb devices
memulai
server adb, tetapi daftar perangkat tidak muncul.
Hentikan server adb dan masukkan perintah berikut sesuai urutan yang ditunjukkan. Untuk nama avd, berikan
nama avd yang valid dari sistem Anda. Untuk mendapatkan daftar nama avd, ketik emulator -list-avds
.
Perintah emulator
ada di direktori android_sdk/tools
.
$ adb kill-server $ emulator -avd Nexus_6_API_25 -port 5555 $ adb devices List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully *
Contoh 2: Dalam urutan perintah berikut, adb devices
menampilkan
daftar perangkat karena server adb dimulai terlebih dahulu.
Untuk melihat emulator dalam output adb devices
, hentikan server adb, lalu mulai
lagi setelah menggunakan perintah emulator
dan sebelum menggunakan
perintah adb devices
, seperti berikut:
$ adb kill-server $ emulator -avd Nexus_6_API_25 -port 5557 $ adb start-server $ adb devices List of devices attached emulator-5557 device
Untuk informasi selengkapnya tentang opsi command line emulator, lihat Menggunakan Parameter Command Line.
Mengirimkan perintah ke perangkat tertentu
Jika ada beberapa perangkat yang berjalan, Anda harus menentukan perangkat target
saat mengeluarkan perintah adb. Untuk menentukan perangkat target, gunakan perintah devices
untuk memperoleh nomor seri perangkat target tersebut. Setelah mendapatkan nomor seri, gunakan opsi
-s
dengan perintah adb untuk menentukan nomor serinya.
Jika akan mengeluarkan banyak perintah adb, Anda dapat menetapkan
variabel lingkungan $ANDROID_SERIAL
agar berisi
nomor seri. Jika Anda menggunakan
-s
dan $ANDROID_SERIAL
, maka -s
akan mengganti
$ANDROID_SERIAL
.
Pada contoh berikut, daftar perangkat yang terpasang didapatkan, kemudian nomor
seri salah satu perangkat digunakan untuk menginstal helloWorld.apk
di perangkat tersebut.
$ adb devices List of devices attached emulator-5554 device emulator-5555 device $ adb -s emulator-5555 install helloWorld.apk
Catatan: Jika Anda mengeluarkan perintah tanpa menentukan perangkat target, sementara perangkat yang tersedia ada beberapa, adb akan menghasilkan error.
Jika perangkat yang tersedia ada beberapa, tetapi hanya satu yang merupakan emulator,
gunakan opsi -e
untuk mengirim perintah ke emulator. Begitu juga jika perangkat yang tersedia ada beberapa,
tetapi hanya satu perangkat hardware yang terpasang, gunakan opsi -d
untuk mengirimkan perintah ke
perangkat hardware.
Menginstal aplikasi
Anda dapat menggunakan adb untuk menginstal APK di emulator atau perangkat yang terhubung
menggunakan perintah install
:
adb install path_to_apk
Anda harus menggunakan opsi -t
dengan perintah install
saat menginstal APK pengujian. Untuk informasi selengkapnya,
lihat -t
.
Untuk informasi selengkapnya tentang cara membuat file APK yang bisa Anda instal pada instance perangkat/emulator, lihat Membuat dan Menjalankan Aplikasi Anda.
Perhatikan bahwa, jika menggunakan Android Studio, Anda tidak perlu menggunakan adb secara langsung untuk menginstal aplikasi pada emulator/perangkat. Sebaliknya, Android Studio akan menangani pemaketan dan penginstalan aplikasi itu untuk Anda.
Siapkan penerusan port
Anda dapat menggunakan perintah forward
untuk menyiapkan penerusan port arbitrer, yang
meneruskan permintaan pada port host tertentu ke port yang berbeda di perangkat.
Contoh berikut ini menyiapkan penerusan port host 6100 ke port perangkat 7100:
adb forward tcp:6100 tcp:7100
Contoh berikut ini menyiapkan penerusan port host 6100 ke :logd: lokal
adb forward tcp:6100 local:logd
Menyalin file ke/dari perangkat
Gunakan perintah pull
dan push
untuk menyalin file ke
dan dari perangkat. Tidak seperti perintah install
,
yang hanya menyalin file APK ke lokasi tertentu, perintah pull
dan push
memungkinkan Anda menyalin sembarang direktori dan file ke lokasi mana pun di perangkat.
Untuk menyalin file atau direktori beserta subdirektorinya dari perangkat, gunakan kode berikut:
adb pull remote local
Untuk menyalin file atau direktori beserta subdirektorinya ke perangkat, gunakan kode berikut:
adb push local remote
Ganti local
dan remote
dengan jalur ke
direktori/file target di mesin pengembangan Anda (lokal) dan di
perangkat (jarak jauh). Contoh:
adb push foo.txt /sdcard/foo.txt
Menghentikan server adb
Dalam beberapa kasus, Anda mungkin perlu menghentikan proses server adb, lalu memulai ulang server untuk menyelesaikan masalah (misalnya jika adb tidak merespons perintah).
Untuk menghentikan server adb, gunakan perintah adb kill-server
.
Anda kemudian bisa memulai ulang server dengan menjalankan perintah adb lainnya.
Memberikan perintah adb
Anda dapat memberikan perintah adb dari command line pada perangkat pengembangan atau dari skrip. Penggunaannya adalah:
adb [-d | -e | -s serial_number] command
Jika hanya ada satu emulator yang berjalan atau satu perangkat yang tersambung, perintah adb
secara default akan dikirim ke perangkat tersebut. Jika beberapa emulator berjalan dan/atau beberapa perangkat
terpasang, Anda harus menggunakan opsi -d
, -e
, atau -s
untuk menentukan perangkat target mana yang menjadi tujuan perintah.
Anda dapat melihat daftar detail dari semua perintah adb yang didukung menggunakan perintah berikut:
adb --help
Memberikan perintah shell
Anda dapat menggunakan perintah shell
untuk memberikan perintah perangkat melalui adb, atau untuk memulai
shell interaktif.
Untuk memberikan perintah tunggal, gunakan perintah shell
seperti ini:
adb [-d |-e | -s serial_number] shell shell_command
Untuk memulai shell interaktif pada perangkat, gunakan perintah shell
seperti ini:
adb [-d | -e | -s serial_number] shell
Untuk keluar dari shell interaktif, tekan Control + D atau ketik exit
.
Catatan:
Dengan Android Platform-Tools 23 dan yang lebih baru, adb menangani argumen dengan cara yang sama
seperti perintah ssh(1)
.
Perubahan ini telah memperbaiki banyak masalah terkait
injeksi perintah
dan sekarang memungkinkan
eksekusi perintah yang berisi
metakarakter shell, seperti
adb install Let\'sGo.apk
, dengan aman. Tetapi, perubahan ini berarti interpretasi
setiap perintah yang mengandung metakarakter shell juga telah berubah.
Misalnya, perintah adb shell setprop foo 'a b'
sekarang merupakan error karena
tanda kutip tunggal ('
) tertutup oleh shell lokal, dan perangkat melihat
adb shell setprop foo a b
. Agar perintah ini berfungsi, kutip dua kali,
satu untuk shell lokal dan satu lagi untuk shell jauh, sama seperti yang Anda lakukan dengan
ssh(1)
. Contohnya, adb shell setprop foo "'a b'"
.
Android menyediakan sebagian besar alat command line Unix biasa. Untuk daftar alat yang tersedia, gunakan perintah berikut:
adb shell ls /system/bin
Bantuan tersedia untuk sebagian besar perintah melalui argumen --help
.
Banyak perintah shell disediakan oleh
toybox.
Bantuan umum yang berlaku untuk semua perintah toybox tersedia melalui toybox --help
.
Lihat juga Alat Command Line Logcat yang berguna untuk memantau log sistem.
Memanggil pengelola aktivitas (am
)
Dalam sebuah shell adb, Anda dapat memberikan perintah dengan alat pengelola aktivitas (am
) untuk
melakukan berbagai tindakan sistem, seperti memulai aktivitas, menghentikan proses
secara paksa, menyiarkan intent, memodifikasi properti layar perangkat, dan banyak lagi. Saat berada dalam shell,
sintaksisnya adalah:
am command
Anda juga bisa memberikan perintah activity manager langsung dari adb tanpa memasuki shell jarak jauh. Contoh:
adb shell am start -a android.intent.action.VIEW
Tabel 2. Perintah activity manager yang tersedia
Perintah | Deskripsi |
---|---|
start [options] intent
|
Mulai Activity yang ditetapkan oleh
intent . Lihat Spesifikasi untuk argumen intent. Opsi yang tersedia:
|
startservice [options] intent
|
Memulai Service yang ditentukan oleh
intent . Lihat Spesifikasi untuk argumen intent. Opsi yang tersedia:
|
force-stop package
|
Memaksa berhenti segala sesuatu yang berkaitan dengan package (nama paket aplikasi).
|
kill [options] package
|
Menghentikan semua proses yang berkaitan dengan package
(nama paket aplikasi). Perintah ini hanya menghentikan
proses yang aman untuk dihentikan dan yang tidak akan memengaruhi pengalaman
pengguna.
Opsi yang tersedia:
|
kill-all
|
Mematikan semua proses latar belakang. |
broadcast [options] intent
|
Memberikan intent siaran. Lihat Spesifikasi untuk argumen intent. Opsi yang tersedia:
|
instrument [options] component
|
Mulai memantau dengan
instance Instrumentation .
Biasanya component target
adalah format test_package/runner_class . Opsi yang tersedia:
|
profile start process file
|
Memulai profiler pada process , menulis hasilnya kefile .
|
profile stop process
|
Menghentikan profiler di process .
|
dumpheap [options] process file
|
Membuang heap process , menulis ke file . Opsi yang tersedia:
|
set-debug-app [options] package
|
Menetapkan package aplikasi ke debug. Opsi yang tersedia:
|
clear-debug-app
|
Mengosongkan paket yang sebelumnya ditetapkan untuk proses debug dengan set-debug-app .
|
monitor [options]
|
Memulai pemantauan error atau ANR. Opsi yang tersedia:
|
screen-compat {on | off} package
|
Mengontrol mode kompatibilitas
layar package .
|
display-size [reset | widthxheight]
|
Mengganti ukuran tampilan perangkat.
Perintah ini berguna untuk menguji aplikasi Anda pada berbagai ukuran layar dengan meniru resolusi perangkat berlayar kecil
pada perangkat berlayar besar, dan sebaliknya.
Contoh: |
display-density dpi
|
Mengganti kepadatan tampilan perangkat.
Perintah ini berguna untuk menguji aplikasi Anda pada berbagai kepadatan layar dengan meniru lingkungan layar berkepadatan
tinggi pada layar berkepadatan rendah, dan sebaliknya.
Contoh: |
to-uri intent
|
Mencetak spesifikasi intent yang ditentukan sebagai URI. |
to-intent-uri intent
|
Mencetak spesifikasi intent yang ditentukan sebagai URI intent: . |
Spesifikasi untuk argumen intent
Untuk perintah pengelola aktivitas yang menggunakan argumen intent
, Anda dapat
menentukan intent dengan opsi berikut:
Memanggil pengelola paket (pm
)
Dalam shell adb, Anda dapat memberikan perintah dengan alat pengelola paket (pm
) untuk
menjalankan tindakan dan kueri pada paket aplikasi yang diinstal pada perangkat. Saat berada dalam shell,
sintaksisnya adalah:
pm command
Anda juga dapat memberikan perintah package manager secara langsung dari adb tanpa memasuki shell jarak jauh. Contoh:
adb shell pm uninstall com.example.MyApp
Tabel 3. Perintah package manager yang tersedia.
Perintah | Deskripsi |
---|---|
list packages [options] filter
|
Mencetak semua paket, atau hanya
paket yang namanya berisi teks dalam filter . Opsi:
|
list permission-groups
|
Mencetak semua grup izin yang diketahui. |
list permissions [options] group
|
Mencetak semua izin yang diketahui, atau hanya
izin yang ada dalam group . Opsi:
|
list instrumentation [options]
|
Mencantumkan semua paket pengujian. Opsi:
|
list features
|
Mencetak semua fitur sistem. |
list libraries
|
Mencetak semua library yang didukung oleh perangkat saat ini. |
list users
|
Mencetak semua pengguna pada sistem. |
path package
|
Mencetak jalur ke APK untuk package yang ditentukan.
|
install [options] path
|
Menginstal paket (ditetapkan oleh path ) ke sistem. Opsi:
|
uninstall [options] package
|
Menghapus paket dari sistem. Opsi:
|
clear package
|
Menghapus semua data yang berhubungan dengan paket. |
enable package_or_component
|
Mengaktifkan paket atau komponen yang ditentukan (ditulis sebagai "package/class"). |
disable package_or_component
|
Menonaktifkan paket atau komponen yang ditentukan (tertulis sebagai "package/class"). |
disable-user [options] package_or_component
|
Opsi:
|
grant package_name permission
|
Memberikan izin ke aplikasi. Pada perangkat yang menjalankan Android 6.0 (API level 23) dan yang lebih baru, izin dapat berupa izin apa pun yang dideklarasikan dalam manifes aplikasi. Pada perangkat yang menjalankan Android 5.1 (API level 22) dan yang lebih rendah, izin tersebut harus berupa izin opsional yang ditentukan oleh aplikasi. |
revoke package_name permission
|
Mencabut izin dari aplikasi. Pada perangkat yang menjalankan Android 6.0 (API level 23) dan yang lebih baru, izin dapat berupa izin apa pun yang dideklarasikan dalam manifes aplikasi. Pada perangkat yang menjalankan Android 5.1 (API level 22) dan yang lebih rendah, izin tersebut harus berupa izin opsional yang ditentukan oleh aplikasi. |
set-install-location location
|
Mengubah lokasi penginstalan default. Nilai lokasi:
Catatan: Perintah ini hanya dimaksudkan untuk proses debug; penggunaannya dapat menimbulkan kerusakan aplikasi dan perilaku yang tidak diinginkan lainnya. |
get-install-location
|
Menampilkan lokasi penginstalan saat ini. Nilai yang ditampilkan:
|
set-permission-enforced permission [true | false]
|
Menentukan apakah izin yang ditentukan harus diberlakukan. |
trim-caches desired_free_space
|
Memangkas file cache untuk mencapai ruang kosong yang ditentukan. |
create-user user_name
|
Membuat pengguna baru dengan user_name yang ditentukan,
mencetak ID pengguna baru untuk pengguna tersebut.
|
remove-user user_id
|
Menghapus pengguna yang memiliki user_id yang ditentukan,
menghapus semua data yang terkait dengan pengguna tersebut
|
get-max-users
|
Mencetak jumlah maksimum pengguna yang didukung oleh perangkat. |
Memanggil pengelola kebijakan perangkat (dpm
)
Untuk membantu mengembangkan dan menguji aplikasi pengelolaan perangkat (atau aplikasi perusahaan lainnya), Anda dapat memberikan
perintah ke alat pengelola kebijakan perangkat (dpm
). Gunakan alat ini untuk mengontrol aplikasi
admin aktif atau mengubah data status kebijakan di perangkat.
Saat berada dalam shell, sintaks-nya adalah:
dpm command
Anda juga dapat memberikan perintah device policy manager secara langsung dari adb tanpa memasuki shell jarak jauh.
adb shell dpm command
Tabel 4. Perintah pengelola kebijakan perangkat yang tersedia
Perintah | Deskripsi |
---|---|
set-active-admin [options] component
|
Menetapkan component sebagai admin aktif. Opsi yang tersedia:
|
set-profile-owner [options] component
|
Menetapkan componentkomponen sebagai admin aktif dan paketnya sebagai pemilik profil untuk pengguna yang ada.
Opsi yang tersedia:
|
set-device-owner [options] component
|
Menetapkan componentkomponen sebagai admin aktif dan paketnya sebagai pemilik perangkat.
Opsi yang tersedia:
|
remove-active-admin [options] component
|
Menonaktifkan admin aktif. Aplikasi harus mendeklarasikan
android:testOnly
dalam manifesnya. Perintah ini juga akan menghapus pemilik perangkat dan profil.
Opsi yang tersedia:
|
clear-freeze-period-record
|
Membersihkan data perangkat dari periode pembekuan yang ditetapkan sebelumnya untuk update OTA sistem. Ini berguna
untuk menghindari pembatasan penjadwalan perangkat saat mengembangkan aplikasi yang mengelola periode pembekuan. Lihat
Mengelola update sistem.
Didukung pada perangkat yang menjalankan Android 9.0 (API level 28) dan yang lebih baru. |
force-network-logs
|
Memaksa sistem untuk menyiapkan log jaringan yang akan diambil oleh DPC. Jika ada
koneksi atau log DNS yang tersedia, DPC akan menerima
callback
onNetworkLogsAvailable() . Lihat Pembuatan log aktivitas jaringan.
Perintah ini memiliki batasan kapasitas. Didukung pada perangkat yang menjalankan Android 9.0 (API level 28) dan yang lebih baru. |
force-security-logs
|
Memaksa sistem untuk menyediakan log keamanan bagi DPC. Jika ada log
yang tersedia, DPC akan menerima
callback
onSecurityLogsAvailable() . Lihat Membuat log aktivitas
perangkat perusahaan.
Perintah ini memiliki batasan kapasitas. Didukung pada perangkat yang menjalankan Android 9.0 (API level 28) dan yang lebih baru. |
Mengambil screenshot
Perintah screencap
adalah utilitas shell untuk mengambil screenshot tampilan perangkat.
Saat berada dalam shell, sintaks-nya adalah:
screencap filename
Untuk menggunakan screencap
dari command line, ketik perintah:
adb shell screencap /sdcard/screen.png
Berikut adalah contoh sesi screenshot, yang menggunakan shell adb untuk mengambil screenshot dan
perintah pull
untuk mendownload filenya dari perangkat:
$ adb shell shell@ $ screencap /sdcard/screen.png shell@ $ exit $ adb pull /sdcard/screen.png
Merekam video
Perintah screenrecord
adalah utilitas shell untuk merekam tampilan perangkat
yang menjalankan Android 4.4 (API level 19) dan yang lebih tinggi. Utilitas ini merekam aktivitas layar ke dalam file
MPEG-4. Anda dapat menggunakan file ini untuk membuat video promosi atau pelatihan, atau untuk menjalankan debug dan pengujian.
Saat berada dalam shell, gunakan sintaks berikut:
screenrecord [options] filename
Untuk menggunakan screenrecord
dari command line, ketik perintah:
adb shell screenrecord /sdcard/demo.mp4
Hentikan perekaman layar dengan menekan Control + C (Command + C pada Mac); jika tidak, perekaman
akan otomatis berhenti setelah tiga menit atau batas waktu yang ditetapkan oleh --time-limit
.
Untuk mulai merekam layar perangkat, jalankan perintah screenrecord
untuk merekam
video. Kemudian, jalankan perintah pull
untuk mendownload video dari perangkat ke komputer
host. Berikut adalah contoh sesi rekaman:
$ adb shell shell@ $ screenrecord --verbose /sdcard/demo.mp4 (press Control + C to stop) shell@ $ exit $ adb pull /sdcard/demo.mp4
Utilitas screenrecord
dapat merekam pada semua resolusi yang didukung dan kecepatan bit yang Anda
minta, dengan tetap mempertahankan rasio tinggi lebar tampilan perangkat. Secara default, utilitas ini merekam dalam resolusi dan orientasi tampilan
native perangkat, dengan panjang maksimum tiga menit.
Batasan utilitas screenrecord
:
- Audio tidak direkam bersama dengan file video.
- Perekaman video tidak tersedia untuk perangkat yang menjalankan Wear OS.
- Beberapa perangkat mungkin tidak dapat merekam dalam resolusi tampilan native. Jika Anda mengalami masalah dengan perekaman layar, cobalah menggunakan resolusi layar yang lebih rendah.
- Rotasi layar selama perekaman tidak didukung. Jika layar berputar selama perekaman, sebagian layar akan terpangkas dalam rekaman.
Tabel 5. screenrecord
opsi
Opsi | Deskripsi |
---|---|
--help
|
Menampilkan sintaks dan opsi perintah |
--size widthxheight
|
Menyetel ukuran video: 1280x720 . Nilai defaultnya adalah resolusi tampilan
native perangkat (jika didukung), 1280x720 jika tidak didukung. Untuk hasil terbaik, gunakan ukuran yang didukung
oleh encoder Advanced Video Coding (AVC) perangkat Anda. |
--bit-rate rate |
Menetapkan kecepatan bit video, dalam megabit per detik. Nilai default-nya adalah 4 Mbps.
Anda bisa menaikkan kecepatan bit untuk meningkatkan kualitas video, tetapi akibatnya ukuran file film
akan lebih besar. Contoh berikut mengatur kecepatan bit perekaman ke 6 Mbps:
screenrecord --bit-rate 6000000 /sdcard/demo.mp4 |
--time-limit time |
Menetapkan waktu maksimum perekaman, dalam detik. Nilai default dan maksimum adalah 180 (3 menit). |
--rotate |
Merotasi output 90 derajat. Fitur ini masih eksperimen. |
--verbose |
Menampilkan informasi log pada layar command line. Jika Anda tidak menetapkan opsi ini, utilitas tidak akan menampilkan informasi apa pun saat dijalankan. |
Membaca profil ART untuk aplikasi
Mulai dari Android 7.0 (API level 24), Android Runtime (ART) mengumpulkan profil eksekusi untuk aplikasi yang diinstal, yang digunakan untuk mengoptimalkan performa aplikasi. Anda mungkin ingin memeriksa profil yang dikumpulkan untuk memahami metode apa yang sering dieksekusi dan class mana saja yang digunakan selama memulai aplikasi.
Untuk menghasilkan informasi profil dalam format teks, gunakan perintah:
adb shell cmd package dump-profiles package
Untuk mengambil file yang dihasilkan, gunakan:
adb pull /data/misc/profman/package.txt
Mereset perangkat pengujian
Jika Anda menguji aplikasi pada beberapa perangkat pengujian, akan mudah menyetel ulang perangkat di antara
pengujian, misalnya, untuk menghapus data pengguna dan menyetel ulang lingkungan pengujian. Anda dapat melakukan reset
ke setelan pabrik pada perangkat pengujian yang berjalan di Android 10 (API level 29) atau versi lebih baru menggunakan
perintah adb shell testharness
, seperti yang ditunjukkan di bawah ini.
adb shell cmd testharness enable
Saat memulihkan perangkat dengan testharness
, perangkat tersebut akan otomatis mencadangkan kunci
RSA yang mengizinkan proses debug melalui workstation saat ini di lokasi yang sama. Dengan begitu, setelah
perangkat direset, workstation dapat tetap melakukan debug dan mengeluarkan perintah adb ke perangkat
tanpa mendaftarkan kunci baru secara manual.
Selain itu, untuk mempermudah dan mengamankan pengujian aplikasi Anda, menggunakan
testharness
untuk memulihkan perangkat juga akan mengubah setelan perangkat berikut:
- Perangkat menyiapkan setelan sistem tertentu sehingga wizard penyiapan perangkat awal tidak akan muncul. Dengan begitu, perangkat memasuki kondisi di mana Anda dapat menginstal, men-debug, dan menguji aplikasi Anda dengan cepat.
- Setelan:
- Menonaktifkan layar kunci
- Menonaktifkan sinyal darurat
- Menonaktifkan sinkronisasi otomatis untuk akun
- Menonaktifkan update sistem otomatis
- Lainnya:
- Menonaktifkan aplikasi keamanan prainstal
Jika aplikasi Anda perlu mendeteksi dan beradaptasi dengan setelan default dari perintah testharness
,
Anda dapat menggunakan
ActivityManager.isRunningInUserTestHarness()
.
sqlite
sqlite3
memulai program command line sqlite untuk memeriksa database sqlite.
Hal ini mencakup perintah seperti .dump
untuk mencetak isi tabel, dan
.schema
untuk mencetak pernyataan SQL CREATE
untuk tabel yang sudah ada.
Anda juga dapat menjalankan perintah SQLite dari command line, seperti yang ditunjukkan di bawah ini.
$ adb -s emulator-5554 shell $ sqlite3 /data/data/com.example.app/databases/rssitems.db SQLite version 3.3.12 Enter ".help" for instructions
Untuk informasi selengkapnya, lihat dokumentasi command line sqlite3.