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