0

Android アプリから実行する必要がある UNIX コマンド ライン ツールがあります。私たちが探しているのと同じ機能を実現するライブラリは存在しません。

Android アプリ内でこのツールをバンドルして実行する適切な方法は何ですか? これは、新しいプロセスとして実行する必要がある単一のファイルです。プライベート API などは避けたいと考えています。

注: サービスを使用したり、特定のディレクトリに展開することが最適である場合は問題ありません。Mono for Android (Xamarin.Android) を使用していますが、Java の例で問題ありません。

4

2 に答える 2

2

お役に立てれば ...

try{
    Process process;            
    process = Runtime.getRuntime().exec("top -n 1 -d 1");
    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));

} catch (InterruptedException e) 
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}

乾杯!

于 2013-02-23T17:38:26.700 に答える
0

新しいプロセスで何かを実行するには、マニフェストで定義するだけです。あなたの場合、サービスに設定することができます:

http://developer.android.com/guide/topics/manifest/service-element.html

(プロセス属性を参照) .

ただし、そのようなことは必要ないと思います。代わりに新しいスレッドを使用できます。これはおそらくサービスで実行され、ニーズに応じてサービスをフォアグラウンド サービスにする必要がある場合があります。

必要なファイルを実行するには(Androidで実行したことはありません)、おそらくファイルをどこかにコピーする必要があります(できればアプリに使用される内部ストレージ)。 unix/linux の端末、Runtime.getRuntime().exec(... を使用)

于 2013-02-23T19:11:25.643 に答える