2013-02-13 126 views
1

我想执行从app..I的“苏” COMAND已经根深蒂固的仿真器和安装Superuser.apk(超级用户2.3.6.1)Root权限不授予Android应用程序exceuting“苏”命令

Process pr= Runtime.getRuntime().exec("su"); 
process.waitFor(); 
Log.d("Ex.Value",Integer.toString(process.exitValue())); 

但是,我得到255作为退出值,这似乎是执行“苏”时的一些错误。 我已经包含了RootTools库(http://code.google.com/p/roottools/)。当使用方法RootTools.isRootAvailable(),RootTools.isAccessGiven() ...检查它发现模拟器具有SU,但我的应用程序未被授予Root权限。它会成为真正的问题吗? ..如果是这样你可以告诉如何授予我的应用程序根权限?

+0

您是否在超级用户应用程序中设置了您的应用程序可以作为根执行的权限? – Yury 2013-02-13 16:23:13

+0

@Yury我不知道如何正确地做到这一点...可以请你帮忙.. – user2068522 2013-02-13 18:36:13

+0

AFAIK,你可以在这里阅读关于他们:http://getandroidstuff.com/superuser-vs-supersu-android-root-最好的管理/ – Yury 2013-02-13 18:39:43

回答

1

当您执行'su'时,您应该在该进程中拥有root权限。然后应用程序应该通过对话框自动向用户请求root权限。此对话框由android提供,但仅存在于已经过根的设备中。

这个博客帖子有一个例子可以帮助你:

http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/

末的意见是非常翔实,以及。

+0

感谢Reply Anup ...但是在post中给出的代码中,最初有exec(“su”)... p = Runtime.getRuntime()。exec(“su”);在我的情况下,这是抛出退出值255 ...有什么办法给予应用程序Rootpermission。即时通讯使用模拟器,它是植根于... – user2068522 2013-02-13 15:18:10

+0

根植于模拟器始终是一个问题。这就是为什么我更喜欢实际设备。这个线程可能会帮助你:http://stackoverflow.com/questions/5095234/how-to-get-root-access-on-android-emulator – 2013-02-13 15:21:34

+0

我试图以这种方式自己...当用RootTools检查。 isRootAvailable()方法,它显示设备(模拟器)是根源...但应用程序缺少root permisssion – user2068522 2013-02-13 15:27:26