你是否正在寻找关于createprocess的内容?让我把最棒的东西奉献给你:
后面那堆乱码使我知道只好用谷歌去查一下问题答案,翻着翻着就有了启发。
首先自己在捣鼓如何获取APK信息,然后了解了一下ProcessBuilder类,具体这个类如何获取APK信息,我另外写了一篇分析这个类的文章:
的错误。
但是直接在Dos窗口是可以执行的。
将代码改为,
Process p = pb.command("ipconfig").start();
ProcessBuider的API写到It is not checked whether command corresponds to a valid operating system command。就是非系统指令并不会提示,。
然后受到网上一个答案的启发和源码的启发,我尝试将代码改为:
Process p = pb.command("C:/getapkinfo/aapt.exe d","badging","D:/new/test.apk").start();
为什么呢?
乎指令之间如果有空而不用不同的字符串隔开,就会无法识别指令。
Process p = pb.command("C:/getapkinfo/aapt.exe"," ","d","badging","D:/new/test.apk").start();这样是正常执行的,但是,这样执行后的结果等价于在Dos窗口输入:C:/getapkinfo/aapt.exe罢了。
然后,本来ipconfig /all是可以输出ip地址的详细信息的。
但是改为:
Process p = pb.command("ipconfig //all").start();
指令中有空的需要用不同的字符串分开。
在重新读一下该方法的API。
public ProcessBuilder command(String... command)
command - a string array containing the program and its arguments
可见指令与参数是要放在不同的字符串数组里面的,所以下面才会正常执行:
以上就是关于createprocess的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-5188-1.html
枷锁在一根根往自己脖子上套