В эмуляторе, поставляемом с SDK r10, вы можете получить корневую оболочку, выполняющую «оболочку adb» с вашего главного компьютера.Если у вас есть такая корневая оболочка, вы можете выполнить следующие действия, чтобы получить команду, которая может зарегистрировать вас как root из эмулятора терминала:
# Remount /data to allow executables and setuids on it
mount -o remount,rw /dev/block/mtdblock1 /data
# There's no "cp" command on Android
cat /system/bin/sh > /data/su
# Give setuid permissions to the shell
chmod 7755 /data/su
Теперь из эмулятора просто запустите "/ data / su"и все, вы root.
Обычная команда "/ system / xbin / su", включенная в SDK, выполняет внутреннюю проверку идентификатора пользователя, поэтому эти команды ...
mount -o remount,rw /dev/block/mtdblock0 /system
chmod 7755 /system/xbin/su
... просто не сработает.Нет способа обмануть / system / xbin / su, чтобы позволить обычному пользователю (в моем случае UID 10018) стать пользователем root.
Обратите внимание, что работа с программами setuid может быть угрозой безопасности (не выше, чемуниверсальная команда "су", хотя).Используйте это решение на свой страх и риск.