如何解决在Android模拟器中获得root访问权限以通过代码重新启动的步骤是什么?
| 如何获得root用户访问权限才能重新启动模拟器?如何杀死所有不需要的进程以及子进程?解决方法
您已经具有对模拟器的root访问权限。要杀死进程,所有子进程都只需要在Eclipse中使用设备视图,请选择仿真器theere并选择要杀死的进程。
如果您正在寻找,我不知道如何从代码重新启动。重新启动设备应该很容易:只需关闭设备,然后重新启动即可。
(我觉得我并没有真正得到想要的东西...)
,Android的大多数su二进制文件都依赖于SuperUser.apk(在市场上免费提供)。 su二进制文件使用此apk来询问用户是否可以执行所请求的任何操作(并且用户可以选择记住答案)。如果您使用的是这样的su,则还需要安装该APK。
一旦完成,您的应用程序就可以使用正确的参数生成一个进程……例如argv [0] = \“ / path / to / su \”,argv [1] = \“-c \”, argv [2] = \“(无论您要运行什么命令)\”,argv [3 ... n] =命令的参数。
,要在命令行中终止进程,只需在shell上发出以下命令行:
kill-9 YOUR_PID
如果您知道进程的名称而不是pid,请使用
kill -9 $(pidof NAME_OF_PROCESS)
您也可以在代码中使用它:
Runtime.getRuntime().exec(\"kill-9 YOUR_PID\");
有关更多详细信息,请参见手册页:http://unixhelp.ed.ac.uk/CGI/man-cgi?kill
, ps-重新启动后,我还想杀死所有不需要的进程,除了我的特定应用及其子进程之外,它们只能在模拟器中运行。
如果这确实是您要执行的操作-将android构建重新用作通用嵌入式linux,则解决方法是重新生成包含init.rc的ramdisk映像(android将其打包到内核上),该init.rc将启动您的应用程序而不是android native服务和(java-esque dalvik)android runtime。重建ramdisk需要一个类似Unix的OS,以及可以在Web搜索中找到的arcane cpio命令行。我很想把ADB的启动留在那儿,以便您可以调试会出错的各种事情。
为了进行测试,只需在adb shell中键入\“ stop \”即可关闭android运行时,并为您提供一个没有UI的虚拟Pocket linux框。仍然会有一些本机服务在运行,但它们可能带来的好处多于危害。最终,您可能需要在添加的内容上设置OOM杀手级值,但是如果不消耗大量内存,则在短期内可能不会成为运行时问题。
或者,如果您想要做的是在android运行时之上建立一个非常受限且受限的UI,则可以开发一个自定义主屏幕,在未修改的模拟器上进行测试,然后将其部署到缺少安装其他应用程序的任何方式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。