Мне нужно получить 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.