Saya me-root Galaxy S3 saya yang tidak terkunci (SGH-T999)
Sekarang, saya mencoba menjalankan adb root
dari Windows Command Prompt , namun saya mendapatkan adbd cannot run as root in production builds
kesalahan. Jadi, hal pertama yang saya periksa adalah apakah ponsel saya benar-benar di-root?
Jadi saya mencoba yang berikut ini:
Buka Command prompt
$adb devices // lists my device
$adb shell //goes to shell
$su // opens a 'SuperSu' prompt on my phone and I 'Grant' permission
# // Before following the rooting instructions, I was getting 'no su command found' in the previous step. So, I believe my phone is ROOTED. **Correct me if I'm wrong.**
Namun, ketika saya melakukannya adb root
, saya mendapatkan adbd cannot run as root in production builds
kesalahan. Jadi, saya pikir, saya mungkin harus melakukan beberapa hal tambahan di luar apa yang saya lakukan di atas. Saya mencoba semua solusi dalam pertanyaan SO berikut:
- Luncurkan skrip sebagai root melalui ADB
- izin pemasangan ulang adb ditolak, tetapi dapat mengakses pengguna super di shell - android
- Tidak dapat menjalankan 'adb root' pada ponsel Android yang telah di-root
Semua hal di atas tidak berhasil untuk saya. Yang mereka lakukan hanyalah memberikan akses ROOT DI DALAM SHELL. Saya ingin adb root
bekerja agar saya dapat menjalankan berbagai perintah adb TANPA masuk ke shell.
Jawaban:
Dengan
adb root
perintah desain bekerja dalam pengembangan pembangunan saja (yaitueng
danuserdebug
yang memilikiro.debuggable=1
secara default). Jadi untuk mengaktifkanadb root
perintah pada perangkat Anda yang telah di- rooting, cukup tambahkanro.debuggable=1
baris ke salah satu file berikut:Jika Anda ingin
adb shell
memulai sebagairoot
default - tambahkanro.secure=0
juga.Atau Anda dapat menggunakan
adbd
biner yang dimodifikasi (yang tidak memeriksaro.debuggable
)Dari https://android.googlesource.com/platform/system/core/+/master/adb/daemon/main.cpp
#if defined(ALLOW_ADBD_ROOT) // The properties that affect `adb root` and `adb unroot` are ro.secure and // ro.debuggable. In this context the names don't make the expected behavior // particularly obvious. // // ro.debuggable: // Allowed to become root, but not necessarily the default. Set to 1 on // eng and userdebug builds. // // ro.secure: // Drop privileges by default. Set to 1 on userdebug and user builds.
sumber
Di beberapa ROM yang ramah pengembang, Anda bisa mengaktifkan Akses Root di Pengaturan> Opsi pengembang> Akses root . Setelah itu
adb root
tersedia. Sayangnya itu tidak berfungsi untuk sebagian besar ROM saham di pasar.sumber
Saya mengalami masalah ini ketika mencoba melakukan root pada emulator, saya menemukan itu karena saya menjalankan emulator Nexus 5x yang memiliki Google Play di dalamnya. Membuat emulator berbeda yang tidak memiliki google play dan
adb root
akan melakukan root pada perangkat untuk Anda. Semoga ini bisa membantu seseorang.sumber
Saya gunakan untuk masuk ke mode su di shell abd
adb shell "su"
sumber
adb shell "su -c whoami"
Saya memiliki Samsung Galaxy Trend Plus (GT-S7580) yang telah di-root.
Menjalankan 'adb root' memberi saya kesalahan 'adbd can't run as root in production builds' yang sama.
Untuk perangkat yang memiliki Opsi Pengembang -> Akses root, pilih "Hanya ADB" untuk memberikan akses root adb ke perangkat (seperti yang disarankan oleh NgaNguyenDuy ).
Kemudian coba jalankan perintah sesuai solusi di Luncurkan skrip sebagai root melalui ADB . Dalam kasus saya, saya hanya ingin menjalankan perintah 'netcfg rndis0 dhcp', dan saya melakukannya dengan cara ini:
adb shell "su -c netcfg rndis0 dhcp"
Harap periksa apakah Anda membuat kesalahan saat menjalankannya dengan cara ini.
Jika masih tidak berhasil, periksa apakah Anda melakukan root pada perangkat dengan benar. Jika masih belum berhasil, coba instal ROM kustom seperti Cyanogen Mod agar 'adb root' berfungsi.
sumber
Anda perlu mengganti biner adbd di folder boot.img / sbin / ke yang su mampu. Anda juga harus melakukan beberapa pengeditan default.prop juga.
Samsung sepertinya membuat ini lebih sulit dari vendor lain. Saya memiliki beberapa binari adbd yang dapat Anda coba tetapi akan membutuhkan pengetahuan tentang de-kompilasi dan kompilasi ulang boot.img dengan biner baru. Juga, jika Anda memiliki bootloader yang terkunci ... ini tidak akan terjadi.
Chainfire juga memiliki aplikasi yang akan memberikan izin root adbd di play store: https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=id
Terakhir, jika Anda mencoba menulis skrip windows dengan izin SU, Anda dapat melakukan pembelian ini menggunakan gaya perintah berikut ... Namun, Anda setidaknya perlu memberikan izin SU (di telepon) sebelum dijalankan .. .
adb shell "su -c ls" <-list direktori kerja dengan hak su. adb shell "su -c echo anytext> /data/test.file"
Ini hanyalah beberapa contoh. Jika Anda menyatakan secara spesifik apa yang ingin Anda capai, saya mungkin dapat memberikan saran yang lebih spesifik
-scosler
sumber
adbd
memiliki kompilasi bendera / pilihan untuk mengaktifkan akses root:ALLOW_ADBD_ROOT=1
.Hingga Android 9: Jika
adbd
perangkat Anda dikompilasi tanpa tanda tersebut, hak istimewa akan selalu dicabut saat memulai dan dengan demikian "adb root" tidak akan membantu sama sekali. Aku harus menambal panggilan kesetuid()
,setgid()
,setgroups()
dan kemampuan tetes keluar dari biner sendiri untuk mendapatkan adbd berakar secara permanen pada pembaca ebook saya.Dengan Android 10 ini berubah; ketika ponsel / tablet tidak terkunci (
ro.boot.verifiedbootstate == "orange"
), maka mode root adb dimungkinkan dalam hal apa pun.sumber
Jika Anda benar-benar perlu
ADB
menjalankan sebagairoot
, cara tercepat dan termudah adalah menginstal ROM Kustom Android dan yang paling populer adalahCyanogenMod
karena memilikiRoot Access
opsi di menu opsi pengembang tempat Anda dapat memilih untuk memberikan akses rootapps and ADB
. Saya menggunakan CM sebelumnya tetapi karena tidak dikembangkan lagi, saya mencoba mencari beberapa solusi di luar sana. Meskipun CyanogenMod masih menjadi alternatif yang bagus karena tidak memiliki bloatware.Salah satu alternatif yang saya temukan dari seorang teman adalah menggunakan
adbd insecure
aplikasi yang dapat Anda coba dari sini: https://forum.xda-developers.com/showthread.php?t=1687590 . Dalam kasus saya, ini berfungsi perferct dengan kernel khusus Android, tetapi tidak dengan ROM stok Android (hanya vanilla android). Anda juga dapat mencoba alternatif lain seperti memodifikasiboot.img
ROM Android.sumber