Ответ 1
Вы можете использовать https://www.genymotion.com/. Все созданные устройства внедрены по умолчанию. Например, запустите устройство, затем введите adb shell command
. Он откроет корневую оболочку.
Я знаю, что вокруг таких вопросов довольно много, но никто из них действительно не работает для меня.
Я пишу программу, которая автоматически обновляет и устанавливает сама, однако для установки обновления требуется подтверждение пользователя, но я не хочу, чтобы это, поскольку устройство, которое я буду развертывать, никогда не будет физически использоваться кем-либо. Поэтому, чтобы попробовать обойти это, я хочу укоренять устройство и использовать команду 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.
Вы можете использовать https://www.genymotion.com/. Все созданные устройства внедрены по умолчанию. Например, запустите устройство, затем введите adb shell command
. Он откроет корневую оболочку.
При работе с эмуляторами Android просто выполните:
Вы можете найти 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