Skip to content

Most visited

Recently visited

navigation

Android Debug Bridge

Android Debug Bridge (adb) adalah alat baris perintah serbaguna yang memungkinkan Anda berkomunikasi dengan sebuah instance emulator atau perangkat Android yang terhubung. Ini memfasilitasi berbagai tindakan perangkat, seperti memasang dan melakukan debug aplikasi, serta menyediakan akses shell Unix yang bisa Anda gunakan untuk menjalankan berbagai perintah pada emulator atau perangkat yang terhubung. Ini adalah program klien-server yang meliputi tiga komponen:

Anda bisa menemukan alat adb di android_sdk/platform-tools/.

Cara kerja adb

Bila Anda mulai menjalankan klien adb, klien pertama kali akan memeriksa apakah ada proses server adb yang sudah berjalan. Jika tidak ada, klien akan memulai proses server. Ketika server dimulai, klien terikat ke porta 5037 TCP lokal dan mendengarkan perintah yang dikirim dari klien adb-semua klien adb menggunakan porta 5037 untuk berkomunikasi dengan server adb.

Server kemudian menyiapkan koneksi ke semua instance perangkat/emulator yang berjalan. Server mencari instance perangkat/emulator dengan memindai porta bernomor ganjil dalam rentang 5555 sampai 5585, rentang yang digunakan oleh emulator/perangkat. Ketika server menemukan daemon adb, itu menetapkan koneksi ke porta tersebut. Perhatikan bahwa setiap instance perangkat/emulator memperoleh sepasang porta berurutan — porta bernomor-genap untuk koneksi konsol dan porta bernomor-ganjil untuk koneksi adb. Misalnya:

Emulator 1, konsol: 5554
Emulator 1, adb: 5555
Emulator 2, konsol: 5556
Emulator 2, adb: 5557
dan seterusnya...

Seperti yang ditunjukkan, instance emulator yang terhubung ke adb pada porta 5555 adalah sama dengan instance yang didengarkan konsol pada porta 5554.

Setelah server menyiapkan koneksi ke semua instance emulator, Anda bisa menggunakan perintah adb untuk mengakses instance tersebut. Karena server mengelola koneksi ke instance perangkat/emulator dan menangani perintah dari beberapa klien adb, Anda bisa mengontrol setiap instance perangkat/emulator dari tiap klien (atau dari skrip).

Mengaktifkan adb debugging pada perangkat Anda

Untuk menggunakan adb dengan perangkat yang terhubung melalui USB, Anda harus mengaktifkan USB debugging dalam setelan sistem perangkat, di bawah Developer options.

Pada Android 4.2 dan yang lebih tinggi, layar Developer options disembunyikan secara default. Agar terlihat, buka Settings > About phone dan ketuk Build number tujuh kali. Kembali ke layar sebelumnya untuk menemukan Developer options di bagian bawah.

Pada beberapa perangkat, letak atau nama layar Developer options mungkin berbeda.

Anda sekarang bisa menghubungkan perangkat Anda dengan USB. Anda bisa memverifikasi bahwa perangkat Anda sudah terhubung dengan menjalankan adb devices dari direktori android_sdk/platform-tools/. Jika terhubung, Anda akan melihat nama perangkat dicantumkan sebagai "perangkat."

Catatan: Ketika Anda menghubungkan perangkat yang menggunakan Android 4.2.2 atau versi yang lebih tinggi, sistem akan menampilkan dialog untuk menanyakan apakah mau menerima kunci RSA yang memungkinkan debugging melalui komputer ini. Mekanisme keamanan ini melindungi perangkat pengguna karena memastikan bahwa USB debugging dan perintah adb lainnya tidak bisa dijalankan kecuali Anda membuka kunci perangkat dan menjawab dialog tersebut.

Untuk informasi selengkapnya tentang melakukan koneksi ke perangkat melalui USB, baca Menjalankan Aplikasi di Perangkat Keras.

