導航:首頁 > 程序命令 > java執行adb命令

java執行adb命令

發布時間:2022-04-14 09:18:06

『壹』 用java調用adb出現問題

①、重啟

ADB 響應失敗,最先想到的就是重啟工具了

不過重啟一般都沒有用,建議跳過該方法哈哈

②、使用 cmd 工具重啟 ADB 進程

『貳』 用Java調用adb,不出來是為什麼

你需要在前面加上cmd /c
即exec中執行的命令應該是cmd /c adb shell input ...

『叄』 利用adb命令打開usb調試

打開Android手機的USB調試對於使用豌豆夾、調試程序等來說很重要。下面說說如何用代碼自動打開USB調試。先分析USB調試的相關源代碼。

在 packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java 找到關於 USB Debug Enable 的代碼:

[java]view plain

『肆』 java代碼啟動android adb命令 報錯

先保證你的adb能使用吧,再調試代碼。

『伍』 ADB命令必須安裝JDK嗎

JDK在windows系統下的環境變數配置方法如下(Win7):

計算機-> 屬性->高級->環境變數, 在系統變數中
1. 新建 變數名:JAVA_HOME 變數值 C:\Program Files\Java\jdk1.7.0_11(以本機的jdk安裝路徑為准)
2. 新建 變數名:classpath 變數值 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3.編輯變數名Path, 變數值添加:%JAVA_HOME%\bin;

以上配置完成後,保存。 運行cmd,在控制台中輸入javac 回車, 如果沒有提示命令語法錯誤,就證明配置OK!

設置adb的環境變數:
計算機-> 屬性->高級->環境變數, 在系統變數中
1. 新建 變數名:Android 變數值 C:\.....android SDK路徑\sdk\platform-tools; C:\.....android SDK路徑\sdk\tools;(以本機的android sdk安裝路徑為准)
2. 編輯變數名Path, 變數值添加:%android%;

『陸』 如何使用adb命令定位測試機當前運行的java類

因為你電腦上有adb這個程序,所以可以通過java調用。而安卓上沒有這個程序,所以沒法。除非你可以找到一個android版的adb

『柒』 java for循環里怎麼調用adb keyevent 命令

android中執行shell命令有兩種方式: 1.直接在代碼中用java提供的Runtime 這個類來執行命令,以下為完整示例代碼。

『捌』 如何在android裡面執行adb shell命令

ADB介面的作用主要是讓電腦等其它設備控制安卓系統的,所以,稱為「中間橋」; 不是為安卓自已用的,自已可直接執行稱為SHELL,這與ADB無關。 所以安卓JAVA不一定有封裝的ADB類。電腦上有ADB服務程序,埠5037, 它是中間程序,與安卓系統上守護進程(Daemon)通訊。 如果要在自已的手機上應該也能執行adb命令,應該直接跟守護進程 (Daemon)通訊了。網路上可以搜到的方法並不滿意。 樓主用exec執行CMD命令,這已不是ADB介面了,這是系統的SHELL了!!! 自已用socket/tcp直接發命令效果不知怎樣,地址用127.0.0.1, 安卓daemon進程的埠 5555 是奇數開始。

『玖』 我使用Java可以調用adb的命令 而使用Android想把類似adb shell input這樣的一個命令加進去當時不能實現

因為你電腦上有adb這個程序,所以可以通過java調用。
而安卓上沒有這個程序,所以沒辦法。除非你可以找到一個android版的adb

『拾』 如何在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執行adb命令相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:577
python員工信息登記表 瀏覽:375
高中美術pdf 瀏覽:159
java實現排列 瀏覽:511
javavector的用法 瀏覽:980
osi實現加密的三層 瀏覽:230
大眾寶來原廠中控如何安裝app 瀏覽:912
linux內核根文件系統 瀏覽:241
3d的命令面板不見了 瀏覽:524
武漢理工大學伺服器ip地址 瀏覽:147
亞馬遜雲伺服器登錄 瀏覽:523
安卓手機如何進行文件處理 瀏覽:70
mysql執行系統命令 瀏覽:929
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:249
哈夫曼編碼數據壓縮 瀏覽:424
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:348