Root perangkat virtual Android dengan Android 7.1.1

12

Saya menggunakan Android SDK resmi dengan Android Emulator untuk membuat Android 7.1.1 virtual (x86). Saya perlu menguji beberapa hal, antara lain, beberapa aplikasi memerlukan akses root ke perangkat.

Sekarang saya tahu bahwa saya bisa adb rootdan saya memiliki shell root, tetapi itu tidak memungkinkan aplikasi yang saya instal memiliki akses root.

Saya telah meneliti topik ini sekarang untuk sementara waktu dan telah melihat berbagai pendekatan. Kebanyakan surga jawaban sudah lama diposting.

Saya pikir itu cukup aneh bahwa tidak ada opsi untuk beralih root - ini adalah SDK.

Bagaimana cara saya root perangkat virtual Android, menjalankan Android 7.1.1, secara efektif memungkinkan aplikasi yang diinstal mengakses root?

sunting: Saya lebih suka tidak menggunakan emulator berbayar seperti Genymotion jika memungkinkan.

sunting2: Ini hanya untuk penggunaan pribadi.

sunting3: Genymotion tampaknya menjadi solusi yang layak, sebagai emulator alternatif. Kenapa Android SDK / Emulator tidak menawarkan fitur seperti itu?

sunting4: Jawaban oleh xavier_fakerat tampaknya berfungsi dengan baik, namun karena Android Studio versi 3.1 ini tampaknya tidak menjadi rooting permanen. Setelah AVD di-reboot, akses root hilang.

SaAtomic
sumber

Jawaban:

11

Bagaimana cara root emulator Android (Android 7.1.1 / Nougat)

Saya senang memberi tahu komunitas tentang cara yang lebih mudah untuk melakukan root emulator Android (dijalankan dari SDK Android mandiri)

Persyaratan :

Catatan: SuperSU sekarang sudah tidak digunakan lagi, tetapi metode ini masih berfungsi untuk me-root emulator, dan lebih banyak pembaruan akan diberikan untuk metode rooting yang lebih baru.

Instruksi

  1. Instal SuperSu.apk

    • Instal aplikasi SuperSu terlebih dahulu, cukup drag and drop (jika menjalankan versi emulator terbaru atau sideload melalui adb yaitu adb –e install supersu.apk)

    • Setelah menginstalnya, ketika Anda menjalankannya akan muncul layar seperti yang ditunjukkan di bawah ini yang menunjukkan "Tidak ada SU biner yang diinstal ..". Kesalahan ini hanya mengkonfirmasi perangkat belum di-root.

masukkan deskripsi gambar di sini

  1. Buat partisi sistem emulator dapat ditulis

    • Seperti yang disarankan, kita perlu memberi emulator izin untuk menulis file sistem.

    • Ketikkan kode berikut untuk melakukannya: emulator.exe –avd {emulator_name} –writable-system

Catatan: Navigasikan ke folder alat di mana Android SDK diinstal dan buka command prompt di sana dengan menekan shift dan mengklik kanan.

  1. Mendorong su biner di direktori sistem

    • Ekstrak Pemulihan flashable.zip (berisi binari-binari dari berbagai arsitektur)

Penting! Hanya gunakan su binary yang cocok dengan arsitektur avd Anda, mis. X86, arm dll., Dan catat path tempat Anda mengekstrak binari ini.

  • Pastikan Anda menjalankan adb sebagai root dan juga Anda harus melakukan remount. Cukup masukkan kode ini

adb root

adb remount

Sekarang saatnya untuk mendorong biner su:

Ini adalah kode yang berhasil saya gunakan :adb -e push C:\%USERPROFILE%\Desktop\rootemu\x86\su.pie /system/bin/su

(tidak pernah ingat tentang lokasi spesifik saya binary su, lokasi apa pun boleh saja asalkan tidak ada ruang putih)

