在 Android 上以 root 身份运行 shell 命令?
我认为当我的应用程序需要用户注意时打开硬件按钮灯会很酷,这样用户可以在屏幕空白时得到指示。事实证明,这需要 root 访问权限(echo 1 > /system/class/leds/keyboard-backlight/brightness)。我在 Stack (http://muzikant-android.blogspot.com/2011/02/how-to-get-root-access-and-execute.html) 上找到了一个测试 root 访问但失败的类的链接在我的 Nexus-S 上。
有没有办法以 root 身份运行 shell 命令而无需 root 设备?
谢谢
编辑:这是我从 logcat 收到的错误 11-15 12:34:19.889:D/ROOT(2029):根访问被拒绝 [java.io.IOException]:运行 exec() 时出错。命令:[su] 工作目录:null 环境:null
I thought it would be cool to turn the hardware button lights on when my application needs user attention so the user could get an indicator when the screen is blanked. As it turns out, this requires root access (echo 1 > /system/class/leds/keyboard-backlight/brightness). I found a link on Stack (http://muzikant-android.blogspot.com/2011/02/how-to-get-root-access-and-execute.html) to a class which tests for root access but it fails on my Nexus-S.
Is there a way to run shell commands as root without having to root the device?
Thanks
Edit: this is the error I'm getting from logcat
11-15 12:34:19.889: D/ROOT(2029): Root access rejected [java.io.IOException] : Error running exec(). Command: [su] Working Directory: null Environment: null
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
失败的原因是你的手机需要root。
请参阅 Wikipedia 条目了解Root (Android 操作系统)。
如果任何手机上的任何应用程序都可以扎根并执行任何操作,这将是一个重大的安全漏洞。
The reason it fails it because your phone needs to be rooted.
See the Wikipedia entry for Rooting (Android OS).
It would be a major security flaw if any app on any phone could take root and do anything.
如果您的手机具有 root 访问权限,那么您可以使用 Process 和 Runtime 类来触发 shell 脚本。
If your phone has root access then you can fire shell scripts using Process and Runtime class..