Cara mendapatkan akses root pada Android emulator?
Saya memiliki Semua versi SDK Android(1,5 2.3.3), dan saya mencoba banyak metode untuk mendapatkan root di Android emulator. Saya don't menggunakan perangkat Android dan menguji segala sesuatu di emulator(AVD).
Saya perlu untuk mendapatkan akses root di salah satu emulator Android untuk menggunakan 'iptables' dan 'busybox' fungsi. Dan untuk menggunakan iptables saya harus memiliki akses root. Atleast 'su' perintah yang harus dijalankan di terminal emulator.
Saya juga dipasang z4root
aplikasi,
Tapi itu butuh waktu yang sangat lama dan doesn't selesai rooting, dan terjebak. beberapa orang mengatakan bahwa jika kita downgrade sistem di bawah ini RC30, dengan cara ini kita bisa mendapatkan akses root. jika ini benar, maka cara untuk melakukan hal ini? Saya menggunakan Linux dan Windows OS.
Tolong seseorang katakan padaku metode apapun untuk root saya emulator.
Jawaban-jawaban ini semua tidak perlu rumit :)
Cara root android emulator (diuji pada Android 7.1.1/ Nougat) Persyaratan:
adb -e install supersu.apk
)Setelah menginstal itu, ketika anda menjalankan hal itu menunjukkan layar seperti yang ditunjukkan di bawah ini yang menunjukkan "tidak Ada biner SU diinstal..". Kesalahan ini hanya menegaskan perangkat ini belum berakar.
Ketik kode berikut untuk mencapai hal ini:
emulator.exe -avd {emulator_name} -writable-system
Catatan: Arahkan ke alat folder tempat Android SDK diinstal dan membuka command prompt yang ada dengan menekan shift dan klik kanan.Pastikan anda menjalankan adb sebagai root dan anda juga perlu untuk remount. Cukup masukkan kode ini
adb root
adb remount
Sekarang saatnya untuk mendorong su binary: Ini adalah kode saya berhasil digunakan:adb -e push C:\Users\User1\Desktop\rootemu\x86\su.pie /system/bin/su
(nevermind tentang saya lokasi tertentu dari su binary, setiap lokasi baik-baik saja selama tidak ada ruang putih) catatan: Untuk mengetahuibin
atauxbin
dilakukan di konsol sebelumnya: >adb shell
, >ls /system/xbin/su
Jika gagal coba ini mendorong untuk direktori ini bukan/system/xbin/su
. Juga untuk menjalankan emulator android 5.1 dan di bawah ini gunakansu
dan tidaksu.pie
Selanjutnya mari kita melakukan sedikit modifikasi izin dari biner su. Kita harus melakukan hal ini di emulator perangkat melalui adb:
adb -e shell su root cd /system/bin chmod 06755 su
Penting!! Perhatikan biner su jalan (tambang /system/bin)Pengaturan
install
direktif pada biner su dan mengaturdaemon
Ketik kode:su-install
dan untuk menyiapkan daemon:su --daemon&
Penting!! Perhatikan jarakAkhirnya mematikan selinux melalui kode ini:
setenforce 0
Buka aplikasi SuperSU dan mungkin meminta untuk update binary, anda dapat menggunakan metode Normal. Catatan: Jika anda'kembali mengalami bootloops, bukan don't update binari, hanya menggunakan seperti itu.
Itu cukup banyak itu!! Buka aplikasi apapun yang membutuhkan SU izin hanya untuk double check dan memang SuperSU meminta jika anda ingin memberikan itu su izin.
Memiliki akar bertahan update su binary (menggunakan metode Normal), kemudian copy sistem.img dari direktori temp (
Users\AppData\Local\Temp\Android Emulator
file tersebut biasanya bernama secara acak e.g1359g.tmp
dengan ukuran besar) dan mengganti defaultsistem.img
. Update: Saya telah mencatat adalah lebih mudah untuk mendapatkan sistem sementara gambar di Linux, dari Windows. Anda dapat mencoba menggunakan gambar foto.Update 4 Agustus 2018
Dengan munculnya emulator
27.3.x
itu sekarang membuat melestarikan akar jauh lebih mudah melalui fitur snapshot (jika menyalinsistem.img
metode isn't bekerja): Pilihan itu lebih seperti hibernarig perangkat virtual dengan konfigurasi yang utuh, oleh karena itu segala sesuatu yang diawetkan. Foto-fotoBerikut ini adalah daftar perintah-perintah yang anda miliki untuk menjalankan sementara emulator berjalan, aku tes ini solusi untuk sebuah avd pada Android 2.2 :
Ini mengasumsikan bahwa biner su terletak di direktori kerja. Anda dapat menemukan su dan superuser di sini : http://forum.xda-developers.com/showthread.php?t=682828. Yang anda butuhkan untuk menjalankan perintah tersebut setiap kali anda memulai emulator. Anda dapat menulis skrip yang meluncurkan emulator dan akar itu.
Untuk AVD dengan 5.1.1 dan 6.0 saya menggunakan script berikutnya di windows:
Perlu UPDATE.zip dari SuperSU. Membongkar mereka untuk setiap folder. Membuat file bat dengan konten di atas. Jangan lupa tentukan diperlukan dan arsitektur perangkat:
mengatur adb=adb -s emulator-5558
danset arch=x 64
. Jika anda menjalankan Android di atas atau sama 5.0, perubahanset pie=
untukmengatur pie=.pie
. Menjalankannya. Anda mendapatkan root sementara untuk dijalankan saat ini.Jika anda mendapatkan kesalahan pada remount system partisi maka anda perlu mulai AVD dari baris perintah. Lihat di bawah ini langkah pertama untuk Android 7.
Jika anda ingin membuatnya terus-menerus - update binary SuperSU dan sistem toko.img dari folder temp sebagai ganti dari default sistem.img.
Cara mengkonversi hasil sementara akar pada permanen
Pertama - ia pergi ke SuperSu. Hotel ini menawarkan biner meng-upgrade. Pembaruan dalam cara yang normal. Reboot menolak.
Kedua - hanya relevan untuk emulator. Sama AVD. Intinya adalah bahwa perubahan dalam sistem gambar tidak akan disimpan. Anda perlu menjaga mereka untuk diri mereka sendiri.
Sudah ada petunjuk bervariasi untuk berbagai emulator.
Untuk AVD anda dapat mencoba untuk menemukan file sementara dalam sistem.img, menyimpannya di suatu tempat dan menggunakan ketika anda memulai emulator.
Di Windows hal ini terletak di
%LOCALAPPDATA%\Temp\AndroidEmulator
dan memiliki nama sesuatu sepertiTMP4980.tmp
.Anda copy ke folder avd perangkat (
%HOMEPATH%\.android\avd\%AVD_NAME%.avd\
), dan berganti nama menjadisistem.img
.Sekarang itu akan digunakan di awal, bukannya biasa. Benar jika gambar di SDK diperbarui, itu akan memiliki lama.
Dalam hal ini, anda akan perlu untuk menghapus ini
sistem.img
, dan ulangi operasi pada penciptaan.Lebih rinci manual dalam bahasa rusia: http://4pda.ru/forum/index.php?showtopic=318487&view=findpost&p=45421931
Untuk android 7 anda perlu menjalankan langkah-langkah tambahan:
sdk\tools\lib64\qt\lib
. Lari dari folder ini emulator dengan opsi-writable-sistem selinux disabled
Seperti ini:F:\android\sdk\tools\lib64\qt\lib>F:\android\sdk\tools\emulator.exe -avd 7.0_x86 -verbose -writable-sistem selinux disabled
adbd
dari akar:adb -s emulator-root 5554
Dan remount system:
Hal ini dapat doned hanya sekali per menjalankan emulator. Dan lain remount dapat mematahkan mode menulis. Karena ini, anda tidak perlu menjalankan setiap perintah lain dengan remount, seperti
mount -o remount,rw /sistem
.Lain langkah-langkah yang berkualitas sama - upload biner, menjalankan biner sebagai daemon dan sebagainya.
Gambar dari AVD Android 7 x86 dengan akar:
Jika anda melihat kesalahan tentang PIE di jalankan
su
binary - kemudian anda upload ke emulator salah biner. Anda harus meng-upload biner bernamasu.pie
di dalam arsip, tetapi pada emulator itu harus dinamai sebagaisu
, bukansu.pie
.Saya percaya bahwa cara termudah adalah untuk membuat alias untuk perintah
sh
, misalnyaDiuji pada Emulator Android 3.0 dan lebih tinggi.
Cobalah cara lain untuk memecahkan pertanyaan ini.
Gunakan Genymotion sebagai pengganti Default Android Emulator. It's berakar secara default. It's jauh lebih mudah dan lebih seperti Telepon biasa. It's gratis untuk penggunaan pribadi.
Saya menemukan pertanyaan ini karena saya ingin menginstal Xposed framework pada Default Android Emulator. Instalasi yang membutuhkan root dan flash dengan custom recovery (misalnya TWRP), keduanya sulit untuk Default Emulator Android. Akhirnya saya menggunakan Genymotion dan semua dilakukan dalam hitungan menit.
Aku hanya diganti dan diberikan atribut untuk su ~/Android/Sdk/sistem-gambar/android 22/google_apis/x86/sistem.img dan sekarang pada android 5 saya selalu memiliki akar bahkan untuk sistem yang baru, itu sudah cukup untuk menginstal SuperSu.apk
setelah itu, SuperSu.apk melihat akar. Tapi saya tidak update file biner
Di sini pak saya dengan semua yang anda butuhkan. Atau anda dapat menggunakan script ini:
Saya mencoba banyak saran di atas, termasuk SuperSU dan tidak't mendapatkan untuk bekerja tetapi tidak menemukan sesuatu yang jauh lebih sederhana yang bekerja untuk tujuan saya. Dalam kasus saya, saya hanya ingin untuk dapat menjalankan sqlite pada command prompt. Aku hanya berputar sebuah emulator dengan versi lama dari Android (Lollipop) dan mendapat akses root segera.
Saya menggunakan bagian dari metode dari solusi di atas; namun, mereka tidak bekerja sama sekali. Pada versi terbaru dari Andy, ini bekerja untuk saya:
Andy (Root Shell) [Untuk mendapatkan, klik kanan HandyAndy ikon dan pilih Istilah Shell]
Di dalam shell, jalankan perintah ini:
Kemudian, install SuperSU dan install SU binary. Ini akan menggantikan kode biner SU yang baru saja kita buat. (Opsional) Menghapus SuperSU dan install Superuser dengan CWM. Memasang biner su lagi. Sekarang, akar bekerja!