android 命令启动服务,adb 命令
Android 調試橋
adb ( Android Debug Bridge)是一個通用命令行工具,其允許您與模擬器實例或連接的 Android 設備進行通信。它可為各種設備操作提供便利,如安裝和調試應用。
Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根據其具體的路徑配置好環境變量。然后啟動cmd 輸入‘adb’即可查看是否配置成功。
adb 的工作原理
啟動一個 adb 客戶端時,此客戶端首先檢查是否有已運行的 adb 服務器進程。如果沒有,它將啟動服務器進程。當服務器啟動時,它與本地 TCP 端口 5037 綁定,并偵聽從 adb 客戶端發送的命令—所有 adb 客戶端均使用端口 5037 與 adb 服務器通信。
啟用 adb 調試
要在通過 USB 連接的設備上使用 adb,您必須在設備系統設置中啟用 USB debugging(位于 Developer options 下)。
在運行 Android 4.2 及更高版本的設備上,Developer options 屏幕默認情況下處于隱藏狀態。如需將其顯示出來,請轉到 Settings > About phone 并點按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。
注:當您連接運行 Android 4.2.2 或更高版本的設備時,系統將顯示一個對話框,詢問您是否接受允許在這臺計算機上調試的 RSA 密鑰。這種安全機制可以保護用戶設備,因為它可以確保只有在您能夠解鎖設備并確認對話框的情況下才能執行 USB 調試和其他 ADB 命令。
adb常用命令
查看adb版本
adb ?version
連接夜神模擬器(此處分別演示模擬器和真機連接)
adb?connect?127.0.0.1:62001
Tips:
夜神模擬器的端口是規律的,第一個模擬器端口是62001,第二個模擬器端口是62025,第三個是62025+1,依此類推。
模擬器1:Android 4.4.2 地址:127.0.0.1:62001
模擬器2: Andriod 5.1.1 地址:127.0.0.1:62025
查看設備信息
adb devices
如果出現如下提示:
adb server version (31) doesn't match this client (36); killing...
原因: adb版本不對 ,Androd SDK的版本和模擬器的adb版本不一致
解決方案:將Android SDK的 adb替換掉模擬器的adb即可。模擬器adb路徑 :{安裝Path}Noxin
adb shell
android 設備底層是 linux 系統。 shell 是 linux 系統的字符交互界面。
adb shell
#進入指定設備shell
adb ?-s 127.0.0.1:62001?shell
#退出adb shell
exit
進入adb shell后有兩種狀態顯示:#代表有root權限,$代表沒有root權限
root@android:/?#
shell@mx4:/?$
root知識小科普
“To err is human, but to really foul up everything, you need root password.”
“人非圣賢孰能無過,但是擁有root密碼就真的萬劫不復了。”
root用戶是系統中唯一的超級管理員,它具有等同于操作系統的權限。一些需要root權限的應用,譬如廣告阻擋,卸載系統預裝App是需要root權限的。可問題在于root比windows的系統管理員的能力更大,足以把整個系統的大部分文件刪掉,導致系統完全毀壞,不能再次使用。所以,用root進行不當的操作是相當危險的,輕微的可以死機,嚴重的甚至不能開機。所以,在Unix、Linux及Android中,除非確實需要,一般情況下都不推薦使用root。
在設備安裝apk
adb install | -r ?-r 覆蓋原安裝文件?-s 可以指定設備
eg:
#默認安裝
adb install "C:UsersShuqingDesktopAppium 自動化測試教程wandoujia.apk"
#覆蓋安裝
adb install -r ?"C:UsersShuqingDesktopAppium 自動化測試教程wandoujia.apk"
#指定設備安裝
adb ?-s 127.0.0.1:62001 install ?C:UsersShuqingDesktopAppiumkaoyan3.1.0.apk 自動化測試教程wandoujia.apk"
如遇到報錯:Failure [INSTALL_FAILED_INVALID_URI]
解決方案: cmd命令行下執行以下命令:
第一步、adb remount
第二步、adb shell
第三步、cd /data
第四步、chmod 777 local
重新安裝apk,ok了。
卸載apk
1.首先進入設備的/data/app目錄找到app包名
adb shell
cd?/data/app/
2.執行命令刪除
adb uninstall??| -k ? ?卸載軟件
adb uninstall??com.wandoujia.phoenix2
Tips:安裝后的包名系統會在末尾加上-1之類的數字,要去掉才可以成功卸載。 軟件名稱為包名,不要包含.apk
-k 加 -k 參數,為卸載軟件但是保留配置和緩存文件.
查看設備上面安裝的應用包名
adb shell?pm list package
文件讀取寫入
將文件從PC寫入到設備
adb push
eg:
adb push C:UsersShuqingDesktopkyb.txt /sdcard
C:UsersShuqingDesktopkyb.txt: 1 file pushed. 0.1 MB/s (462 bytes in 0.005s)
將文件從設備讀取到PC
adb pull ?
eg:
adb pull /sdcard/server.log??C:UsersShuqingDesktop
/sdcard/server.log:?1?file?pulled. 0.0?MB/s (196?bytes in 0.004s)
注意:由于權限問題,不能直接pull到電腦磁盤根目錄,否則會報錯:
C:UsersShuqing>adb pull /sdcard/server.log??D:\
adb: error: cannot create?file/directory?'D:\': No such file?or?directory
屏幕截圖
$ adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png??C:UsersShuqingDesktop
adb服務啟動和關閉
adb kill-server????????????????????????關閉adb服務
adb start-server??????????????????????開啟adb服務
Tips:如果5037端口被占用可以使用如下命令釋放端口
C:UsersShuqing> netstat -ano | findstr "5037"
TCP ???127.0.0.1:5037?????????0.0.0.0:0??????????????LISTENING ??????11072
TCP ???127.0.0.1:5037?????????127.0.0.1:59519????????TIME_WAIT ??????0
taskkill -f -pid XXX
小結
adb是自動化非常重要的一個工具
目前很多PC客戶端手機助手也是基于adb連接原理進行封裝的。
可以將常用的adb命令封裝成bat命令,隨時可以運行。如:
adbdevices.bat
adb devices
pause
AdbConnect.bat
adb?connect?127.0.0.1:62025
adb?devices
pause
參考文檔
總結
以上是生活随笔為你收集整理的android 命令启动服务,adb 命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android封装网络请求界面,轻松搞定
- 下一篇: 恒生电子linux笔试题,恒生电子一面