當前位置:首頁 » 安卓系統 » adbforandroid

adbforandroid

發布時間: 2022-06-18 12:50:42

A. Qt for Android問題,真機調試,usb debug打開了。adb的環境變數設置了。輸入adb

由於HTC的舊名就是High Tech Computer Corporation,所以很容易知道有關我們設備的信息就是最下面的那條

Bus 002 Device 022: ID 0bb4:0cac High Tech Computer Corp.

現在我們需要記住的就是ID後面的一項數據,在上面的情況中,我們需要記錄的是0bb4(不同廠商的設備ID的值可能不一樣,所以建議大家在使用ID值的時候先使用lsusb命令查詢)。

在/etc/udev/rules.d/中建立文件70-android.rules,其實LZ還不知道這個文件的命名到底有什麼規則,在網上也有看到說用51或者50開頭的,由於LZ拿70成功配置,所以這邊直接沿用。使用

sudo vim /etc/udev/rules.d/70-android.rules

B. 如何在android應用里執行adb 命令

ADB介面的作用主要是讓電腦等其它設備控制安卓系統的,所以,稱為「中間橋」;

不是為安卓自已用的,自已可直接執行稱為SHELL,這與ADB無關。

所以安卓java不一定有封裝的ADB類。電腦上有ADB服務程序,埠5037,

它是中間程序,與安卓系統上守護進程(Daemon)通訊。

如果要在自已的手機上應該也能執行adb命令,應該直接跟守護進程

(Daemon)通訊了。網路上可以搜到的方法並不滿意。

樓主用exec執行CMD命令,這已不是ADB介面了,這是系統的SHELL了!!!

自已用socket/tcp直接發命令效果不知怎樣,地址用127.0.0.1,安卓daemon進程的埠

5555是奇數開始。

。。。。至於ADB對話協議網路可以搜到,建議試一試。

樓上其實要的是SHELL,並不是ADB,我搜到一篇文章,但我並沒有試過,

是否需要ROOT,不得而知,附上,你試一試 ,回個話。

滿意就採納!

C. 怎麼在Android Studio中執行adb命令