Menghubungkan ke perangkat melalui Wi-Fi

adb biasanya digunakan melalui USB. Namun, dimungkinkan juga penggunaan melalui Wi-Fi, seperti yang dijelaskan di sini.

  1. Hubungkan perangkat Android dan komputer host adb ke jaringan Wi-Fi biasa yang bisa diakses oleh keduanya. Berhati- hatilah karena tidak semua jalur akses akan cocok; Anda mungkin harus menggunakan jalur akses yang telah dikonfigurasi firewall dengan benar untuk mendukung adb.

    Catatan: Jika Anda mencoba untuk menghubungkan ke perangkat Android Wear, paksalah agar terhubung ke Wi-Fi dengan mematikan Bluetooth pada ponsel yang terhubung.

  2. Hubungkan perangkat ke komputer host menggunakan kabel USB.
  3. Atur perangkat target untuk mendengarkan koneksi TCP/IP pada porta 5555.
    $ adb tcpip 5555
    
  4. Lepaskan kabel USB dari perangkat target.
  5. Temukan alamat IP perangkat Android. Misalnya, pada perangkat Nexus, Anda bisa menemukan alamat IP pada Settings > About tablet (atau About phone) > Status > IP address. Atau, pada perangkat Android Wear, Anda bisa menemukan alamat IP pada Settings > Wi-Fi Settings > Advanced > IP address.
  6. Hubungkan ke perangkat, lakukan identifikasi dengan alamat IP.
    $ adb connect device_ip_address
    
  7. Konfirmasikan bahwa komputer host Anda terhubung ke perangkat target:
    $ adb devices
    List of devices attached
    device_ip_address:5555 device
    

Semuanya siap digunakan!

Jika koneksi adb terputus:

  1. Pastikan bahwa host masih terhubung ke jaringan Wi-Fi yang sama dengan perangkat Android Anda.
  2. Hubungkan kembali dengan menjalankan langkah adb connect sekali lagi.
  3. Atau jika itu tidak berhasil, setel ulang host adb Anda:
    adb kill-server
    

    Kemudian mulai lagi dari awal.

Kueri untuk perangkat

Sebelum mengeluarkan perintah adb, akan sangat membantu apabila kita mengetahui instance perangkat/emulator yang terhubung ke server adb. Anda bisa memperoleh daftar emulator/perangkat yang terhubung menggunakan perintah devices:

adb devices

Sebagai respons, adb akan mencetak informasi status ini untuk setiap instance:

Keluaran akan berformat seperti ini:

List of devices attached
serial_number state

Berikut ini adalah contoh yang menunjukkan perintah devices dan keluarannya:

adb devices
List of devices attached
emulator-5554  device
emulator-5556  device
emulator-5558  device

Mengirimkan perintah ke perangkat tertentu

Jika beberapa instance perangkat/emulator sedang berjalan, Anda harus menentukan instance target saat mengeluarkan perintah adb. Untuk melakukannya, gunakan opsi -s dalam perintah. Penggunaan untuk opsi -s adalah:

adb -s serial_number command 

Seperti yang ditunjukkan, Anda menentukan instance target untuk perintah menggunakan nomor seri adb yang ditetapkan. Anda bisa menggunakan perintah devices untuk memperoleh nomor seri dari instance perangkat/emulator yang berjalan. Misalnya:

adb -s emulator-5556 install helloWorld.apk

Perhatikan bahwa, jika Anda mengeluarkan perintah tanpa menentukan target instance perangkat/emulator ketika tersedia beberapa perangkat, adb akan menghasilkan kesalahan.

Jika Anda memiliki beberapa perangkat tersedia (perangkat keras atau emulasi), namun hanya satu yang merupakan emulator, gunakan opsi -e untuk mengirimkan perintah ke emulator. Begitu juga jika ada beberapa perangkat namun hanya satu perangkat keras yang terpasang, gunakan opsi -d untuk mengirimkan perintah ke perangkat keras.

Memasang aplikasi

