Saya ingin mengaktifkan "penambatan USB" dari dalam skrip bash, jadi apakah ada kemungkinan untuk menjalankan baris perintah dengan adb shell
mengubah beberapa pengaturan Android?
Sunting1 :
Perintah berikut membuka pengaturan yang diperlukan tetapi jangan mengubah apa pun sendirian:
am start -n com.android.settings/.TetherSettings
Saya telah menemukan nama tindakan TetherSettings dari
aapt dump xmltree com.android.settings.apk AndroidManifest.xml | less +/ether
aapt dump xmltree com.android.settings.apk AndroidManifest.xml
berfungsi tetapi itu tidak berfungsi pada ponsel saya (tidak ditemukan). Bagaimana saya bisa melihat daftar pengaturan yang tersedia?find / -name 'com.android.settings.apk'
di telepon, tetapi tidak ada yang muncul :( Bisakah Anda memberi tahu saya di mana saya dapat menemukan com.android.settings.apk?Jawaban:
Menjalankan perintah berikut sebagai root harus mengaktifkan penambatan USB:
service call connectivity 32 i32 1
pada Ice Cream Sandwich (4.0)service call connectivity 33 i32 1
pada Jelly Bean (4.1 hingga 4.3)service call connectivity 34 i32 1
pada KitKat (4.4)service call connectivity 30 i32 1
di Lollipop (5.0)service call connectivity 31 i32 1
pada Lollipop (5.1) sesuai dengan jawaban oleh Firelordservice call connectivity 30 i32 1
pada Marshmallow (6.0), belum diujiservice call connectivity 41 i32 1
pada Samsung Marshmallow (6.0)service call connectivity 33 i32 1
pada Nougat (7.0)service call connectivity 39 i32 1
pada Samsung Nougat (7.0)Angka pertama yang Anda lihat di perintah adalah nomor
setUsbTethering()
metode dalamIConnectivityManager.aidl
(ini tergantung pada versi Android dan tidak ada pada Gingerbread).(Kiat: untuk memeriksa file ini untuk versi Android tertentu, pilih cabang yang sesuai.)
Jadi yang dilakukan perintah ini adalah memanggil
setUsbTethering()
dan meneruskan 1 (aktifkan tethering USB) atau 0 (untuk menonaktifkannya).Untuk informasi lebih lanjut, lihat pertanyaan terkait ini di Stack Overflow .
Jika Anda mengaktifkan tethering USB sebagai bagian dari pengaturan tethering terbalik USB,
setprop sys.usb.config rndis,adb
harus lebih dari cukup untukrndis0
mengatur antarmuka.sumber
Ada metode yang sangat buruk menggunakan
adb shell input tap
, Dapatkan koordinat untuk mengaktifkan tethering dan penggantiAtau navigasikan untuk mengaktifkan radio menggunakan
adb shell input keyevent
. Lihat saja,Sekali lagi ini terbatas pada perangkat tertentu.
sumber
adb shell "am start -n com.android.settings/.TetherSettings; input keyevent KEYCODE_DPAD_UP; input keyevent KEYCODE_ENTER"
. Saya menemukan daftar acara utama di SO.Coba
setprop
perintah di bawah ini:sumber
Dimodifikasi untuk menggunakan perintah batas waktu windows alih-alih tidur, bangunkan layar terlebih dahulu, dan hanya tekan sekali. Dua kali diaktifkan wifi tethering di ponsel saya.
sumber
The
service
Metode tidak bekerja untuk saya pada perangkat Samsung saya. Saya menemukan cara untuk melakukannya dengan mengkonfigurasi antarmuka jaringan secara langsung. Berikut ini adalah skrip yang mengatur mesin Linux dan perangkat Android yang di-root-kan USB yang terhubung untuk tethering USB. Ini tidak mengatur DNS atau penyamaran NAT, tetapi cukup untuk membuat perangkat dapat diakses di 192.168.42.129:Untuk mengaktifkan penerusan (yaitu terhubung ke Internet dari PC melalui perangkat Android), lihat pertanyaan dan jawaban saya di sini .
sumber
ini adalah perangkat yang independen (mengaktifkan tethering USB)
sumber