如何在android中以编程方式执行adb命令

时间:2013-02-05 05:57:42

标签: android adb

我使用以下命令手动植入我的模拟器

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命令,但在关闭模拟器并再次打开模拟器时,su命令无法正常工作。为了克服这个问题,我想创建一个示例应用程序,用于使用

执行上述命令
Runtime.getRuntime().exec();

请一个人帮我如何以编程方式执行上述命令。

1 个答案:

答案 0 :(得分:1)

模拟器是开箱即用的,因为ADB shell以root身份运行。

你所做的不是“扎根”它,而是使用预先存在的root shell来安装一个常见的hack,然后让应用程序以root身份运行帮助任务。

但你不能从设备上的应用程序那里做到这一点,因为设备上还没有能够以root身份启动帮助程序 - 所以你会遇到循环依赖或者需要root的鸡蛋和鸡蛋问题才能安装根助手。

如果没有找到安全漏洞(或预先存在的故意权限提升机制),您将无法在设备甚至模拟器上执行此操作。

然而:

  • 您可以阅读如何使模拟器的状态持久化,并且只能手动执行一次

  • 您可以从开发机器上运行的脚本发出命令,而不是在设备/模拟器上发出命令