Anda bisa menggunakan adb untuk menyalin aplikasi dari komputer development Anda dan memasangnya pada instance perangkat/emulator. Untuk melakukannya, gunakan perintah install. Dengan perintah ini, Anda harus menentukan jalur untuk file APK yang hendak dipasang:

adb install path_to_apk

Untuk informasi selengkapnya tentang cara membuat file APK yang bisa Anda pasang pada instance perangkat/emulator, lihat Membuat dan Menjalankan Aplikasi Anda.

Perhatikan bahwa, jika Anda menggunakan Android Studio, Anda tidak perlu menggunakan adb (atau aapt) secara langsung untuk memasang aplikasi pada emulator/perangkat. Sebaliknya, Android Studio menangani pemaketan dan pemasangan aplikasi untuk Anda.

Menyiapkan penerusan porta

Anda bisa menggunakan perintah forward untuk menyiapkan arbitrary penerusan porta — yang meneruskan permintaan pada porta host tertentu ke porta yang berbeda pada instance perangkat/emulator. Begini caranya menyiapkan penerusan dari host porta 6100 ke porta 7100 emulator/perangkat:

adb forward tcp:6100 tcp:7100

Anda juga bisa menggunakan adb untuk menyiapkan penerusan ke soket domain UNIX bernama abstrak, seperti yang digambarkan di sini:

adb forward tcp:6100 local:logd 

Menyalin file ke/dari perangkat

Anda bisa menggunakan perintah adb pull dan push untuk menyalin file ke dan dari instance perangkat/emulator. Berbeda dengan perintah install, yang hanya menyalin file APK ke lokasi tertentu, perintah pull dan push mengizinkan Anda bebas menyalin direktori dan file sembarang ke lokasi mana pun dalam instance perangkat/emulator.

Untuk menyalin file atau direktori (dan sub-direktori nya) dari emulator atau perangkat, gunakan

adb pull remote local

Untuk menyalin file atau direktori (dan sub-direktori nya) ke emulator atau perangkat, gunakan

adb push local remote

Dalam perintah, local dan remote mengacu pada jalur untuk file/direktori target pada mesin development (lokal) dan pada instance perangkat/emulator (jarak jauh). Misalnya:

adb push foo.txt /sdcard/foo.txt

Menghentikan server adb

