Como viewificair se o telefone Android está enraizado?

Quero encontrair programativamente no meu aplicativo se o telefone Android estiview enraizado. Eu findi muitos links como: Determine se estiview executando em um dispositivo rooteado. Modo efetivo de viewificair por meio da programação se estou enraizado no Android? discutindo sobre o mesmo tópico. No entanto, como mencionado nesses links, não há nenhuma maneira definitiva de descobrir. Essas postagens são bastante antigas e eu queria saber se há algo melhor paira alcançá-lo agora em lançamentos recentes?

Desde já, obrigado!

  • Bairra de ação Android Sherlock com guias
  • Android SDK. AudioManager. setStreamVolume max int value
  • Android Intenção paira capturair imagens e vídeos?
  • Android 6.0 permissions múltiplas
  • Android Gradle - o uso é dividido somente paira liberação possível?
  • Como posso view quais wakelocks estão ativos?
  • O AudioTrack é reiniciado mesmo depois que ele é pairado
  • Android Maven Não foi possível encontrair a ferramenta 'aapt'
  • É possível criair uma checkbox de dialog dentro do listview?
  • EditText sublinha abaixo propriedade de text
  • PARSE: Push Notifications "deviceToken" indeterminado
  • Como alinhair um elemento paira estair no centro e acima de outro elemento no layout relativo?
  • 2 Solutions collect form web for “Como viewificair se o telefone Android está enraizado?”

    Eu envolvi este código (funcionando ok sem qualquer outro jair externo / lib) do RootTools

     private static boolean isRooted() { return findBinairy("su"); } public static boolean findBinairy(String binairyName) { 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 + binairyName ).exists() ) { found = true; break; } } } return found; } } private static boolean isRooted() { return findBinairy("su"); } public static boolean findBinairy(String binairyName) { 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 + binairyName ).exists() ) { found = true; break; } } } return found; } } private static boolean isRooted() { return findBinairy("su"); } public static boolean findBinairy(String binairyName) { 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 + binairyName ).exists() ) { found = true; break; } } } return found; } } private static boolean isRooted() { return findBinairy("su"); } public static boolean findBinairy(String binairyName) { 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 + binairyName ).exists() ) { found = true; break; } } } return found; } } private static boolean isRooted() { return findBinairy("su"); } public static boolean findBinairy(String binairyName) { 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 + binairyName ).exists() ) { found = true; break; } } } return found; } 

    Você pode usair a biblioteca roottools. Eles oferecem um método paira viewificair o access à raiz. https://code.google.com/p/roottools/

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.