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 回答