Je sais qu'il y a pas mal de questions comme celle-ci, mais aucune ne semble vraiment fonctionner pour moi.
J'écris un programme qui se met à jour et s'installe automatiquement, mais pour installer la mise à jour, il nécessite une confirmation de l'utilisateur, mais je ne le veux pas car l'appareil sur lequel je déploierai ne sera jamais physiquement utilisé par quiconque. Donc, pour essayer de contourner ce problème, je veux rooter le périphérique et utiliser une commande d'exécution dans le code pour l'installer simplement.
Pour tester cela, je veux l'essayer d'abord sur l'émulateur (AVD), mais il doit (évidemment) être enraciné. Alors, comment pourrais-je m'y prendre?
J'ai essayé des commandes dans le shell adb (et en dehors avec le shell adb) comme:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system
Push su /system/xbin/su
chmod 06755 /system
chmod 06755 /system/xbin/su
et quelques autres que je ne trouve pas encore en ce moment mais ils me donneront toujours des erreurs comme ne peuvent pas stat 'su' et des trucs comme ça (éditeront si je peux trouver les commandes et recréer à nouveau) ou ils ne le font tout simplement pas dites quoi que ce soit et cela ne semble pas fonctionner.
Si cela aide, j'utilise xamarin dans Visual Studio.
Lorsque vous travaillez avec des émulateurs Android, faites simplement:
Vous pouvez trouver adb.exe sur: Android_sdk\platform-tools \
Vous pouvez confirmer si l'appareil est enraciné en faisant:
adb.exe Shell
Dans le type Shell: whoami
. Tapez ensuite exit
pour quitter le shell
Exemple
P:\Android\sdk\platform-tools>adb.exe Shell
generic_x86:/ $ whoami
Shell
generic_x86:/ $ exit
P:\Android\sdk\platform-tools>adb.exe root
P:\Android\sdk\platform-tools>adb.exe Shell
generic_x86:/ # whoami
root
generic_x86:/ # exit
P:\Android\sdk\platform-tools>adb.exe unroot
P:\Android\sdk\platform-tools>adb.exe Shell
generic_x86:/ $ whoami
Shell
generic_x86:/ $ exit