android中執行shell命令有兩種方式:1.直接在代碼中用java提供的Runtime這個類來執行命令,以下為完整示例代碼。publicvoidexecCommand(Stringcommand)throwsIOException{//startthelscommandrunning//String[]args=newString[]{"sh","-c",command};Runtimeruntime=Runtime.getRuntime();Processproc=runtime.exec(command);//這句話就是shell與高級語言間的調用//如果有參數的話可以用另外一個被重載的exec方法//實際上這樣執行時啟動了一個子進程,它沒有父進程的控制台//也就看不到輸出,所以需要用輸出流來得到shell執行後的輸出InputStreaminputstream=proc.getInputStream();=newInputStreamReader(inputstream);BufferedReaderbufferedreader=newBufferedReader(inputstreamreader);//readthelsoutputStringline="";StringBuildersb=newStringBuilder(line);while((line=bufferedreader.readLine())!=null){//System.out.println(line);sb.append(line);sb.append('\n');}//tv.setText(sb.toString());//使用exec執行不會等執行成功以後才返回,它會立即返回//所以在某些情況下是很要命的(比如復制文件的時候)//使用wairFor()可以等待命令執行完成以後才返回try{if(proc.waitFor()!=0){System.err.println("exitvalue="+proc.exitValue());}}catch(InterruptedExceptione){System.err.println(e);}}}2.直接安裝shell模擬器,即已經開發好的android應用,啟動後類似windows的dos命令行,可以直接安裝使用,可執行常用的linux命令,應用在附件。

D. 如何在android應用里執行adb命令

最簡單的辦法是你可以參考SL4A(Scripting Layer for Android)項目,SL4A支持Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl、shell等腳本的執行。其中shell的實現完全可以替代adb。

E. 是否可以使用adb調用安卓包中的任意類(只使用需要的功能,而不要去注冊什麼的)

通過adb並不能調用安卓包內的任意類,
否則安卓就沒有安全性可言了。
adb am也只是因為android做了am 這個工具,
讓用戶可以通過命令行實現啟動activity、service及廣播的功能。
其它的功能,am沒有提供用戶也無法使用。
請採納,謝謝。

F. 如何使用adb命令查看android中的資料庫

1,進入到控制台中,輸入adb shell,進入到命令模式的環境中

2,輸入:cd /data/data/

3, 選擇你所在的資料庫文件,比如我的com.android.homework, 輸入命令:cd com.android.homework

4, 可以使用ls -l 命令查看當前目錄中的文件

5,輸入: cd databases 進入到資料庫文件中

6, ls -l 顯示你資料庫中你建立的資料庫

7, sqlite3 info.db 進入到你選擇的資料庫中

8, .tables :查看你建的表

9, select * from table_name;s 可以查看整個表的信息

10, 使用其他的SQL語句可以進一步對表進行操作,注意SQL語句必須用分號(;)結尾

G. 如何通過 usb adb 與 android客戶端通訊

usb adb 與 android客戶端通訊是一個很重要的應用,必須要掌握扎實這個問題,今天我們來沖一下電吧。
監聽代碼
private void doListen() {
mServerSocket = null;
try {
mServerSocket = new ServerSocket(mServerPort);
mMainThreadFlag = true;
while (mMainThreadFlag) {
Socket client = mServerSocket.accept();
// 開啟線程處理客戶端請求並發送響應
ServerCmdTransfor sCmdHandler = new ServerCmdTransfor(this.mContext, client);
mHdList.add(sCmdHandler);
new Thread(sCmdHandler).start();
}
} catch (IOException e1) {
e1.printStackTrace();
/**
* 處理客戶端請求並發送響應 這些規則都是由產品經理協商好前後端的通訊協議
*/
private class ServerCmdTransfor extends TCPServerTransfor implements Runnable {
public Handler mNotifyHandler = null;
ServerCmdTransfor(Context context, Socket socket) {
super(context, socket);
}

@Override
public void run() {
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor start");
CmdData data = null;

// 先接收請求
data = readCMD();
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor readCMD ret " + data);
if (data != null) {
// 根據cmdId特殊處理
if (data.cmdId == CmdData.COMMAND_SMS_RECEIVE_REQ) {
// 手機-->PC端的推送
doNotify();
} else {
// 處理
data = TCPServer.this.mCmdHd.processReqCreateResp(data);

Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor processReqCreateResp ret "
+ data);
// 然後發送響應
if (data != null) {
boolean ret = sendCMD(data);
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor sendCMD ret " + ret);
try {
mSocket.close();
Util.log(TAG, Thread.currentThread().getName()
+ " ServerCmdTransfor close");
} catch (IOException e) {
e.printStackTrace();
}
}
轉載

H. 如何用adb命令 獲得Android手機解析度

在命令行中輸入「adb shell」 ;進入shell之後,再輸入「cat /system/build.prop grep "proct"」 設備信息主要是存放在「/system/build.prop」文件,通過「cat」命令就可以查看了。

拓展資料:

adb的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在Eclipse中方便通過DDMS來調試Android程序,說白了就是debug工具。

它的主要功能有:

* 運行設備的shell(命令行)

* 管理模擬器或設備的埠映射

* 計算機和設備之間上傳/下載文件

* 將本地apk軟體安裝至模擬器或android設備

I. 如何在android程序中執行adb shell命令

android中執行shell命令有兩種方式:

1.直接在代碼中用java提供的Runtime 這個類來執行命令,以下為完整示例代碼。

public void execCommand(String command) throws IOException {

// start the ls command running

//String[] args = new String[]{"sh", "-c", command};

Runtime runtime = Runtime.getRuntime();

Process proc = runtime.exec(command); //這句話就是shell與高級語言間的調用

//如果有參數的話可以用另外一個被重載的exec方法

//實際上這樣執行時啟動了一個子進程,它沒有父進程的控制台

//也就看不到輸出,所以需要用輸出流來得到shell執行後的輸出

InputStream inputstream = proc.getInputStream();

InputStreamReader inputstreamreader = new InputStreamReader(inputstream);

BufferedReader bufferedreader = new BufferedReader(inputstreamreader);

// read the ls output

String line = "";

StringBuilder sb = new StringBuilder(line);

while ((line = bufferedreader.readLine()) != null) {

//System.out.println(line);

sb.append(line);

sb.append(' ');

}

//tv.setText(sb.toString());

//使用exec執行不會等執行成功以後才返回,它會立即返回

//所以在某些情況下是很要命的(比如復制文件的時候)

//使用wairFor()可以等待命令執行完成以後才返回

try {

if (proc.waitFor() != 0) {

System.err.println("exit value = " + proc.exitValue());

}

}

catch (InterruptedException e) {

System.err.println(e);

}

}

}


2.直接安裝shell模擬器,即已經開發好的android應用,啟動後類似windows的dos命令行,可以直接安裝使用,可執行常用的linux命令,應用在附件。



J. 一台PC連接多個Android手機,使用adb命令可以給這多台手機同時安裝一個apk,這樣可以實現嗎怎麼寫

你是想用代碼實現嗎?
你可以啟動多個線程,在線程裡面進行安裝,這樣可以同時多個手機安裝;
也可以寫方法,在方法裡面進行安裝,這樣是順序安裝;
主要方法是:調用 adb install + apk的絕對路徑名;
如果有多部手機,調用adb -s + 手機編號(如果不知道怎麼獲取,請繼續回復)+ install + apk絕對路徑;
在代碼里執行:Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);

private void installApkToMobile(String devName, String apkAddress)
{
Process process = null;
String buff = "";
try
{
process = Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "utf-8"));
while ((buff = br.readLine()) != null)
{
print(buff);
if (buff.contains("INSTALL_FAILED_ALREADY_EXISTS"))
{
print(devName + "已安裝");
}
}
br.close();
} catch (IOException e)
{
e.printStackTrace();
}
}

我現在也是在做這樣的東西,歡迎繼續討論,相互學習。

熱點內容
sql替換特殊字元 發布:2025-05-16 23:48:02 瀏覽:804
安卓手機怎麼改蘋果服 發布:2025-05-16 23:46:28 瀏覽:470
如何新建一個文件夾 發布:2025-05-16 23:46:27 瀏覽:925
i7900k配置什麼樣顯卡 發布:2025-05-16 23:34:50 瀏覽:924
蘋果火影忍者腳本 發布:2025-05-16 23:23:46 瀏覽:450
python寫入資料庫 發布:2025-05-16 23:19:11 瀏覽:698
修復系統時什麼配置好 發布:2025-05-16 22:52:07 瀏覽:803
逆戰腳本掛機 發布:2025-05-16 22:30:01 瀏覽:936
java隨機產生數 發布:2025-05-16 22:25:52 瀏覽:257
java任務管理 發布:2025-05-16 22:17:02 瀏覽:573