Apa utilitas `adb` ini yang saya terus dapatkan sarannya untuk digunakan?

10

Dalam banyak pertanyaan di situs ini saya melihat jawaban memberi tahu kami untuk menjalankan adb shellatau adb logcatdan sebagainya.

Sekarang, saya bukan pengguna yang sama sekali tidak mengerti, jadi saya mengunduh dan menginstal Termux dan memiliki prompt shell ketika saya bisa mengetikkan perintah, tetapi - dari mana adbbenda ini berasal? Apakah saya mengunduhnya sebagai aplikasi? Tampaknya tidak diinstal secara default (On a Redmi 3S, Android 6.0.1).

Juga, sepertinya itu semacam lift izin. Seperti apa su? Jika tidak, bagaimana bedanya?

einpoklum
sumber
@RahulGopi: Ya, saya hanya berpikir mungkin ada jawaban yang ringkas di situs ini.
einpoklum
5
Ini adalah alat yang dijelaskan dalam adb tag-wiki kami , dengan sumber daya yang ditautkan - memberi tahu Anda bahwa sebelumnya saya kira :) Ingat: Banyak dari tag kami memiliki wiki yang layak :) Lihat juga, di sini di situs kami: Apa itu ADB dan mengapa digunakan untuk? Bagaimana cara menginstalnya di perangkat saya?
Izzy
The ADB digunakan untuk mouse connect dan keyboard untuk negara-of-the-art komputer.

Jawaban:

33

Tentang adb

Singkatnya, adb(Android Debug Bridge) adalah utilitas yang dibuat untuk diinstal pada komputer, untuk membuatnya mendapatkan shell pada ponsel yang terhubung melalui kabel USB, atau pada jaringan Wi-Fi yang sama.

Pada perangkat tertentu yang menjalankan Android Lollipop (5.1.1) dan mungkin versi OS yang lebih rendah, adalah mungkin untuk menipu perangkat agar terhubung dengan dirinya sendiri, karena adbklien juga disertakan dalam telepon. Ini tidak mungkin lagi karena, dari Android Marshmallow (6.0) dan seterusnya, Google menghapus adbbiner dari ponsel untuk mengurangi permukaan serangan yang dapat digunakan.

Meskipun demikian, dimungkinkan untuk secara manual memperkenalkan kembali adbklien pada telepon, tanpa perlu mengkompilasi biner sendiri. Lihat wiki tag adb untuk info lebih lanjut tentang topik ini, serta tentang pemasangan di komputer dan pemecahan masalah umum.


Di mana mendapatkannya

Beberapa waktu yang lalu, untuk mendapatkan adbdan utilitas lain, yang disebut fastboot, seseorang harus mengunduh SDK Android lengkap dari Google, jika mereka menginginkan paket resmi. Saat ini, bundel kecil resmi telah tersedia, seperti kata XDA . Ini termasuk binari untuk sistem operasi yang paling umum.


Bagaimana itu bekerja

The adbklien, diinstal pada komputer Anda, membuat sambungan ke telepon terpasang atau terdeteksi, melalui sebuah server internal. Kemudian, pengguna akan dapat mengirim berbagai perintah ke telepon itu sendiri, yang akan didengarkan oleh adbd, daemon yang berada di telepon.

Saat menggunakan adb, Anda menyamar sebagai pengguna yang disebut shell(UID 2000). Pengguna ini istimewa, karena mereka dapat memberikan izin aplikasi dan mengakses lebih banyak informasi daripada pengguna sederhana. Namun, fakta ini tidak berarti adbsama dengan su, karena yang terakhir memungkinkan Anda menyamar sebagai pengguna.

Info lebih lanjut tentang adbdan cara kerjanya dapat diperoleh dengan melihat dokumentasi resmi .


Mengeluarkan perintah dari telepon

Mayoritas perintah yang dapat dikeluarkan melalui adbcenderung utilitas yang datang terinstal di telepon.

Untuk mengaksesnya, Anda perlu menginstal aplikasi emulator terminal pada ponsel Anda (perhatikan bahwa Termux khusus, karena itu menentukan sendiri PATH, sehingga mengabaikan biner sistem). Ini akan, misalnya, memungkinkan Anda mengeluarkan perintah seperti logcatlangsung di perangkat seluler Anda. Ingatlah untuk menghilangkan adbawalan.

Perlu disebutkan bahwa, jika Anda tidak memiliki izin root, rentang perintah yang dapat Anda jalankan dan info yang dapat Anda akses akan jauh lebih sedikit daripada jika menggunakan adb, karena UID yang memanggil mereka akan menjadi aplikasi itu sendiri, dan aplikasi memiliki izin lebih sedikit daripada UID 2000.

Grimoire
sumber
Sudah selesai dilakukan dengan baik! Sayangnya saya tidak dapat memilih dua kali :) // Ya, wiki kami terlalu sering "jumlah yang tidak diketahui". Tidak bisa cukup sering menunjuk ke sana. Tapi termasuk tautan dalam jawaban apa pun yang disebutkan di dalamnya akan agak jauh IMHO :) Di mana cocok (seperti di sini: "untuk rincian lebih lanjut ..."), ide yang bagus. Merasa bebas untuk melakukan itu - saya akan melanjutkan untuk pembersihan komentar :)
Izzy
@Izzy Poin bagus. Mari kita tunggu dan lihat apakah tautan spamming benar-benar dibutuhkan.
Grimoire
Mohon dukungan saya.
iBug
@ iBug, saya merasa terhormat.
Grimoire
2

Android Debugging Bridge (ADB) .

Ini mengirimkan perintah melalui USB atau Wifi ke perangkat android. Biasanya diinstal pada komputer yang terhubung ke perangkat. Klien ADB juga dapat dijalankan pada perangkat itu sendiri tetapi idenya adalah untuk debug perangkat secara jarak jauh.

Ini adalah bagian dari Kit Pengembangan Perangkat Lunak Android

Anda kemudian dapat menggunakan manajer SDK untuk mengunduh alat platform.

Ada juga tautan yang lebih langsung di sini jika Anda hanya tertarik pada alat platform

Dokumentasi ADB

jwwolf
sumber
Tunggu, jika itu tidak diinstal pada perangkat, mengapa orang menyarankan saya menggunakannya dalam kulit pada perangkat? misalnya dalam contoh yang saya berikan?
einpoklum
Itu poin yang bagus. Mungkin lebih tepat mengatakan perintah adb adalah "klien" yang terhubung ke perangkat android. Perangkat android juga dapat memiliki klien di dalamnya karena mengapa tidak. Tapi itu agak seperti menjalankan ssh localhost
jdwolf
Sejujurnya dokumentasi menjelaskan semua ini dengan baik: developer.android.com/studio/command-line/adb.html
jdwolf