Comment Rooter l'émulateur Android (Android 7.1.1/ Nougat)
Je suis heureux d'informer la communauté d'un moyen plus facile de Root Android émulateur (exécuté à partir de standalone Android SDK)
Exigences :
Note : SuperSU est maintenant déprécié, mais cette méthode fonctionne toujours pour Rooter l'émulateur, et d'autres mises à jour seront données pour les nouvelles méthodes de Rooting.
Instructions
- Installez le SuperSu.apk
-
Installez d'abord l'application SuperSu, faites simplement un glisser-déposer (si vous utilisez la dernière version de l'émulateur ou un sideload via adb, c'est-à-dire adb -e install supersu.apk
)
-
Après l'avoir installé, lorsque vous l'exécutez, il affiche un écran comme indiqué ci-dessous indiquant "There is no SU binary installed ". Cette erreur confirme simplement que l'appareil n'est pas encore enraciné.
![enter image description here]()
- Rendre la partition système de l'émulateur accessible en écriture
-
Comme il le suggère, nous devons donner à l'émulateur la permission d'écrire des fichiers système.
-
Tapez le code suivant pour y parvenir : emulator.exe -avd {emulator_name} -writable-system
Note : Naviguez jusqu'au outils dans le dossier où Android SDK est installé et ouvrez l'invite de commande en appuyant sur shift et en faisant un clic droit.
- Pousser le binaire su dans le répertoire système
- Extraire le fichier Recovery flashable.zip (contenant les binaires su des différentes architectures)
Important ! N'utilisez que le binaire su qui correspond à votre architecture avd e.g x86, arm etc , et notez le chemin où vous avez extrait ces binaires.
- Assurez-vous que vous exécutez adb en tant que Root et que vous avez besoin de remonter. Il suffit d'entrer ces codes
adb root
adb remount
Maintenant il est temps de pousser le binaire su :
Voici le code que j'ai utilisé avec succès : adb -e push C:\%USERPROFILE%\Desktop\rootemu\x86\su.pie /system/bin/su
(ne tenez pas compte de mon emplacement spécifique de su binary, n'importe quel emplacement est acceptable tant qu'il n'y a pas d'espace blanc)
Si cela échoue, essayez de pousser dans ce répertoire à la place. /system/xbin/su
. De même, pour les émulateurs fonctionnant sous Android 5.1 et moins, utilisez l'option su
et non su.pie
- Changer les permissions du binaire su
-
Ensuite, nous allons modifier un peu les permissions de su binary. Nous devons faire cela dans l'émulateur via adb :
adb -e shell
su root
cd /system/bin
chmod 06755 su
Important ! Prenez note du chemin binaire de su (le mien est /system/bin)
- Fixer le
install
sur le binaire su et définir une directive daemon
Tapez les codes :
su --install
et pour la mise en place du démon :
su --daemon&
Important ! Prenez note de l'espacement
- Régler SELinux sur Permissive (c'est-à-dire désactiver SE Linux)
- Enfin, désactivez Selinux avec ce code :
setenforce 0
C'est à peu près tout ! Ouvrez l'application SuperSU et elle peut vous demander de mettre à jour les binaires, vous pouvez utiliser la méthode normale.
Ouvrez toute application nécessitant des permissions SU juste pour vérifier et effectivement SuperSU vous demande si vous souhaitez lui accorder des permissions su.
![enter image description here]()
Remarques
La plupart du contenu de la référence était pour les anciennes versions d'Android et donc la raison des différentes commandes et chemins que j'ai modifiés.
Remerciements spéciaux ;
Une gratitude particulière à Irvin H, dont le tutoriel m'a inspiré la création de ce guide après avoir moi-même échoué d'innombrables fois, et aussi après avoir vu le besoin de nombreux utilisateurs de Rooter leurs émulateurs aussi. J'espère que cela profitera aussi à beaucoup
Irvin H : Rooting de l'émulateur Android -sur Android Studio 2.3((Android 4.4)
Mise à jour
Comme commenté par SaAtomic,
Cette approche est toujours viable avec Android Studio 3.0.1
Après la mise à jour de la version de l'émulateur 27.2.9
et ci-dessus, il est maintenant beaucoup plus facile de préserver Root grâce à fonction d'instantanéité (si la copie de la méthode system.img ne fonctionne pas) :
Dans l'idéal, il s'agit plutôt d'hiberner le dispositif virtuel avec la configuration intacte, ce qui permet de tout préserver.
Instantanés
Vous pouvez désormais enregistrer plusieurs instantanés AVD pour un dispositif donné. configuration de dispositif donnée et choisir lequel des instantanés enregistrés doit être chargé lorsque vous démarrer l'émulateur. Le démarrage d'un dispositif virtuel en chargeant un snapshot est un snapshot, c'est comme réveiller un dispositif physique à partir d'un état de par opposition au démarrage à partir d'un état hors tension.
Cela implique que la seule exigence pour démarrer l'émulateur est d'ajouter l'option -writable-system
à l'émulateur normal -avd [avdname]
pour démarrer l'émulateur. (L'exécution de l'émulateur juste avec emulator -avd [avdname] ne lance pas la version/copie enracinée ou peut conduire à une erreur).
Testé au niveau 22 de l'API