Как создать эмулятор Android?

Я знаю, что вокруг таких вопросов довольно много, но никто из них действительно не работает для меня.

Я пишу программу, которая автоматически обновляет и устанавливает сама, однако для установки обновления требуется подтверждение пользователя, но я не хочу, чтобы это, поскольку устройство, которое я буду развертывать, никогда не будет физически использоваться кем-либо. Поэтому, чтобы попробовать обойти это, я хочу укоренять устройство и использовать команду runtime в коде, чтобы заставить его просто установить.

Чтобы проверить это, я хочу сначала попробовать его на эмуляторе (AVD), но он (очевидно) должен быть укоренен. Итак, как бы я это сделал?

Я пробовал команды в оболочке adb (и из нее с оболочкой adb), например:

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

и еще несколько других, которых я не могу найти в данный момент, но они всегда будут давать мне такие ошибки, как не может stat 'su' и тому подобное (будет редактировать, если я смогу найти команды и снова заново создать), или они просто не говорите ничего, и он, похоже, не работает.

Если это помогает, я использую xamarin в visual studio.

Ответ 1

Вы можете использовать https://www.genymotion.com/. Все созданные устройства внедрены по умолчанию. Например, запустите устройство, затем введите adb shell command. Он откроет корневую оболочку.

Ответ 2

При работе с эмуляторами Android просто выполните:

  • adb.exe root - перезапустить adbd с правами root
  • adb.exe unroot - перезапустить adbd без прав root

Вы можете найти adb.exe по адресу: android_sdk\platform-tools\

Вы можете подтвердить, что устройство коренится, выполнив:

adb.exe shell

Внутри типа оболочки: whoami. Затем введите exit, чтобы выйти из оболочки

Пример

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