Jika ini gagal coba ini mendorong ke direktori ini sebagai gantinya /system/xbin/su. Juga untuk emulator yang menjalankan Android 5.1 dan di bawah ini gunakan sudan tidaksu.pie

  1. Ubah izin binary su

    • Selanjutnya mari kita lakukan sedikit modifikasi dari izin binary su. Kita harus melakukan ini di perangkat emulator melalui adb:

    adb –e shell su root cd /system/bin chmod 06755 su

Penting!! Perhatikan path su binary (milik saya adalah / system / bin)

  1. Mengatur installdirektif pada su binary dan mengatur adaemon

Ketikkan kode:

su --install

dan untuk mengatur daemon:

su --daemon&

Penting!! Perhatikan jarak

  1. Mengatur SELinux ke Permissive (yaitu mematikan SE Linux)

    • Akhirnya matikan selinux melalui kode ini:

setenforce 0

Cukup banyak !! Buka aplikasi SuperSU dan mungkin meminta untuk memperbarui binari, Anda dapat menggunakan metode Normal.

Buka aplikasi apa pun yang membutuhkan izin SU hanya untuk mengecek dan memang SuperSU bertanya apakah Anda ingin memberikannya izin.

masukkan deskripsi gambar di sini

Catatan

Sebagian besar konten dalam referensi adalah untuk versi android yang lebih lama dan karenanya alasan untuk berbagai perintah dan jalur yang saya modifikasi.

Ucapan terima kasih khusus;

Terima kasih khusus kepada Irvin H, yang tutorialnya mengilhami saya untuk membuat panduan ini setelah saya gagal berkali-kali, dan juga setelah melihat perlunya banyak pengguna untuk me-root emulator mereka juga. Saya harap ini juga akan mendapat banyak manfaat

Irvin H: Rooting emulator android –pada Android Studio 2.3 ((Android 4.4)

Memperbarui

Seperti yang dikomentari oleh SaAtomic,

Pendekatan ini masih layak dengan Android Studio 3.0.1

Setelah memutakhirkan ke versi emulator 27.2.9dan di atasnya sekarang membuat menjaga root lebih mudah melalui fitur snapshot (jika menyalin metode system.img tidak berfungsi):

Idealnya itu lebih seperti hibernasi perangkat virtual dengan konfigurasi utuh, karenanya semuanya dipertahankan.

Jepretan

Anda sekarang dapat menyimpan beberapa snapshot AVD untuk konfigurasi perangkat yang diberikan dan memilih snapshot mana yang disimpan untuk dimuat ketika Anda memulai emulator. Memulai perangkat virtual dengan memuat snapshot sama seperti membangunkan fisik dari kondisi tidur, dibandingkan dengan mem-boot-nya dari keadaan tidak aktif.

Ini menyiratkan satu-satunya persyaratan untuk memulai emulator adalah menambahkan -writable-systemparameter ke -avd [avdname]perintah emulator normal untuk memulai emulator. (Menjalankan emulator hanya dengan emulator -avd [avdname] tidak meluncurkan versi root / salin atau dapat menyebabkan beberapa kesalahan)

Diuji pada API level 22

xavier_fakerat
sumber
1
Terima kasih atas jawaban terincinya. Saya belum mencobanya, tetapi ini tampaknya menjadi solusi yang layak!
SaAtomic
1
@SaAtomic, langkah Anda sangat berguna, Terlebih lagi, Anda juga dapat mem-flash Supersu 2.82 / Magisk menggunakan pemulihan kustom, misalnya- TWRP, dan dapat dengan mudah mendapatkan root .... Ini berfungsi dengan baik pada 7.1.1 atau 7.1.2 menjalankan perangkat .... Terima kasih ..
Panchajanya Sarkar
Saya baru saja menguji ini dengan Android SDK 2.3.3 (AVD Manager) dan Pixel virtual menggunakan Android 7.1.1. Berfungsi seperti yang dijelaskan segera. Terima kasih!
SaAtomic
1
Pembaruan: Pendekatan ini masih layak dengan Android Studio 3.0.1
SaAtomic
1
Kemungkinan besar Anda menggunakan gambar emulator yang salah yang harus Anda gunakan Google APIs Intel x86 Atom System ImagedaripadaGoogle Play Intel x86 Atom System Image
xavier_fakerat