導航:首頁 > 編程語言 > adbjava

adbjava

發布時間:2024-11-20 09:47:09

『壹』 如何在java代碼中調用adb命令

代碼如下:

package com.symbio.ltp.adb;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

import com.symbio.ltp.model.ConfigPropertiesData;
import com.symbio.ltp.util.Log;

public class ShellCommand {
private String name;
private Process process;
private BufferedWriter writer;
private BufferedReader reader;
private BufferedReader errorReader;
private List<String> list;
private String[] returnValue;

public ShellCommand(String name) {
this.name = name;
}

public String getName() {
return name;
}

public Process getProcess() {
return process;
}

public BufferedWriter getOutputWriter() {
return writer;
}

public BufferedReader getInputReader() {
return reader;
}

public BufferedReader getErrorReader() {
return errorReader;
}

public boolean start(String cmd) {
try {
process = Runtime.getRuntime().exec(cmd);
writer = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
} catch (IOException e) {
Log.debug("Exception in shell(" + name + ") -- " + e.getMessage());
return false;
}
return true;
}

public boolean exec(String cmd) {
String line;

try {
writer.write(cmd + "\n");
writer.flush();

while((line = reader.readLine()) != null) {
Log.debug(line);
if(line.equals(ConfigPropertiesData.ltp_success)) {
return true;
} else if(line.equals(ConfigPropertiesData.ltp_fail)) {
return false;
}
}
} catch (IOException e) {
Log.debug("Exception in shell(" + name + ") -- " + e.getMessage());
return false;
}
return true;
}

public String [] execReturn(String cmd) {
String line;
list = new ArrayList<String>();
try {
writer.write(cmd + "\n");
writer.flush();
line = reader.readLine();
while((line = reader.readLine()) != null) {
if(line.length()>0 && !(line.startsWith("#"))){
Log.debug(line);
list.add(line);
if(line.equals(ConfigPropertiesData.ltp_success)) {
break;
} else if(line.equals(ConfigPropertiesData.ltp_fail)) {
break;
}
}
}

int size = list.size();
returnValue = new String[size];
for (int i = 0; i < size; i++) {
returnValue[i] = list.get(i);
}
} catch (IOException e) {
Log.debug("Exception in shell(" + name + ") -- " + e.getMessage());
return null;
}
return returnValue;
}
public void terminate() {
try {
writer.write(0x03);
writer.flush();
} catch (IOException e) {
Log.debug("Exception in shell(" + name + ") -- " + e.getMessage());
}
}
}

『貳』 java大神 小弟最近准備學安卓 cmd輸入adb有很多東西 說明成功了 可是運行sdk man

就現在開發而言的話,模擬器需要一個2.2的版本,然後一個4.0的版本,4.0以上的版本任意一個(我現在用的4.4)。不過對於你現在只是學習的話,不需要這么多版本,隨便下一個,4.2這個版本還不錯。實際開發的時候公司一般情況下都會拿平板來做測試。模擬器跑起來太卡了

閱讀全文

與adbjava相關的資料

熱點內容
xshell連接linux命令 瀏覽:3
把多個文件夾的內容合並在一起 瀏覽:479
基於單片機的澆花系統設計ppt 瀏覽:683
卷積碼編解碼及糾錯性能驗證實驗 瀏覽:352
請在刪除驅動器之前暫停加密什麼意思 瀏覽:785
光催化pdf 瀏覽:98
java字元串包含某字元 瀏覽:526
ssm身份認證源碼 瀏覽:466
預排序遍歷樹演算法 瀏覽:671
加密裝置如何打開ping功能 瀏覽:478
python下載372 瀏覽:901
u盤子文件夾隱藏 瀏覽:296
本地誤刪svn文件夾 瀏覽:685
海康威視python通道名 瀏覽:241
如何用app覆蓋全部曲庫 瀏覽:602
變異布林源碼 瀏覽:686
表格加密設置列印區域 瀏覽:437
卡耐基pdf下載 瀏覽:924
現在最流行的單片機 瀏覽:89
機頂盒刷機源碼 瀏覽:986