Dalam beberapa kasus, Anda mungkin harus menghentikan proses server adb dan kemudian memulai ulang untuk menyelesaikan masalah (mis. 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.

Referensi perintah adb

Anda bisa mengeluarkan perintah adb dari baris perintah pada mesin development atau dari skrip. Penggunaannya adalah:

adb [-d|-e|-s serial_number] command

Jika hanya ada satu emulator yang berjalan atau hanya satu perangkat yang terhubung, perintah adb secara default akan dikirim ke perangkat tersebut. Jika beberapa emulator telah berjalan dan/atau beberapa perangkat terpasang, Anda harus menggunakan opsi -d, -e, atau -s untuk menentukan perangkat target mana yang menjadi sasaran perintah.

Tabel berikut mencantumkan semua perintah adb yang didukung dan menjelaskan makna serta penggunaannya.

Tabel 1. Perintah adb yang tersedia

Kategori Perintah Keterangan Komentar
Perangkat Target -d Mengarahkan perintah adb ke satu-satunya perangkat USB yang terpasang. Mengembalikan kesalahan jika terpasang lebih dari satu perangkat USB.
-e Mengarahkan perintah adb ke satu-satunya instance emulator yang berjalan. Mengembalikan kesalahan jika terdapat lebih dari satu instance emulator yang berjalan.
-s serial_number Mengarahkan perintah adb ke instance perangkat/emulator tertentu, diarahkan berdasarkan nomor seri adb yang ditetapkan (seperti "emulator-5556"). Lihat Mengarahkan Perintah untuk Instance Perangkat/Emulator Tertentu.
Umum devices Mencetak daftar semua instance perangkat/emulator yang terpasang. Lihat Melakukan Kueri untuk Instance Perangkat/Emulator untuk informasi selengkapnya.
help Mencetak daftar perintah adb yang didukung.  
version Mencetak nomor versi adb.  
Debug logcat [option] [filter-specs] Mencetak data log ke layar.  
bugreport Mencetak data dumpsys, dumpstate, dan logcat ke layar, untuk tujuan pelaporan bug.  
jdwp Mencetak daftar pemrosesan JDWP yang tersedia pada perangkat tertentu. Anda bisa menggunakan spesifikasi penerusan-port forward jdwp:pid untuk menghubungkan ke proses JDWP tertentu. Misalnya:
adb forward tcp:8000 jdwp:472
jdb -attach localhost:8000
Data install path_to_apk Mendorong aplikasi Android (ditetapkan sebagai jalur lengkap untuk file APK) ke emulator/perangkat.  
pull remote local Menyalin file tertentu dari sebuah instance perangkat/emulator ke komputer development Anda.  
push local remote Menyalin file tertentu dari komputer development Anda ke sebuah instance perangkat/emulator.  
Porta dan Jaringan forward local remote Meneruskan soket koneksi dari porta lokal ke porta jarak jauh yang ditetapkan pada instance perangkat/emulator. Spesifikasi porta bisa menggunakan skema ini:
  • tcp:port_number
  • local:unix_domain_socket_name
  • dev:character_device_name
  • jdwp:pid
ppp tty [parm]... Menjalankan PPP melalui USB.
  • tty — tty untuk aliran PPP. Misalnya dev:/dev/omap_csmi_ttyl.
  • [parm]... — nol atau opsi PPP/PPPD lainnya, seperti defaultroute, local, notty, dll.

Perhatikan bahwa Anda sebaiknya tidak memulai koneksi PPP secara otomatis.

Membuat skrip get-serialno Mencetak string nomor seri instance adb. Lihat Melakukan Kueri untuk Instance Perangkat/Emulator untuk informasi selengkapnya.
get-state Mencetak status adb dari instance perangkat/emulator.
wait-for-device Memblokir eksekusi hingga perangkat online — yaitu, sampai status instance adalah device. Anda bisa menambahkan perintah ini untuk perintah adb lainnya, bila ini terjadi, adb akan menunggu sampai instance perangkat/emulator terhubung sebelum mengeluarkan perintah lainnya. Inilah contohnya:
adb wait-for-device shell getprop
Perhatikan bahwa perintah ini tidak menyebabkan adb menunggu sampai seluruh sistem selesai booting. Untuk itu, Anda sebaiknya tidak menambahkannya ke perintah lain yang memerlukan sistem menyelesaikan booting. Sebagai contoh, install membutuhkan Android package manager, yang tersedia hanya setelah sistem menyelesaikan booting. Perintah seperti
adb wait-for-device install app.apk
akan mengeluarkan perintah install segera setelah instance emulator atau perangkat terhubung ke server adb, namun sebelum sistem Android sepenuhnya booting, sehingga akan mengakibatkan kesalahan.
Server start-server Memeriksa apakah proses server adb berjalan dan memulainya, jika tidak.  
kill-server Mengakhiri proses server adb.  
Shell shell Memulai shell jarak jauh dalam instance perangkat/emulator target. Lihat Mengeluarkan perintah shell untuk informasi selengkapnya.
shell shell_command Mengeluarkan perintah shell di instance perangkat/emulator target dan kemudian keluar dari shell jarak jauh.

Mengeluarkan perintah shell

Anda bisa menggunakan perintah shell untuk mengeluarkan perintah perangkat melalui adb, dengan atau tanpa memasukkan shell jarak jauh adb pada emulator/perangkat. Untuk mengeluarkan perintah tunggal tanpa memasukkan shell jarak jauh, gunakan perintah shell seperti ini:

adb [-d|-e|-s serial_number] shell shell_command

Atau masukkan shell jarak jauh pada emulator/perangkat seperti ini:

adb [-d|-e|-s serial_number] shell

Ketika Anda siap untuk keluar dari shell jarak jauh, tekan Control + D atau ketik exit.

Biner perintah shell disimpan dalam sistem file emulator atau perangkat, pada /system/bin/.

Memanggil activity manager (am)

Dalam sebuah shell adb, Anda bisa mengeluarkan perintah dengan alat activity manager (am) untuk melakukan berbagai tindakan sistem, seperti memulai suatu aktivitas, memaksa-berhenti sebuah proses, menyiarkan maksud, memodifikasi properti layar perangkat, dan banyak lagi. Saat dalam shell, sintaks-nya adalah:

am command

Anda juga bisa mengeluarkan perintah activity manager langsung dari adb tanpa memasukkan shell jarak jauh. Misalnya:

adb shell am start -a android.intent.action.VIEW

Tabel 2. Perintah activity manager yang tersedia

Perintah Keterangan
start [options] intent Memulai sebuah Activity yang ditentukan oleh intent.

Lihat Spesifikasi untuk argumen intent.

Pilihannya adalah:

  • -D: Mengaktifkan debugging.
  • -W: Menunggu peluncuran diselesaikan.
  • --start-profiler file: Memulai profiler dan mengirim hasilnya ke file.
  • -P file: Seperti --start-profiler, tapi pembuatan profil berhenti ketika aplikasi tidak berjalan.
  • -R count: Mengulangi jumlah count peluncuran aktivitas. Sebelum setiap pengulangan, aktivitas paling atas akan diselesaikan.
  • -S: Menghentikan paksa aplikasi target sebelum memulai aktivitas.
  • --opengl-trace: Mengaktifkan pelacakan fungsi OpenGL.
  • --user user_id | current: Menentukan pengguna yang menjalankannya; jika tidak ditetapkan, maka jalankan sebagai pengguna saat ini.
startservice [options] intent Memulai Service yang ditentukan oleh intent.

Lihat Spesifikasi untuk argumen intent.

Pilihannya adalah:

  • --user user_id | current: Menentukan pengguna yang menjalankannya; jika tidak ditetapkan, maka jalankan sebagai pengguna saat ini.
force-stop package Menghentikan paksa segala sesuatu yang berkaitan dengan package (nama paket aplikasi).
kill [options] package Mematikan semua pemrosesan yang berkaitan dengan package (nama paket aplikasi). Perintah ini hanya mematikan proses yang aman untuk dimatikan dan yang tidak memengaruhi pengalaman pengguna.

Pilihannya adalah:

  • --user user_id | all | current: Menentukan pengguna yang pemrosesannya dimatikan; semua pengguna jika tidak ditetapkan.
kill-all Mematikan semua proses latar belakang.
broadcast [options] intent Mengeluarkan maksud siaran.

Lihat Spesifikasi untuk argumen intent.

Pilihannya adalah:

  • [--user user_id | all | current]: Menentukan pengguna yang akan dikirimi; jika tidak ditetapkan, kirim ke semua pengguna.
instrument [options] component Memulai pemantauan dengan instance Instrumentation. Biasanya component target berformat test_package/runner_class.

Pilihannya adalah:

  • -r: Mencetak hasil mentah (jika tidak, lakukan dekode report_key_streamresult). Gunakan dengan [-e perf true] guna menghasilkan keluaran mentah untuk pengukuran kinerja.
  • -e name value: Mengatur argumen name ke value. Untuk test runner, format yang biasa dipakai adalah -e testrunner_flag value[,value...].
  • -p file: Menulis profil data ke file.
  • -w: Menunggu instrumentasi hingga selesai sebelum kembali. Membutuhkan test runner.
  • --no-window-animation: Mematikan animasi jendela saat berjalan.
  • --user user_id | current: Menentukan instrumentasi pengguna yang dijalankan; pengguna saat ini akan dipilih jika tidak ditetapkan.
profile start process file Memulai profiler pada process, menulis hasilnya ke file.
profile stop process Menghentikan profiler pada process.
dumpheap [options] process file Membuang heap process, menulis ke file.

Pilihannya adalah:

  • --user [user_id|current]: Ketika memberikan nama proses, tentukan pengguna dari proses yang dibuang; menggunakan pengguna saat ini jika tidak ditetapkan.
  • -n: Membuang heap asli bukannya heap yang dikelola.
set-debug-app [options] package Mengatur package aplikasi untuk debug.

Pilihannya adalah:

  • -w: Menunggu debugger saat aplikasi dimulai.
  • --persistent: Mempertahankan nilai ini.
clear-debug-app Mengosongkan paket set sebelumnya untuk debugging dengan set-debug-app.
monitor [options] Memulai pemantauan untuk kejadian mogok atau ANR.

Pilihannya adalah:

  • --gdb: Memulai gdbserv pada porta yang diberikan saat mogok/ANR.
screen-compat {on|off} package Mengontrol mode kompatibilitas layar dari package.
display-size [reset|widthxheight] Mengganti ukuran layar emulator/perangkat. Perintah ini berguna untuk menguji aplikasi Anda pada ukuran layar yang berbeda dengan meniru resolusi layar kecil menggunakan perangkat berlayar besar, dan sebaliknya.

Contoh:
am display-size 1280x800

display-density dpi Mengganti kepadatan layar emulator/perangkat. Perintah ini berguna untuk menguji aplikasi Anda di kepadatan layar yang berbeda pada lingkungan layar kepadatan-tinggi menggunakan layar kepadatan rendah, dan sebaliknya.

Contoh:
am display-density 480

to-uri intent Mencetak spesifikasi maksud yang diberikan sebagai URI.

Lihat Spesifikasi untuk argumen intent.

to-intent-uri intent Mencetak spesifikasi maksud yang diberikan sebagai intent: URI.

Lihat Spesifikasi untuk argumen intent.

Memanggil package manager (pm)

Dalam shell adb, Anda bisa mengeluarkan perintah dengan alat package manager (pm) untuk melakukan tindakan dan kueri pada paket aplikasi yang dipasang pada perangkat. Saat dalam shell, sintaks-nya adalah:

pm command

Anda juga bisa mengeluarkan perintah package manager secara langsung dari adb tanpa memasukkan shell jarak jauh. Misalnya:

adb shell pm uninstall com.example.MyApp

Tabel 3. Perintah package manager yang tersedia.

Perintah Keterangan
list packages [options] filter Mencetak semua paket, opsional hanya bagi mereka yang nama paketnya berisi teks dalam filter.

Opsi:

  • -f: Melihat file yang terkait.
  • -d: Filter untuk hanya menampilkan paket yang dinonaktifkan.
  • -e: Filter untuk hanya menampilkan paket yang diaktifkan.
  • -s: Filter untuk hanya menampilkan paket sistem.
  • -3: Filter untuk hanya menampilkan paket pihak ketiga.
  • -i: Lihat pemasang untuk paket.
  • -u: Juga meliputi paket yang dicopot pemasangannya.
  • --user user_id: Ruang pengguna untuk kueri.
list permission-groups Mencetak semua grup izin yang diketahui.
list permissions [options] group Mencetak semua izin yang diketahui, opsional hanya untuk mereka dalam group.

Opsi:

  • -g: Dikelola oleh grup.
  • -f: Mencetak semua informasi.
  • -s: Rangkuman singkat.
  • -d: Hanya mencantumkan daftar izin berbahaya.
  • -u: Hanya mencantumkan daftar yang bisa dilihat pengguna berizin.
list instrumentation [options] Mencantumkan daftar semua paket tes.

Opsi:

  • -f: Mencantumkan daftar file APK untuk paket tes.
  • target_package: Mencantumkan daftar paket tes hanya untuk aplikasi ini.
list features Mencetak semua fitur dari sistem.
list libraries Mencetak semua pustaka yang didukung oleh perangkat saat ini.
list users Mencetak semua pengguna pada sistem.
path package Mencetak jalur ke APK dari package yang diberikan.
install [options] path Pemasangan paket (ditetapkan dengan path) ke sistem.

Opsi:

  • -l: Memasang paket dengan kunci penerusan.
  • -r: Memasang ulang aplikasi yang sudah ada, dan menjaga datanya.
  • -t: Mengizinkan APK pengujian untuk dipasang.
  • -i installer_package_name: Menetapkan nama paket pemasang.
  • -s: Memasang paket pada penyimpanan massal bersama (seperti sdcard).
  • -f: Memasang paket pada memori sistem internal.
  • -d: Mengizinkan penurunan kode versi.
  • -g: Memberikan semua izin yang tercantum dalam manifes aplikasi.
uninstall [options] package Membuang paket dari sistem.

Opsi:

  • -k: Menyimpan direktori cache dan data setelah penghapusan paket.
clear package Menghapus semua data yang berhubungan dengan paket.
enable package_or_component Mengaktifkan paket atau komponen yang diberikan (ditulis sebagai "paket/kelas").
disable package_or_component Menonaktifkan paket atau komponen yang diberikan (ditulis sebagai "paket/kelas").
disable-user [options] package_or_component

Opsi:

  • --user user_id: Pengguna yang dinonaktifkan.
grant package_name permission Memberikan izin untuk aplikasi. Pada perangkat yang menjalankan Android 6.0 (API level 23) dan lebih tinggi, boleh jadi setiap izin dideklarasikan dalam manifes aplikasi. Pada perangkat yang menjalankan Android 5.1 (API level 22) dan lebih rendah, harus berupa izin opsional yang didefinisikan oleh aplikasi.
revoke package_name permission Mencabut izin dari aplikasi. Pada perangkat yang menjalankan Android 6.0 (API level 23) dan lebih tinggi, boleh jadi setiap izin dideklarasikan dalam manifes aplikasi. Pada perangkat yang menjalankan Android 5.1 (API level 22) dan lebih rendah, harus berupa izin opsional yang didefinisikan oleh aplikasi.
set-install-location location Mengubah lokasi pemasangan default. Nilai lokasi:
  • 0: Auto—Memungkinkan sistem menentukan lokasi terbaik.
  • 1: Internal—pemasangan pada storage perangkat internal.
  • 2: External—pemasangan pada media eksternal.

Catatan: Ini khusus ditujukan untuk debugging; menggunakan ini bisa menyebabkan aplikasi berhenti dan perilaku lain yang tidak diinginkan.

get-install-location Mengembalikan lokasi pemasangan saat ini. Nilai kembalian:
  • 0 [auto]: Memungkinkan sistem menentukan lokasi terbaik.
  • 1 [internal]: Pemasangan pada storage perangkat internal.
  • 2 [external]: Pemasangan pada media eksternal.
set-permission-enforced permission [true|false] Menentukan apakah izin yang diberikan harus diberlakukan.
trim-caches desired_free_space Memangkas file cache untuk mencapai ruang kosong yang diberikan.
create-user user_name Membuat pengguna baru dengan user_name yang diberikan, mencetak identifier pengguna baru dari pengguna.
remove-user user_id Membuang pengguna dengan user_id yang diberikan, menghapus semua data yang terkait dengan pengguna tersebut
get-max-users Mencetak jumlah maksimum pengguna yang didukung oleh perangkat.

Mengambil tangkapan layar

Perintah screencap adalah utilitas shell untuk mengambil tangkapan layar dari layar perangkat. Saat dalam shell, sintaks-nya adalah:

screencap filename

Untuk menggunakan screencap dari baris perintah, ketik perintah berikut:

$ adb shell screencap /sdcard/screen.png

Berikut adalah contoh sesi tangkapan layar, menggunakan shell adb untuk menjepret tangkapan layar dan perintah pull untuk mengunduh file 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 merekam aktivitas layar dalam bentuk file MPEG-4.

Catatan: Audio tidak direkam bersama dengan file video.

Developer bisa menggunakan file ini untuk membuat video promosi atau pelatihan. Saat dalam shell, sintaks-nya adalah:

screenrecord [options] filename

Untuk menggunakan screenrecord dari baris perintah, ketik perintah berikut:

$ adb shell screenrecord /sdcard/demo.mp4

Menghentikan perekaman layar dengan menekan Control + C, jika tidak, rekaman akan berhenti secara otomatis setelah tiga menit atau batas waktu yang ditetapkan oleh --time-limit.

Untuk mulai merekam layar perangkat Anda, jalankan perintah screenrecord untuk merekam video. Kemudian, jalankan perintah pull untuk mengunduh 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 bisa merekam pada semua resolusi yang didukung dan kecepatan bit yang Anda minta, sekaligus mempertahankan rasio aspek layar perangkat. Utilitas merekam pada resolusi layar dan orientasi asli secara default, dengan panjang maksimum tiga menit.

Ada beberapa keterbatasan dari utilitas screenrecord yang harus Anda ketahui ketika menggunakannya:

Tabel 4. opsi screenrecord

Opsi Keterangan
--help Menampilkan sintaks dan opsi perintah
--size widthxheight Menyetel ukuran video: 1280x720. Nilai default-nya adalah resolusi layar asli 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 Menyetel kecepatan bit video, dalam megabit per detik. Nilai default-nya adalah 4Mbps. Anda bisa menaikkan kecepatan bit untuk meningkatkan kualitas video, namun melakukan ini akan menghasilkan ukuran file yang lebih besar. Contoh berikut mengatur kecepatan bit perekaman ke 6Mbps:
screenrecord --bit-rate 6000000 /sdcard/demo.mp4
--time-limit time Menyetel waktu perekaman maksimum, dalam detik. Nilai default dan maksimum adalah 180 (3 menit).
--rotate Merotasi keluaran 90 derajat. Fitur ini eksperimental.
--verbose Menampilkan informasi log pada layar baris-perintah. Jika Anda tidak menyetel opsi ini, utilitas tidak akan menampilkan informasi apapun saat berjalan.

Membaca profil ART untuk aplikasi

Mulai pada Android 7.0 (API level 24) Android Runtime (ART) mengumpulkan profil eksekusi untuk aplikasi terpasang, yang digunakan untuk mengoptimalkan kinerja aplikasi. Anda mungkin ingin memeriksa profil yang dikumpulkan untuk memahami metode apa yang sering dieksekusi dan kelas yang digunakan selama memulai aplikasi.

Untuk menghasilkan format teks dari informasi profil, gunakan perintah:

$ adb shell cmd package dump-profiles package

Untuk mengambil file yang dihasilkan, gunakan:

$ adb pull /data/misc/profman/package.txt

Perintah shell lainnya

Untuk daftar dari semua program shell yang tersedia, gunakan perintah berikut:

adb shell ls /system/bin

Bantuan tersedia untuk sebagian besar perintah.

Tabel 5 mencantumkan daftar beberapa perintah shell adb yang lebih umum.

Tabel 5. Beberapa perintah shell adb lainnya

Perintah Shell Keterangan Komentar
dumpsys Mengeluarkan data sistem ke layar. Alat Dalvik Debug Monitor Server (DDMS) menawarkan lingkungan debug terintegrasi yang lebih mudah Anda gunakan.
dumpstate Mengeluarkan status ke file.
logcat [option]... [filter-spec]... Mengaktifkan pembuatan log aplikasi dan sistem serta mencetak keluaran ke layar.
dmesg Mencetak pesan debugging kernel ke layar.
start Mulai (memulai ulang) instance perangkat/emulator.  
stop Menghentikan eksekusi instance perangkat/emulator.  
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)