Saya mencoba men-debug aplikasi pada Motorola Droid , tetapi saya mengalami beberapa kesulitan menghubungkan ke perangkat melalui USB. Server pengembangan saya adalah Windows 7 64-bit VM yang berjalan di Hyper-V , dan jadi saya tidak dapat terhubung langsung melalui USB di tamu atau dari tuan rumah.
Saya menginstal beberapa solusi USB-over-TCP yang berbeda, tetapi koneksi tampaknya memiliki masalah karena monitor ADB melaporkan "devicemonitor gagal memulai pemantauan" berulang kali. Apakah ada cara untuk terhubung langsung dari klien pada mesin pengembangan ke daemon pada perangkat menggunakan jaringan alih-alih koneksi USB atau mungkin opsi lain yang layak?
adb tcpip 5555
. Putuskan sambungan USB, lihat IP telepon dariSettings > About Phone > Status
. Sekarangadb connect 192.168.x.x
dan hanya itu. Tidak ada alat, tidak ada perangkat lunak. Hanya bekerja.Jawaban:
Proses Manual
Dari perangkat Anda, jika sudah di-root
Menurut posting di xda-developer , Anda dapat mengaktifkan ADB melalui Wi-Fi dari perangkat dengan perintah:
Dan Anda dapat menonaktifkannya dan mengembalikan ADB ke mendengarkan di USB dengan
Dari komputer, jika Anda sudah memiliki akses USB (tidak diperlukan root)
Lebih mudah untuk beralih menggunakan Wi-Fi, jika Anda sudah memiliki USB. Dari baris perintah di komputer yang perangkatnya terhubung melalui USB, keluarkan perintahnya
Pastikan untuk mengganti
192.168.0.101
dengan alamat IP yang sebenarnya ditetapkan untuk perangkat Anda. Setelah selesai, Anda dapat memutuskan sambungan dari sesi adb tcp dengan menjalankan:Anda dapat menemukan alamat IP tablet dalam dua cara:
Penemuan IP Manual:
Buka pengaturan WiFi Android, klik tombol menu di panel tindakan (ellipsis vertikal), tekan Advanced dan lihat alamat IP di bagian bawah layar.
Gunakan ADB untuk menemukan IP:
Jalankan perintah berikut melalui adb:
Untuk memberi tahu daemon ADB kembali mendengarkan melalui USB
Aplikasi untuk mengotomatiskan proses
Ada juga beberapa aplikasi di Google Play yang mengotomatiskan proses ini. Pencarian cepat menyarankan adbWireless , WiFi ADB dan ADB WiFi . Semua ini memerlukan akses root, tetapi adbWireless membutuhkan lebih sedikit izin.
sumber
adb tcipip 5555
danadb connect ...
tidak diperlukan root.adb tcpip <port>
masih membutuhkan salah saturo.kernel.qemu
properti yang akan diatur (berjalan dalam mode emulator),ro.secure
menjadi 0 (yaitu perangkat yang di-rooting), atauro.debuggable
danservice.adb.root
harus diatur ke 1.adbd
tidak akan membuka koneksi TCP / IP jika tidak satu pun dari yang disebutkan di atas terpenuhi. Lihat bagian netmite.com/android/mydroid/system/core/adb/adb.cadb_main
tentangsecure
variabel tersebut.adbd
pada 2.3.7 Android saya unroot tidak masuk mode TCP / IP sama sekali.Ini sangat sederhana jika ponsel Anda di-rooting.
Unduh emulator terminal dari Google Play (ada banyak yang gratis). Pastikan perangkat Android Anda terhubung ke Wi-Fi Anda dan dapatkan alamat IP Wi-Fi . Buka program terminal dan ketik:
Sekarang pergi ke komputer Anda (dengan asumsi bahwa Anda menggunakan Windows) dan buat pintasan di desktop untuk "cmd.exe" (tanpa kutipan).
Klik kanan pada shortcut cmd dan pilih
"Run as Administrator"
Ubah ke
android-sdk-windows\tools
folder AndaTipe:
adb sekarang harus mengatakan bahwa Anda terhubung.
Catatan: jika Anda terlalu cepat untuk memberikan perintah koneksi, mungkin gagal. Jadi cobalah setidaknya dua kali lima detik terpisah sebelum Anda mengatakan ini tidak berhasil.
sumber
adb tcpip 5555
dan kemudian orang lain dieksekusiadb connect myIP:5555
di PC mereka. Dia bisa menginstal aplikasi ke telepon saya tetapi dia tidak bisa men-debugnya dari jarak jauh. Apakah mungkin melakukan debug jarak jauh? Di ponsel saya ada dialogwaiting for debugger
selamanya.Sambungkan perangkat melalui USB dan pastikan debugging berfungsi, lalu jalankan:
Putuskan sambungan USB dan lanjutkan dengan debugging nirkabel.
Setelah selesai dan ingin kembali ke USB debugging, jalankan:
Untuk menemukan alamat IP perangkat Anda, buka
Settings > Wi-Fi > Advanced > IP Address
di perangkat Anda atau jalankanadb shell netcfg
.Tidak diperlukan root. Hanya satu perangkat yang dapat di-debug pada suatu waktu.
Lihat posting XDA ini .
The
adb
perintah terletak diplatform-tools
folder SDK Android.sumber
adb tcpip 5555 && adb connect <DEVICE_IP_ADDRESS>:5555
Asumsikan Anda menyimpan jalur adb ke jalur lingkungan Windows Anda
Aktifkan mode debug di Android
Terhubung ke PC melalui USB
Buka jenis prompt perintah:
adb tcpip 5555
Putuskan koneksi tablet atau smartphone Anda dari pc
Jenis prompt perintah terbuka:
adb connect IPADDRESS
(IPADDRESS adalah alamat DHCP / IP tablet atau ponsel cerdas Anda, yang dapat Anda temukan dengan Wi-Fi -> jaringan yang terhubung saat ini)Sekarang di command prompt Anda akan melihat hasilnya seperti: terhubung ke xxx.xxx.xxx.xxx=555
sumber
Dari
adb --help
:Omong-omong, itu opsi baris perintah.
Anda harus mencoba menghubungkan ponsel ke Wi-Fi Anda, dan kemudian mendapatkan alamat IP-nya dari router Anda. Itu tidak akan berfungsi pada jaringan sel.
Port adalah 5554.
sumber
adb tcpip port
karena defaultnya adalah debugging melalui usb. Setelah yang terakhir, Anda dapat terhubungconnect host:port
dan berfungsiUntuk pengguna Windows:
Langkah 1:
Anda harus mengaktifkan opsi Pengembang di ponsel Android Anda.
Anda dapat mengaktifkan opsi Pengembang menggunakan cara ini.
• Buka Pengaturan> Tentang> Informasi Perangkat Lunak> Lainnya.
• Lalu ketuk “Build number” tujuh kali untuk mengaktifkan opsi Developer.
• Kembali ke menu Pengaturan dan sekarang Anda akan dapat melihat "Opsi pengembang" di sana.
• Ketuk dan nyalakan USB Debugging dari menu di layar berikutnya.
Langkah 2:
Buka cmd dan ketik adb.
jika Anda menemukan bahwa adb bukan perintah yang valid maka Anda harus menambahkan path ke variabel lingkungan.
• Pertama buka folder yang diinstal SDK Anda.
Ikuti jalur ini dan jalur ini hanya sebagai contoh. D: \ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \; D: \ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
• Sekarang cari di pengaturan lanjutan sistem windows
•
Buka variabel Lingkungan.
kemudian buka jalur dan tempel jalur berikut ini contohnya.
Anda jalur SDK berbeda dari jalur saya, harap gunakan jalur Anda. D: \ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \;
D: \ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
Langkah 3:
Buka cmd dan ketik adb. jika Anda masih melihat bahwa adb bukan perintah yang valid maka jalur Anda belum ditetapkan dengan benar ikuti langkah-langkah di atas.
Sekarang Anda dapat menghubungkan ponsel Android Anda ke PC.
Buka cmd dan ketik perangkat adb dan Anda dapat melihat perangkat Anda. Temukan alamat ip telepon Anda.
Ketik: - adb tcpip 5555
Dapatkan alamat IP telepon Anda
Sekarang,
Sekarang jalankan proyek android Anda dan jika tidak melihat perangkat Anda, ketikkan lagi adb sambungkan alamat IP telepon Anda
Untuk pengguna Linux dan macOS :
Langkah 1: buka terminal dan instal adb menggunakan
sudo apt-get install android-tools-adb android-tools-fastboot
Hubungkan ponsel Anda melalui kabel USB ke PC. Ketik perintah berikut di terminal
Menggunakan adb, hubungkan alamat ip ponsel android Anda.
Lepaskan ponsel Anda.
sumber
Dari komputer di perangkat yang tidak di-root
(Perhatikan bahwa ini dapat dilakukan dengan menggunakan perangkat yang di-rooting juga, tetapi Anda dapat menggunakan shell pada perangkat yang di-rooting yang tidak memerlukan koneksi USB)
Pertama, buka command prompt (CMD). Jika Anda menggunakan Android Studio atau IntelliJ ada konsol yang disertakan di sana yang dapat Anda gunakan.
Jika Anda memiliki adb yang ditambahkan ke path, Anda dapat melewati bagian cd.
Jika memungkinkan, buka lokasi SDK, klik kanan, dan tekan "mulai prompt perintah di sini". Tidak semua memiliki opsi ini sehingga Anda harus melakukan ini (/ ini) perintah juga:
Windows: ubah drive (jika ada)
Dan akses sdk dan alat platform. Ganti jalur ini dengan lokasi SDK Anda:
Sekarang Anda memiliki akses ke jembatan debug Android.
Dengan perangkat yang terhubung ke komputer, lakukan:
Di mana
<port>
port yang ingin Anda hubungkan (standarnya adalah5555
) dan<ip>
merupakan IP perangkat yang ingin Anda hubungkan.Harap dicatat:
5555
adalah port default dan hanya menulis alamat IP yang menghubungkannya. Jika Anda menggunakan port khusus, Anda setidaknya dapat sedikit meningkatkan keamanan. USB debugging melalui Wi-Fi dapat disalahgunakan, tetapi hanya jika perangkat terhubung ke komputer yang ingin menyalahgunakan perangkat. Menggunakan port non-default setidaknya membuatnya agak sulit untuk dihubungkan.Jika Anda menggunakan port khusus, pastikan untuk menambahkannya setelah IP. Penulisan no port terhubung ke
5555
dan jika Anda tidak menggunakannya koneksi akan gagal.Anda dapat menemukan alamat IP suatu perangkat dengan dua cara:
Tergantung pada perangkat Anda, nama pastinya dapat bervariasi. Buka pengaturan dan buka Tentang perangkat -> Status -> alamat IP
Gunakan ADB untuk mendapatkan IP
Dari konsol, lakukan:
Dan setelah Anda selesai dengan koneksi, Anda dapat memutuskan koneksi perangkat dari komputer Anda dengan melakukan:
Atau tidak ada IP untuk memutuskan semua perangkat. Jika Anda menggunakan port khusus, Anda harus menentukan port mana yang harus dilepaskan . Defaultnya adalah 5555 di sini juga.
Untuk menonaktifkan port (jika itu adalah sesuatu yang ingin Anda lakukan), Anda melakukan perintah ini dengan perangkat yang terhubung:
Atau Anda dapat me-restart perangkat untuk menghapus koneksi tcpip
Dari komputer di perangkat yang di-rooting
Pertama, Anda perlu akses ke shell. Anda menghubungkan perangkat menggunakan kabel usb dan menggunakan
adb shell
atau mengunduh aplikasi dari Google Play, FDroid, atau sumber lain.Maka Anda melakukannya:
Dan untuk menghubungkan perangkat, Anda melakukannya dengan melakukan versi non-root
adb connect <ip>:<port>
.Dan jika Anda ingin menonaktifkan port dan kembali ke mendengarkan USB:
Anda juga dapat menggunakan plugin Android Studio untuk melakukannya untuk Anda (tidak ingat namanya sekarang), dan untuk pengguna yang di-rooting ada juga opsi untuk mengunduh aplikasi Android untuk mengatur koneksi telepon (koneksi adb mungkin masih diperlukan ).
Beberapa ponsel memiliki pengaturan dalam opsi pengembang (ini berlaku untuk beberapa ponsel yang tidak di-root, meskipun mungkin juga beberapa ponsel yang di-rooting) yang memungkinkan untuk beralih ADB melalui Wi-Fi dari perangkat itu sendiri tanpa root atau koneksi komputer untuk memulainya. Padahal ada beberapa ponsel yang memilikinya
sumber
adb shell ip -f inet addr show wlan0
Apakah alamat IP dan dukungan port akan diganti di suatu tempat di sana?Saya perlu untuk mendapatkan baik USB dan TCPIP bekerja untuk ADB (jangan tanya), jadi saya melakukan hal berikut (menggunakan arah lain telah diposting dari xda-developer)
Menggunakan
adb shell
:sumber
/sbin/adbd
. Itu mungkin berbeda di telepon. Tentu saja, Anda harus di-root ... Jika Anda tidak di-root, Anda tidak akan dapat mengakses / sbin.Untuk menghubungkan tablet Anda menggunakan port TCP. Pastikan sistem dan perangkat Anda terhubung ke jaringan yang sama.
adb tcpip 5555
adb connect 192.168.1.2
ini adalah alamat IP perangkat AndaTerhubung menggunakan port forward Cobalah melakukan port forwarding,
adb forward tcp:
<PC port>
tcp:<device port>
Suka:
Jika Anda mendapatkan pesan kesalahan: perangkat tidak ditemukan hubungkan perangkat usb ke sistem kemudian ikuti prosedur yang sama.
untuk perangkat yang di-rooting
sumber
su
dulu untuk mendapatkan konsol yang telah di-root.Saya tidak tahu bagaimana menghubungkan perangkat tanpa koneksi USB sama sekali, tetapi jika Anda berhasil menghubungkannya mungkin di komputer lain Anda dapat mengganti adbd ke mode TCP dengan mengeluarkan
dari terminal dan sambungkan ke perangkat Anda melalui wifi dari PC mana pun di jaringan dengan:
Mungkin juga dimungkinkan untuk beralih ke mode TCP dari terminal pada perangkat.
sumber
Pertama, Anda harus menghubungkan perangkat Anda melalui USB
Kemudian hubungkan perangkat Anda ke WIFI dan dapatkan alamat IP. Sementara masih terhubung melalui usb ketik ini di baris perintah atau melalui Android Studio Terminal
Anda akan melihat pesan-pesan ini:
Sekarang lepaskan kabel USB dan Anda masih akan melihat logcat Anda seperti biasa
Selesai Nikmati
sumber
Jika Anda ingin dengan mudah menghubungkan perangkat Anda untuk menjalankan, men-debug atau menggunakan aplikasi Android Anda melalui WiFi, Anda dapat menggunakan Plugin open source IntelliJ yang telah saya kembangkan. Ini kodenya dan di sini plugin siap digunakan.
Penggunaannya cukup sederhana. Di sini Anda memiliki gif:
sumber
Seperti yang dikatakan Brian:
Ini bekerja. Anda hanya perlu mengakses shell android dan ketik perintah-perintah itu ...
Satu lagi (lebih mudah) solusi ada di Pasar: adbWireless, itu akan secara otomatis mengatur telepon Anda.
Diperlukan root! untuk berdua...
sumber
Aneh, tetapi ini hanya bekerja untuk saya jika saya memiliki kabel USB yang terhubung, maka saya dapat mencabut USB dan pergi dengan adb lainnya.
dan sama ketika kembali ke usb,
hanya akan berfungsi jika usb terhubung.
Tidak masalah jika saya mengeluarkan
atau
kemudian berhenti & mulai adbd, saya masih membutuhkan kabel usb atau tidak berfungsi.
Jadi, jika ADB saya melalui usb tidak berfungsi, saya yakin saya tidak akan bisa mengaktifkan ADB lebih dari WiFi.
sumber
Untuk beralih antara mode TCP dan USB hanya dengan satu perintah, Anda dapat menambahkan ini ke
/init.rc
:Dan sekarang Anda dapat menggunakan properti
service.adb.tcp.enable
untuk mengaktifkan atau menonaktifkan mendengarkan di port 5555. Jalankannetstat
untuk memeriksa apakah itu mendengarkan. Seperti yang Anda lihat, itu juga akan memicu jika Anda ingin mengubahnyaservice.adb.tcp.port
secara manual.sumber
Fungsi Bash util:
sumber
LANGKAH 1.
Pastikan kedua komputer Anda adb host dan perangkat Android berada di jaringan Wifi yang sama.
LANGKAH 2.
Hubungkan perangkat Android dengan komputer menggunakan kabel USB Anda. Segera setelah Anda melakukannya, komputer host Anda akan mendeteksi perangkat Anda dan adb akan mulai berjalan dalam mode USB di komputer. Anda dapat memeriksa perangkat yang terpasang dengan
adb devices
sementara memastikan bahwa adb berjalan dalam mode USB dengan menjalankanadb usb
.LANGKAH 3.
Mulai ulang adb dalam mode tcpip dengan perintah ini:
LANGKAH 4.
Cari tahu alamat IP perangkat Android. Ada beberapa cara untuk melakukan itu:
$ adb shell netcfg
.Sekarang setelah Anda mengetahui alamat IP perangkat Anda, hubungkan adb host Anda ke sana.
LANGKAH 5.
Lepaskan kabel USB dan Anda harus terhubung ke perangkat Anda. Jika Anda tidak melihatnya
adb devices
maka hubungkan kembali menggunakan perintah langkah sebelumnya:Entah Anda baik untuk pergi sekarang atau Anda harus membunuh server adb Anda dengan mengeksekusi
adb kill-server
dan pergi melalui semua langkah sekali lagi.Semoga itu bisa membantu!
Referensi:
sumber
Ini adalah langkah-langkah yang saya ikuti dan itu berhasil untuk saya,
sumber
Anda juga dapat menggunakan penerusan port lokal SSH. Tapi itu masih melibatkan kabel USB. Hubungkan ponsel Anda menggunakan USB ke komputer (host) dengan sshd yang berjalan. Pada komputer remote (tamu) mulai klien SSH yang mampu melakukan portforwarding / tunneling. Contoh:
Saya menggunakan konstruksi ini untuk menghubungkan perangkat saya ke mesin virtual. Eltima USB ke Ethernet tidak cukup stabil (batas waktu selama debug).
Terowongan SSH bekerja secara gratis dan lebih dapat diandalkan.
sumber
Saya menemukan jawaban lain membingungkan. Jauh lebih mudah untuk menggunakan adbWireless:
http://ppareit.github.com/AdbConnect/
Cukup instal aplikasi di ponsel Anda untuk beralih debugging melalui wifi, instal plug-in gerhana dan Anda selesai.
sumber
Saya mengumpulkan file batch untuk mengaktifkan secara otomatis dan menghubungkan ADB melalui TCP, ke perangkat yang terhubung melalui USB. Dengan itu Anda tidak perlu memasukkan IP secara manual.
sumber
Berikut ini adalah ekstensi untuk jawaban Brian menggunakan Bluetooth:
Di Linux, gunakan Blueman untuk berbagi internet PC dengan perangkat Anda melalui Bluetooth:
Gunakan jaringan Bluetooth untuk perintah ADB:
Setelah selesai untuk kembali ke mode USB:
Catatan: Bluetooth 3.0 dan 4.0 dapat mencapai 24 Mbit / s .
sumber
Langkah :
su
- Untuk beralih ke pengguna super.setprop service.adb.tcp.port 5555
- Untuk menentukan Port tcp - 5555 adalah nomor port di sinistop adbd
- Untuk menghentikan layanan adbd.start adbd
- Untuk memulai layanan adbd.ini bekerja dengan sempurna
ssh
dari PC windows sayaSaya mencoba melakukan ini saat boot di ponsel cyanogen saya atau meluncurkan ini dengan plink. Dengan plink saya tidak dapat menjalankan shell dengan su ... sudo atau perintah su tidak berfungsi. Saat boot, saya tidak tahu cara kerjanya! Program shell saya bekerja dari ssh dengan
su -c "sh /storage/sdcard1/start_adb.sh"
dengan 3 perintah terakhir (tanpa su -)Terima kasih
sumber
Satu catatan tambahan (pelajari dengan susah payah): Anda seharusnya tidak mengaktifkan koneksi VPN perusahaan Anda secara bersamaan ...
sumber
Anda perlu melakukan hal-hal berikut:
sumber
Ada dua cara untuk menghubungkan perangkat Android Anda dengan ADB melalui TCP?
Cara pertama
Ikuti langkah-langkah ini
OUTPUT dari perintah di atas
Dengan bantuan perintah di atas Anda akan menemukan Alamat IP perangkat yang terhubung
Perintah di atas akan memulai kembali port TCP ini: 5555
Cara kedua
Anda dapat menggunakan Plugin Android Studio
Android device with ADB
Android WiFi ADB - Plugin IntelliJ / Android Studio
Silakan periksa artikel ini untuk informasi lebih lanjut
Hubungkan Perangkat Android dengan Wifi dalam Android Studio
sumber
Saya struct pada masalah yang sama tetapi hack sederhana
adb reverse tcp:<PORT> tcp:<PORT>
bekerja untuk saya. Ini memungkinkan sistem untuk menerima permintaan tcp.Terima kasih telah membaca
sumber
Gunakan aplikasi adbwireless untuk mengaktifkan ponsel, lalu gunakan adb connect dari mesin Windows untuk berbicara dengannya. Aplikasi adbwireless di ponsel memberi tahu Anda cara menghubungkannya, memberikan alamat IP dan semuanya.
Alternatif yang jauh lebih tidak menyenangkan adalah terhubung melalui USB, beri tahu telepon untuk menggunakan TCPIP melalui adb tcpip 5555, lalu lepaskan USB, kemudian gunakan adb connect. Ini jauh lebih sulit karena dengan cara ini Anda harus mengetahui sendiri alamat IP telepon (adbwireless memberi tahu Anda IP), Anda harus terhubung melalui USB, dan Anda harus menjalankan adb tcpip (adbwireless juga mengurusnya).
Jadi: instal adbwireless di ponsel Anda. Gunakan. Mungkin saja, saya melakukannya secara rutin di Linux dan Windows.
sumber
Di sistem saya itu berjalan seperti ini:
Di perangkat Android saya di shell Linux saya, "ifconfig" yang sederhana tidak memberikan saya alamat IP saya. Saya harus mengetik:
ifconfig eth0
-atau-
netcfg
untuk mendapatkan alamat IP saya. (Saya tahu eth0 dikonfigurasi karena saya melihatnya di dmesg saya.) Lalu saya melakukan:
setprop service.adb.tcp.port -1
hentikan adbd
mulai adbd
Kemudian pada kotak Win7 saya (yang menjalankan Eclipse 3.7.1). Saya membuka prompt perintah untuk
\ android-sdk \ platform-tools>
tanpa berjalan sebagai admin. Lalu aku melakukan
adb terhubung 12.345.678.90
Saya tidak pernah menaruh port. Jika saya melakukan
adb tcpip 5555
katanya tidak dapat menemukan perangkat maka tidak ada yang muncul dalam daftar "perangkat adb" saya. Yaitu hanya berfungsi jika saya TIDAK melakukan perintah tcpip di atas.
Saya dapat melakukan "adb shell" dan mengacaukan dengan Perangkat Android saya. Tetapi Perangkat Android saya tidak muncul di Run-> Run Configurations-> Target sekarang. Di sisi lain, jika saya menjaga Target Tab diatur ke otomatis. Kemudian ketika saya menjalankan aplikasi saya melalui Run-> Run itu berjalan di perangkat Android saya meskipun perangkat Android saya bahkan tidak terdaftar sebagai salah satu target saya.
sumber
Saya memang mendapatkan ini berfungsi. Tidak menggunakan kabel usb.
Menjalankannya. Itu akan mengatur ip dan port; Kemudian dalam dos
Terhubung
sumber