Android中判斷手機是否已經Root

2021-06-10 08:44:13 字數 1167 閱讀 7398

本人部落格原文

在android中,雖然我們可以通過

runtime.getruntime().exec("su")

的方式來判斷乙個手機是否root,

但是該方式會彈出對話方塊讓使用者選擇是否賦予該應用程式root許可權,有點不友好。

其實我們可以在環境變數$path所列出的所有目錄中查詢是否有

su檔案來判斷乙個手機是否root。

當然即使有su檔案,也並不能完全表示手機已經root,但是實際使用中作為乙個初略的判斷已經很好了。

另外出於效率的考慮,我們可以在**中直接把$path寫死。

例項1

private

final

static

intksystemrootstateunknow=-1

;

private

final

static

intksystemrootstatedisable=0

;

private

final

static

intksystemrootstateenable=1

;

private

static

intsystemrootstate

=ksystemrootstateunknow

;

public

static

boolean

isrootsystem

()

elseif(

systemrootstate

==ksystemrootstatedisable

)

filef=

null

;

final

string

ksusearchpaths

=;

try

}

}catch

(exceptione)

systemrootstate

=ksystemrootstatedisable

;

return

false

;

}

結束!

iOS如何判斷手機是否已越獄

分享一篇關於安全攻防類 越獄檢測的攻與防 在應用開發過程中,我們希望知道裝置是否越獄,正以什麼許可權執行程式,好對應採取一些防禦和安全提示措施。ios7相比之前版本的系統而言,公升級了沙盒機制,封鎖了幾乎全部應用沙盒可以共享資料的入口。即使在越獄情況下,限制也非常多,大大增加了應用層攻擊難度。比如,...

android 雙卡手機發簡訊 判斷手機是否為雙卡

mtk和高通的都應該怎麼識別?這裡困擾了很多的開發者,這一篇可能都是錯的,希望能提供參考。android雙卡雙待資料 try class sendmultiparttextmessagepamas method dividemessage null method sendmultiparttextm...

android 判斷手機是否開啟了允許模擬位置選項

最近看到有人問 怎麼才能獲取到 手機是否開啟了 允許模擬位置 呢?其實很簡單,這些設定項,基本都是寫在資料庫裡,所以只要看看setting的原始碼 或者檢視logcat可能也可以得到些有用的資訊 就能知道該配置是寫了資料庫的哪個字段。允許模擬位置 boolean isopen settings.se...