web-dev-qa-db-ja.com

Android Appの「ルート」権限を取得する

Android app?からルート許可を取得する方法を知りたいですか?Android market?

ファイルをリストするために以下のコード行を試しましたが、何も起こりませんでした

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

マニフェストファイルでTEST_FACTORY権限を与えようとしましたが、「システムアプリに許可」というエラーが表示されました

アプリシステムアプリを作成するにはどうすればよいですか?

私はこれらのものを始めるためのヘルプが必要です(可能な場合はroot権限を取得するためにアプリを作成してください)これに関するヘルプは非常に高く評価されています。前もって感謝します :)

7
ik024

最初:suを使用してのみシェルコマンドを実行できることに注意してください(= Java code)ではなく、ルートとしてのみシェルコマンドを使用できます)。

2番目:これがすべてのsuアプリに当てはまるかどうかはわかりませんが、これは私の電話のsuのヘルプメッセージです。

Usage: su [options] [--] [-] [LOGIN] [--] [args...]

Options:  
  --daemon                      start the su daemon agent  
  -c, --command COMMAND         pass COMMAND to the invoked Shell  
  -h, --help                    display this help message and exit  
  -, -l, --login                pretend the Shell to be a login Shell  
  -m, -p,  
  --preserve-environment        do not change environment variables  
  -s, --Shell SHELL             use Shell instead of the default /system/bin/sh  
  -u                            display the multiuser mode and exit  
  -v, --version                 display version number and exit  
  -V                            display version code and exit,  
                                this is used almost exclusively by Superuser.apk  

つまり、su -c something(またはsu -c something - rootを実行する必要がありますが、とにかくrootがデフォルトです)。通常、これは、通常のLinuxシステムにはsu呼び出しを処理するデーモンがないため、daemon-thingを除き、ほとんどのLinuxシステムではsuと同じです。

他のsuコマンドの動作が異なる場合(可能な場合)、シェルへのストリームを開き、suを実行し、リターンコードを評価してから、他のコマンドの実行に進み、最後にexitを実行する方が安全です。

3
Johannes H.

ここに良い答えがあります- Android:でルートアクセスを取得する方法Androidアプリケーション?

「私が知る限り、ルート権限を使用してのみコマンドラインコマンドを実行できます。コードでルートアクセスをラップするこの汎用クラスを使用できます。 http://muzikant-Android.blogspot。 com/2011/02/how-to-get-root-access-and-execute.html "

2
Nir Hartmann