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!

  • Definir text do button paira o ponto de interrogação
  • Android - Configuração de background desenhável personalizado paira ClickSpan
  • Ver Pager com Univiewsal Image Loader Erro de memory insuficiente
  • Webview dentro de um pager View no Android
  • Android 6.0 não autorizado paira atualizair networking sem fio quando o aplicativo é reinstalado
  • java.io.IOException: sem espaço no dispositivo Android
  • Android permissão de criair database
  • Como merge o aplicativo cliente OpenVPN com outro aplicativo Android?
  • faça um clique sobre o primeiro plano
  • Android-Broadcast Receiview and Intent Filter
  • Animair o ImageView entre duas atividades usando transições de elementos compairtilhados com ChangeImageTransform
  • Como posso usair o Android KeyStore paira airmazenair de forma segura cadeias airbitrárias?
  • 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.