2

ルート権限を取得したAndroid2.1デバイスでコマンドを実行します

文字列パス="/data/data/com.android.providers.settings/databases/settings.db"; Runtime.getRuntime()。exec( "/ system / bin / chmod -f 777" +パス);

ただし、このコマンドはターゲットファイルに対して何も実行しません。何か案が?

4

3 に答える 3

2

RootToolsライブラリは、rootをチェックしてrootコマンドを発行するための簡単な方法を提供します。

RootTools.isRootAvailable()
List<String> output = RootTools.sendShell(command);

http://code.google.com/p/roottools/

于 2011-07-03T15:06:00.390 に答える
1

最初にrootユーザーとしてランタイムを取得する必要があります。GoogleCodeで入手可能なMarketEnablerソースから使用できる優れたShellInterfaceクラスがあります。ただし、このソースコードはGPLの下でリリースされていることに注意してください。

基本的に、 suコマンドがどこにあるかを判別し、STDINとSTDOUTの入力ストリームと出力ストリームを使用して一種のシェルを作成する必要があります。これらを使用すると、コマンドを「ターミナル」にプッシュできます。すべてのコマンドが完了したら、バッファをフラッシュして、ランタイムが完了するのを待ちます。完了したら、ランタイムインターフェイスを閉じることができます。

次に、作成/変更などを試みたファイルを調べて、すべてが正しく機能するかどうかを確認します。

于 2011-01-04T13:48:16.123 に答える
0

Bao Le Androidアプリでシェルコマンドを削除しようとしていると思います。ここ(AndroidアプリでAndroidネイティブコードを実行する)は、アプリからコマンドを実行する多くの方法のいくつかです。

于 2011-01-04T13:56:14.440 に答える