[英]Android InputStream from ProcessBuilder: readLine() returns null
我正在基於以下網址構建Android應用程序: https : //code.google.com/p/ics-openvpn/但是,在簽名並導出后,某些原始代碼無法正常工作:
private void startOpenVPNThreadArgs(String[] argv, Map<String, String> env) {
LinkedList<String> argvlist = new LinkedList<String>();
Collections.addAll(argvlist, argv);
ProcessBuilder pb = new ProcessBuilder(argvlist);
// Hack O rama
String lbpath = genLibraryPath(argv, pb);
pb.environment().put("LD_LIBRARY_PATH", lbpath);
// Add extra variables
for(Entry<String,String> e:env.entrySet()){
pb.environment().put(e.getKey(), e.getValue());
}
pb.redirectErrorStream(true);
try {
mProcess = pb.start();
// Close the output, since we don't need it
mProcess.getOutputStream().close();
InputStream in = mProcess.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while(true) {
String logline = br.readLine();
if(logline==null) {
System.out.println("logline == null");
return;
}
等等
我不斷得到: logline == null
,然后連接斷開。 沒有例外env參數是一個空映射! 這都是原始代碼,我真的不知道在哪里看,因為沒有注釋或JavaDoc。 誰能幫我這個忙嗎? 謝謝
當我意識到它試圖寫一些不存在的二進制文件時,發現了這里的問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.