8

Androidアプリからルート権限を取得する方法を知りたいですか? Androidマーケットにアプリはありますか?

以下のコード行を試してファイルを一覧表示しましたが、何も起こりませんでした

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

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

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

これらの作業を開始するための助けが必要です (可能であれば root 権限を取得するためにアプリを作成します)。前もって感謝します :)

4

2 に答える 2

5

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

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

于 2014-02-06T07:28:03.053 に答える
4

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

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 - rootrootとにかくデフォルトです)。通常の Linux システムでは su 呼び出しを処理するデーモンが存在しないため、daemon-thing を除いて、基本的にこれはほとんどの Linux システムで su と同じです。

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

于 2014-02-06T07:27:13.603 に答える