我想在我的應用程序中以編程方式查找android手機是否已經植入。我發現了很多鏈接,如:Determine if running on a rooted device Effective way to programatically check if I'm rooted on Android?討論關於同一主題。但是,正如在這些鏈接中提到的那樣,沒有人能夠明確地找到答案。這些帖子相當老,我想知道是否有什麼更好的現在在最近的版本中實現它?如何檢查android手機是否植根?
在此先感謝!
我想在我的應用程序中以編程方式查找android手機是否已經植入。我發現了很多鏈接,如:Determine if running on a rooted device Effective way to programatically check if I'm rooted on Android?討論關於同一主題。但是,正如在這些鏈接中提到的那樣,沒有人能夠明確地找到答案。這些帖子相當老,我想知道是否有什麼更好的現在在最近的版本中實現它?如何檢查android手機是否植根?
在此先感謝!
您可以使用roottools庫。他們提供了一種檢查root訪問權限的方法。 https://code.google.com/p/roottools/
我裹着這代碼RootTools
private static boolean isRooted() {
return findBinary("su");
}
public static boolean findBinary(String binaryName) {
boolean found = false;
if (!found) {
String[] places = {"/sbin/", "/system/bin/", "/system/xbin/", "/data/local/xbin/",
"/data/local/bin/", "/system/sd/xbin/", "/system/bin/failsafe/", "/data/local/"};
for (String where : places) {
if (new File(where + binaryName).exists()) {
found = true;
break;
}
}
}
return found;
}
(沒有任何其他外部JAR/lib中工作確定),你會不會在這個論壇上有這樣的問題得到答案。您應該嘗試一些您的/收集的想法,並詢問您在實施過程中遇到的問題。另一方面,有一個想法是有幾個方法來嘗試每個場景(調用'su',請求超級用戶權限,嘗試寫入特權文件夾...),如果有任何成功,那麼你在根植設備。 – JScoobyCed
我發佈這個問題的主要目的是爲了瞭解是否最近在android框架中添加了任何東西來檢查根目錄。顯然不是!我得到的答案與舊帖子中的答案相同。不管怎麼說,多謝拉! – Keya