2013-02-13 154 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