Получить root-доступ через su на эмуляторе Android - PullRequest
5 голосов
/ 16 апреля 2011

Мне нужно получить root-доступ через su для запуска двоичного файла TcpDump (я работаю над своего рода анализатором Android). Я использую этот код:

try {
    Process process = Runtime.getRuntime().exec("su");
    DataOutputStream os = new DataOutputStream(process.getOutputStream());
    os = new DataOutputStream(process.getOutputStream());
    os.writeBytes("/data/local/tcpdump-arm -c 10 -s 0 -w /data/local/out.txt\n");
    os.writeBytes("exit\n");
    os.flush();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Отлично работает на рутованном телефоне, но я хочу добиться этого в эмуляторе. По умолчанию вы не можете получить права root с помощью su на эмуляторе (хотя это возможно с помощью оболочки adb).

Я нашел это сообщение

Но это не работает для меня. Я где-то читал, что этот совет не будет работать с текущей версией SDK, но он не говорит, с которой он будет работать. Я пытаюсь с SDK ревизии 10 и AVD запустить Android 2.1.

Ответы [ 3 ]

8 голосов
/ 18 апреля 2011

Хорошо, я решаю проблему самостоятельно: /

Работает с SDK ревизии 10 и в AVD 2.2.Проблема с подсказкой, которой я следовал ранее, является шагом перемонтирования.Вот список команд, работающих для меня (извлечение из http://forum.xda -developers.com / showthread.php? T = 821742 ):

adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system
adb push su /system/xbin/su
adb shell chmod 06755 /system
adb shell chmod 06755 /system/xbin/su
adb install superuser.apk

Вы можете получить двоичный файл suи приложение суперпользователя здесь: http://forum.xda -developers.com / showthread.php? t = 682828

Вы должны делать это каждый раз, когда запускаете эмулятор.

1 голос
/ 15 октября 2012

Мне удалось получить superuser.apk, чтобы остаться между перезагрузками, удалив /system/app/SdkSetup.apk

Я только что проверил сейчас, и он был воссоздан, но у меня все еще есть Superuser.apk между моими перезагрузками.

Я бы также рекомендовал выдавать двоичный файл busybox вместе с su.

0 голосов
/ 03 января 2013

Обратите внимание, что шаги из abd также работали для эмулятора AVD с ОС 2.3.3 Gingerbread.Я скачал su-2.3.6.1-signed.zip по предоставленной ссылке.

Также я создал файл .bat, содержащий команды, предоставленные abd для мгновенного выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...