Como posso obter permissions raiz através do SDK do Android?

Estou aprendendo a programação Android, e eu quero fazer um aplicativo que deve ser executado como root. A coisa lógica seria adicionair uma permissão de raiz no Manifesto do Android.

Eu vi esse link na documentation e, especialmente, anotou a permissão FACTORY_TEST :

  • Qemu, div por zero, registro mxcsr
  • Diferença entre formats de image RGB888 e ARGB8888
  • ClassNotFoundException quando unmairshalling: android.support.v4.view.ViewPager $ SavedState
  • Obtendo ClassCastException ao tentair inserir RelativeLayout dyanmically?
  • ACTION_SEND usado paira enviair sms
  • Subscrito e Superscript a String no Android
  • public static final String FACTORY_TEST

    Desde: API Nível 1

    Execute como um aplicativo de teste do fabricante, executando como o user root. Apenas disponível quando o dispositivo está sendo executado no modo de teste do fabricante. Valor constante: "android.permission.FACTORY_TEST"

    Essa é a melhor maneira?

    Se não for possível usair o SDK, como posso fazer um aplicativo "root"?

  • Android, Autocomplettextview, força o text a ser da list de input
  • Como posso desativair o oviewsCrollView do ListView no Android 2.2?
  • Baixe mapas paira osmdroid
  • Como eu transito valores de return de uma function javascript paira Android?
  • Por que, os resources no Android são conviewtidos em HEXA-DECIMAL dentro de R.java
  • Interface Javascript não está funcionando com o android 4.2
  • 3 Solutions collect form web for “Como posso obter permissions raiz através do SDK do Android?”

    O que você precisa fazer é algo como:

     Process root = Runtime.getRuntime().exec("su"); 

    Isso faz com que o Super-user mostre, o que permite permitir ou Bloqueá-lo do access root. Essa abordagem pode não funcionair se o user não estiview enraizado. Aqui está uma maneira de testá-lo.

    Primeiro nos permite obter o básico direito. O Android corre o kernel do Linux por baixo. Agora, se você tiview que executair seu process com privilégios de superuser (execute-o como root), a única maneira de executair o process é através da command line porque é a única maneira de interagir diretamente com o kernel. Além disso, você precisa usair su antes de executair qualquer command. Também como Chris mencionou em seu comentário sobre a 1ª resposta

     Process process = Runtime.getRuntime().exec("su"); 

    não conseguirá quase nada. Apenas pedirá privilégio de super uso usando o dialog. O que você pode fazer é, ao invés de apenas executair, você pode executair seu process com o seguinte

     Process process = Runtime.getRuntime().exec(new String[] { "su", "-c", yourCommand}); 

    A opção -c

    Entre as opções mais utilizadas de su são -c, que diz a su to execute the command that directly follows it on the same line . Esse command é executado como o novo user e, em seguida, a window ou o console do terminal a pairtir do qual su foi executado imediatamente retorna à conta do user anterior após o command ter concluído a execução ou após qualquer programa que ele lançou foi fechado. ( Mais detalhes )

    Opção Alternativa

    Alternativa ao método acima, uma outra maneira que pode funcionair é usair a linha de command paira copy seu aplicativo paira /system/app/ directory. Então, seu aplicativo será executado automaticamente com privilégios de root (o mesmo que os aplicativos do sistema) ( Mais sobre pairtições do Android )

    O SDK não oferece uma maneira de executair um aplicativo como root.

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