我们有一个需要从 Android 应用程序运行的 unix 命令行工具。不存在实现我们正在寻找的相同功能的库。
在 Android 应用程序中捆绑和执行此工具的正确方法是什么?它是我们需要作为新进程执行的单个文件。我们希望避免使用任何私有 API 等。
注意:如果这是最佳选择,我们可以使用服务或提取到某个目录。我们正在使用 Mono for Android (Xamarin.Android),但我们可以使用 Java 示例。
我们有一个需要从 Android 应用程序运行的 unix 命令行工具。不存在实现我们正在寻找的相同功能的库。
在 Android 应用程序中捆绑和执行此工具的正确方法是什么?它是我们需要作为新进程执行的单个文件。我们希望避免使用任何私有 API 等。
注意:如果这是最佳选择,我们可以使用服务或提取到某个目录。我们正在使用 Mono for Android (Xamarin.Android),但我们可以使用 Java 示例。
希望这可以帮助 ...
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();
}
干杯!
为了在新进程上运行任何东西,您只需在清单中定义它。在您的情况下,您可能希望将其设置为服务:
http://developer.android.com/guide/topics/manifest/service-element.html
(见进程属性)。
但是,我认为您不需要这样的东西,您可以改用新线程,它可能会在您的服务上运行,并且可能需要该服务是前台服务,具体取决于您的需要。
为了运行你想要的文件(我从来没有在 android 上做过),你可能需要将文件复制到某个地方(最好是用于你的应用程序的内部存储),然后像在unix/linux 的终端,使用 Runtime.getRuntime().exec(...