2016-04-12 4 views
1

Этот вопрос, возможно, дублировать, но я прошел через все ответы, и заметил, что они не будут работать большеПроверить су существует, т.е. устройство коренится или не

private static boolean checkRootMethod1() { 
    String buildTags = android.os.Build.TAGS; 
    return buildTags != null && buildTags.contains("test-keys"); 
} 

Метод-1 не удалось

private static boolean checkRootMethod2() { 
    String[] paths = { "/system/app/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su", 
      "/system/bin/failsafe/su", "/data/local/su" }; 
    for (String path : paths) { 
     if (new File(path).exists()) return true; 
    } 
    return false; 
} 

Метод 2 также не удался из-за того, что «SuperSu» не является системным приложением, он может быть удален, и файл su теперь присутствует в папке saperate SU/bin/su

private static boolean checkRootMethod3() { 
    Process process = null; 
    try { 
     process = Runtime.getRuntime().exec(new String[] { "/system/xbin/which", "su" }); 
     BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); 
     if (in.readLine() != null) return true; 
     return false; 
    } catch (Throwable t) { 
     return false; 
    } finally { 
     if (process != null) process.destroy(); 
    } 
} 

метод 3 также не потому, что там нет «что» файл на андроид устройств теперь дни

RootTools.isavailable(); 

также не удалось

Мой вопрос может я обнаружить устройство коренится путем проверки файла Су в Су/bin/su - это правильный способ обнаружения корневого устройства?

ответ

1
  1. добавить "/ су/бен/су" для трактов переменной checkRootMethod2()
  2. , как к способу 3, следует также назвать "которые" с помощью "/ системы/бен /, который"
+0

Спасибо за ответ Сэм Лу, но вы немного опоздали;) – Dayvon

+0

«который» файл не существует сейчас дней даже на пути «/ system/bin/which» – Dayvon

 Смежные вопросы

  • Нет связанных вопросов^_^