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.

Mengomentari pertanyaan (8)

Jawaban-jawaban ini semua tidak perlu rumit :)

$ > adb shell
generic_x86:/ $
generic_x86:/ $ exit
$ > adb root
restarting adbd as root
$ > adb shell
generic_x86:/ #
Komentar (16)

Cara root android emulator (diuji pada Android 7.1.1/ Nougat) Persyaratan:

  1. Install SuperSu.apk
  • Install aplikasi SuperSu pertama, hanya melakukan drag dan drop (jika berjalan terbaru emulator versi atau melalui adb sideload saya.e 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.

  1. Membuat emulator' partisi sistem dapat ditulisi
  • Seperti namanya, kita perlu untuk memberikan emulator izin untuk menulis file sistem.
  • 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.

  1. Mendorong su binary pada direktori system
  • Ekstrak Pemulihan flashable.zip (mengandung su binari dari arsitektur yang berbeda) Penting! Hanya menggunakan su binary yang cocok dengan avd arsitektur e.g x86, arm dll.., dan catatan jalan di mana anda diekstrak binari ini.
  • 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 mengetahui bin atau xbin 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 gunakan su dan tidak su.pie

  1. Mengubah hak akses dari biner su
  • 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)

  1. Pengaturan install direktif pada biner su dan mengatur daemon Ketik kode: su-install dan untuk menyiapkan daemon: su --daemon& Penting!! Perhatikan jarak

  2. Setting SELinux untuk Permisif(saya.e mematikan SE Linux)
  • Akhirnya mematikan selinux melalui kode ini: setenforce 0

  1. 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.g 1359g.tmp dengan ukuran besar) dan mengganti default sistem.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 menyalin sistem.img metode isn't bekerja): Pilihan itu lebih seperti hibernarig perangkat virtual dengan konfigurasi yang utuh, oleh karena itu segala sesuatu yang diawetkan. Foto-foto

    sekarang Anda dapat menyimpan beberapa AVD foto untuk perangkat tertentu konfigurasi dan memilih mana dari snapshot disimpan ke beban ketika anda mulai emulator. Starting virtual device dengan memuat foto banyak seperti bangun fisik dari keadaan tidur, sebagai lawan untuk booting ini yang didukung negara-off. Ini berarti satu-satunya persyaratan untuk memulai emulator menambahkan -writable-sistem parameter normal emulator -avd [avdname] perintah untuk memulai emulator. (Menjalankan emulator hanya dengan emulator -avd [avdname] doesn't meluncurkan versi berakar/copy atau dapat menyebabkan beberapa kesalahan) Diuji pada API level 22 Juga untuk masalah bootloop lihat posting lainnya: Emulator Android: Cara menghindari boot loop setelah rooting? dan update tersebut. Keterangan Konten yang paling dalam referensi untuk versi android yang lebih tua dan oleh karena itu alasan untuk perintah yang berbeda dan jalan yang saya modifikasi. Ucapan terima kasih;

Komentar (18)

Berikut ini adalah daftar perintah-perintah yang anda miliki untuk menjalankan sementara emulator berjalan, aku tes ini solusi untuk sebuah avd pada Android 2.2 :

adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system  
adb push su /system/xbin/su  
adb shell chmod 06755 /system  
adb shell chmod 06755 /system/xbin/su

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.

Komentar (13)

Untuk AVD dengan 5.1.1 dan 6.0 saya menggunakan script berikutnya di windows:

set adb=adb -s emulator-5558
set arch=x64
set pie=
adb start-server
%adb% root
%adb% remount
rem %adb% shell mount -o remount,rw /system
%adb% shell setenforce 0
%adb% install common/Superuser.apk
%adb% push %arch%/su%pie% /system/bin/su
%adb% shell chmod 0755 /system/bin/su
%adb% push %arch%/su%pie% /system/xbin/su
%adb% shell chmod 0755 /system/xbin/su
%adb% shell su --install
%adb% shell "su --daemon&"
rem %adb% shell mount -o remount,ro /system

exit /b

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 dan set arch=x 64. Jika anda menjalankan Android di atas atau sama 5.0, perubahan set pie= untuk mengatur 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 seperti TMP4980.tmp.

Anda copy ke folder avd perangkat (%HOMEPATH%\.android\avd\%AVD_NAME%.avd\), dan berganti nama menjadi sistem.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:

  1. Perlu jalankan emulator secara manual. Pergi ke folder sdk 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

  1. Anda perlu me-restart adbd dari akar:

adb -s emulator-root 5554

Dan remount system:

adb -s emulator-5554 remount

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 bernama su.pie di dalam arsip, tetapi pada emulator itu harus dinamai sebagai su, bukan su.pie.

Komentar (14)

Saya percaya bahwa cara termudah adalah untuk membuat alias untuk perintah sh, misalnya

adb shell
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su && chmod 4775 su

Diuji pada Emulator Android 3.0 dan lebih tinggi.

Komentar (3)

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.

Komentar (0)

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

Android 6 is necessary only
adb root
adb shell
>/system/xbin/su --daemon &
>setenfoce 0

setelah itu, SuperSu.apk melihat akar. Tapi saya tidak update file biner

Komentar (0)

Di sini pak saya dengan semua yang anda butuhkan. Atau anda dapat menggunakan script ini:

echo on
set device=emulator-5554
set avd_name=
set adb=d:\Poprygun\DevTools\Android\Android-sdk\platform-tools\adb -s %device%
set emulator=d:\Poprygun\DevTools\Android\Android-sdk\emulator\emulator
set arch=x86
set pie=

echo Close all ANDROID emulators and press any key
pause
start %emulator% -avd Nexus_One_API_25 -verbose -writable-system
echo Wait until ANDROID emulator loading and press any key
pause

%adb% start-server
%adb% root
%adb% remount
%adb% shell setenforce 0
%adb% install D:\SuperSU\SuperSU.apk
%adb% push D:\SuperSU\su\%arch%\su.pie /system/bin/su
%adb% shell chmod 0755 /system/bin/su
%adb% push D:\SuperSU\su\%arch%\su.pie /system/xbin/su
%adb% shell chmod 0755 /system/xbin/su
%adb% shell su --install
%adb% shell "su --daemon&"
pause
exit /b
Komentar (0)

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.

Komentar (0)

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:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su && chmod 4775 su

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!

Komentar (0)