導航:首頁 > 程序命令 > adb命令重啟

adb命令重啟

發布時間:2023-10-13 04:06:52

① ADB常用命令

android 調試橋 (adb)  ,可與設備進行通信。adb 命令可用於執行各種設備操作(例如安裝和調試應用),並提供對 Unix shell(可用來在設備上運行各種命令)的訪問許可權。它是一種客戶端-伺服器程序,包括以下三個組件:

客戶端: 用於發送命令。客戶端在開發機器上運行。可以通過發出 adb 命令從命令行終端調用客戶端。(可以通過它對Android應用進行安裝、卸載、調試)

PC上的手機助手基本都是通過adb命令去完成的。有時候裝了這類手機助手的話,它自帶的adb程序可能會與Android SDK下的adb程序產生沖突,5037埠被佔用,導致adb命令無法連接到設備。Windows下通過netstat -ano|findstr "5037"

守護程序 (adbd): 用於在設備上運行命令。守護程序在每個設備上作為後台進程運行

執行adb shell ps | grep adbd, 可以找到該後台進程,Windows使用findstr替代grep.

adb nodaemon server

伺服器(Service): 用於管理客戶端與守護程序之間的通信。伺服器在開發機器上作為後台進程運行

adb服務啟動後,Windows可以在任務管理中找到adb.exe; linux ps -ef | gref adb 可以查看service

一般都是通過這樣子的格式 adb [-d|-e|-s <設備序列號>] <子命令>

通常只有一台設備就忽略 [-d|-e|-s ] 這一部分

這里介紹一些常用的命令:

獲取設備列表及設備狀態

獲取設備的狀態

注意:設備的狀態有 3 鍾,device , offline , unknown

device:設備正常連接

offline:連接出現異常,設備無響應

unknown:沒有連接設備

 結束 adb 服務

 啟動 adb 服務

注意:通常兩個命令一起用,有時候我們開啟server會失敗,這是因為我們裝了的手機助手,豌豆莢或者其他軟體自帶有自己的adb,導致埠沖突開啟失敗。一般在連接出現異常,使用 adb devices 未正常列出設備, 設備狀態異常時使用 kill-server,然後運行 start-server 進行重啟服務。

列印 Android 的系統日誌

 列印 mpsys、mpstate、logcat 的輸出,也是用於分析錯誤輸出比較多

列印日誌後重定向到一個文件中

 安裝應用,覆蓋安裝是使用 -r 選項

注意:有些adb版本無法支持安裝中文的apk

查看手機應用包名

查看應用對應的apk文件在手機上的安裝位置則可以在上面的命令後加-f參數

卸載應用,後面跟的參數是應用的包名,請區別於 apk 文件名

'-k' means keep the data and cache directories , -k 選項,卸載時保存數據和緩存目錄

 將 Android 設備上的文件或者文件夾復制到本地

adb pull /sdcard/test.txt C:\Users\Administrator\Desktop\log

推送本地文件至 Android 設備

獲取連接到的手機的序列號

獲取設備的連接狀態

等待設備連接成功

該命令將會阻塞一直到默認連接的那部機器狀態變為device,也就是連接成功。

其實adb shell命令就是調用的是Android設備中的system/bin目錄下的命令。

Android的內核本身就是Linux,所以Android本身也支持Linux命令,但是因為是手機系統,所以進行了一定的刪減,部分命令不支持,而不支持的部分,我們可以通過安裝busybox這個軟體進行。

如何在手機中執行Shell命令?

  每次都加上adb shell來進行命令的發送與執行

 先通過adb shell進入手機Shell執行狀態,然後直接輸入Linux命令。

使一個apk處於禁用狀態,相當於卸載了:

其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile

eg:adb shell su disable com.UCMobile/.main.UCMobile

同時我們在手機上發現,UC瀏覽器的圖標不見了

讓一個apk從禁用狀態恢復過來

其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobileeg:

adb shell su enable com.UCMobile/.main.UCMobile

同時我們從手機上發現,UC瀏覽器的圖標又出現了。

查看一個apk所在的路徑

adb shell pm path com.UCMobile

查看手機中裝的所有的包

屏幕開始錄像並且儲存到/sdcard中,同時名字為demo.mp4

錄屏設置時長10s,命名為demo.mp4

注意:現在僅支持一部分手機錄屏,不支持的手機會出現以下提示

解決方法:

安裝了scrcpy之後,只需要輸入如下命令,即可錄取指定設備的屏幕

scrcpy -s device --render-expired-frames -Nr ./demo.pm4

--render-expired-frames:盡可能最大幀率

-N:不在PC端展示

-r:錄制mp4/mkv文件

關閉設備請求,開啟設備

設備關機以及重啟

pm(package manager)可以獲取一些安裝到Android設備上的app的信息

pm list packages 用法:list packages [ options] filter

獲取所有的應用的包名

列出系統應用

列出第三方應用

查看它們的關聯文件

adb shell pm list package -f

查看軟體包的安裝來源

pm mp 包名 很多mp信息

安裝應用

apk如果在電腦用 adb install 

如果在Android設備上用 adb shell pm install

卸載應用,同adb uninstall ,後跟包名

清除應用數據

am(activity manager,字面意思就跟activity有關,大家都知道Android的界面都是由一個個activity顯示的)

啟動一個Activity

獲取到package和launch_activity

AndroidSDK中aapt工具,檢索命令結果,可以獲取到package和launch_activity

這里涉及到一個點,如何找到程序的入口,首先你要知道是哪個activity才能啟動;

啟動華為系統相機

打開音樂播放器

播放指定音樂:

先停止目標應用,再啟動

等待應用完成啟動

啟動網頁(android.intent.action.VIEW具體參考Android官網)

結束應用

input

模擬輸入,向獲得焦點的EditText控制項輸入內容

返回主界面

發送一個點擊操作的指令,參數是<x> <y>坐標

從左往右滑動屏幕, /從 100 100 經歷300毫秒滑動到 200 200

長按操作,在 100 100 位置長按 1000毫秒

② adb 常用命令

1、adb shell am force-stop  後跟包名,結束應用

2、adb install +包名       adb安裝apk (覆蓋安裝是使用 -r 選項)

3、adb uninstall +包名      adb卸載apk

      adb uninstall -k cnblogs.apk   卸載app但保留數據和緩存文件

4、adb reboot       重啟Android設備

5、adb devices      獲取連接的設備列表及設備狀態

6、adb push (PC到Android設備)

      例:adb push E:\0713\ellip_factroy__debug.apk storage/self/primary

7、adb pull(Android設備到PC)

      例:adb pull /storage/self/primary/EL_v3.0.0.6_release.apk E:\0713

8、adb shell pm list package      列出所有的應用的包名 (-s:列出系統應用  -3:列出第三方應用 -f:列出應用包名及對應的apk名及存放位置  -i:列出應用包名及其安裝來源)

9、input : 向 Android 設備發送按鍵

      1)adb shell input keyevent + 按鍵事件   發送按鍵事件 例如:adb shell input keyevent KEYCODE_HOME 模擬按下Home鍵

      2)3 adb shell input tap +觸摸事件的位置 , 對屏幕發送一個觸摸事件 例如:點擊屏幕上坐標為 500 500 的位置(adb shell input tap 500 500)

     3)adb shell input swipe   滑動事件  例如:從右往左滑動屏幕 (adb shell input swipe 800 600 100 600)

10、screencap 截圖命令  adb shell screencap -p /sdcard/qq/1.png

11、screenrecord 錄屏命令 adb shell screenrecord /sdcard/qq/1.mp4,執行命令後操作手機,ctrl + c 結束錄制

12、clear 清除應用數據   adb shell pm clear com.

13、復制、刪除 、查看文件、新建文件夾

        adb shell進入Android Linux命令中,

        復制cp: cp -f /sdcard/qq/1.png /sdcard/aa

        刪除文件rm:rm  /sdcard/qq/1.png

        刪除文件夾rm -r:rm  -r /sdcard/qq

        查看文件cat:cat /sdcard/qq/1.txt

        新建文件夾:mkdir /sdcard/cc

                              adb shell mkdir -m 777 /sdcard/cc   創建文件夾cc並給文件夾賦予讀寫執行的許可權

                              adb shell mkdir -p/sdcard/Download/Demo/test1,如果Demo目錄不存在,執行該條命令會創建Demo目錄和其子目錄test1

         新建文件:touch /sdcard/cc/1.txt   

          移動文件:adb shell mv /sdcard/Download/test1.log  /sdcard/Download/Demo/

           重命名:adb shell mv /sdcard/Download/Demo/test1.log  /sdcard/Download/Demo/test.lg

14、adb logcat > D:\log.txt 將日誌列印到電腦上

15、獲取手機內部存儲信息: adb shell df /data

        獲取sdcard存儲信息:adb shell df /storage/sdcard

③ adb命令和monkey總結

移動動測測試試基基礎礎

adb常常用用命命令令總總結結

1. adb / adb -help 使用幫助

2. adb devices 查看連接到電腦的設備

3. adb install example.apk 安裝程序

4. adb -s emulator-5554 install example.apk 安裝程序到指定的設備上(模擬器)

5. adb pull <remote> <local> 將設備上文件保存到電腦上

6. adb push <local> <remote> 將本地的文件上傳到設備上

7. adb start-server 重啟adb服務

8. adb kill-server 殺掉adb服務

9. adb shell 進入命令行交互模式,進入之後可以像在linux輸入shell命令一樣來操作手機設備(android本來就是基於linux的)

10. adb logcat <信息顯示優先順序參數> 顯示日誌信息 優先順序從低到高順序排

11.adb shell cat /proc/cpuinfo 查看手機CPU,

12.adb shell ps 查看進程信息

Monkey命令實戰

1.Monkey是什麼?

Monkey是Android中的一個命令行工具,可以運行在模擬器或者實際設備中

向系統發送偽隨機的用戶事件流(按鍵輸入、觸摸屏輸入、手勢輸入等)

實現對正在開發的應用程序進行測試

Monkey測試之一種為了測試軟體的穩定性、健壯性的快速有效的方式

2.Monkey的特徵

測試對象僅為應用程序包,有一定的局限性(不能對源碼進行測試)

Monkey測試使用的事件流數據是隨機的,不能進行自定義

可以對MonkeyTest對象,事件數量,類型、頻率等進行設置

3. Monkey使用

adb shell monkey [options]

adb shell monkey -p 包名 -v 500

-p 指定測試程序包名

-v 顯示默認程度的信息

500 事件數設定為500

例如: adb shell monkey -p com.android.calculator2 -v 500

4. Monkey命命令令結結果果分分析析

1. 找monkey裡面那個出錯的地方

2. 查看monkey裡面出錯前的一些事件動作,並手動執行該動作

3. 若以上步驟還不能找出,使用之前執行的monkey命令再執行一遍,seed值要一樣(seed值一樣,發送的偽隨機事件流也一樣)

4. 注意第一個switch以及其他信息

seed值和,不同event類型比例

5.Monkey測試的目的

1. ANR問題:在日誌中搜索「ANR」

2. 崩潰的問題:在日誌中搜索「Exception」

3. ANR:Application Not Responding,在Android中,如果應該程序有一段時間響應不夠靈敏,系統會向用戶顯示一個對話框,這個對話框稱作應

用程序無響應對話框。用戶可以選擇「等待」而讓程序繼續運行,也可以選擇「強制關閉」應用。 好的程序應該能流暢運行,不能出現ANR問題

Monkey命令進階

1.運行時機

產品功能穩定之後進行

2. monkey更更復復雜雜的的命命令令

adb shell monkey -p packagename -v -v -- throttle 600 88

-v :代表整個Monkey運行的次數,多個 -v 可以定製Monkey報告的等級

--throttle 600 : 每個操作都間隔時間600ms

88 :執行的事件數

adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 --throttle 600 88

adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 -s 1234 --throttle 600 88

--pct-touch :設置在整個過程中點擊操作所佔的百分比

--pct-trackball: 設置滾輪在所用操作中的百分比

--ignore-crashes:崩潰之後繼續測試,重新啟動程序

--ignore-timeouts:遇到超時,也繼續執行

-v:

命令行的每一個-v將增加反饋信息的級別

Level 0(預設值)除啟動提示、測試完成和最終結果之外,提供較少信息

Level 1提供較為詳細的測試信息,如逐個發送到Activity的事件

Level 2提供更加詳細的設置信息,如測試中被選中的或未被選中的Activity

更多monkey命令:http://xqtesting.blog.51cto.com/4626073/1430654

實測命令(經常用到的,可以參考):

adb shell monkey -p com.xx.xxx(包名)--throttle 500 --ignore-crashes --igonre-timeouts --ignore-security-exceptions --igonre-native-crashes --

monitor-native-crashes -v -v -v 1000000 >> D:\monkeyScreenLog.log

說明:忽略crashes、timeout等是為了出問題是monkey繼續運行下去,希望能抓取更多的出錯信息

3.可可以以練練習習使使用用的的apk包名

com.android.calculator2

com.android.browser

com.android.music

com.android.email

com.android.contacts

monkey也可以進行壓力測試。

可靠性測試

      穩定性測試:長時間使用軟體不會出現無響應

                  monkey:安卓系統常用穩定性和壓力測試工具

                  語法:monkey -p 包名  --throttle 數值(間隔時間,單位ms) -v  數值(操作次數)

                      monkey -p com.emicro.emicrophone --throttle 500 -v 300

                    百分比事件

                      0:點擊事件  參數--pct-touch

                      1:滑動事件      --pct-motion

                      2:縮放事件      --pct-pinchzoom

                      3:軌跡球事件    --pct-trackball

                      4:屏幕旋轉      --pct-rotation

                      5:基本導航事件  --pct-nav

                      6:主要導航事件    --pct-majornav

                      7:系統按鍵事件    --pct-syskeys

                      8:activity啟動事件  --pct-appswitch

                      9:鍵盤喚出隱藏事件  --pct-flip

                      10:其他事件          --pct-anyevent

      異常測試  :斷電,斷網,異常退出。。。

adb 調試橋

    adb devices  檢查設備是否連接

    adb install apk文件路徑文件名

    adb uninstall 包名  卸載

    aapt d badging  apk文件路徑文件名

    adb shell    進入安卓系統

④ Android手機軟重啟adb命令是什麼

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

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

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

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

ADB一個 客戶端-伺服器端 程序, 其中客戶端是用來操作的電腦,伺服器端是android設備。

(4)adb命令重啟擴展閱讀

1、 查看設備 *adbdevices。這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示。

2、 安裝軟體:adbinstall <apk文件路徑>。

這個命令將指定的apk文件安裝到設備上。

3、 卸載軟體

adbuninstall <軟體名>。

adbuninstall -k <軟體名>。

如果加 -k 參數,為卸載軟體但是保留配置和緩存文件。

⑤ Android常用的ADB命令

重啟:adb reboot

推文件:adb push E:\xxx.txt storage/sdcard

拉文件:adb push storage/sdcard .

將日誌保存到電腦文件: adb logcat > xxx. xxx電腦文本地址

清除指定應用的數據和緩存:adb shell pm clear 例:adb shell pm clear com.yzl.test

查看日誌緩沖區大小:adb shell logcat-g

設置日誌緩沖區大小:adb logcat-G10M

打開藍牙:adb shell svc bluetooth enable

關閉藍牙:adb shell svc bluetooth disable

查詢藍牙是否打開:adb shell settingsgetglobalbluetooth_on

獲取藍牙Mac地址:adb shell settingsgetsecure bluetooth_address

獲取某個包名的安裝路徑:adb shell pm path com.xx.xx

查看所有存活的進程:adb shell ps

過濾關鍵字查看adb shell ps|findstr xxx

強制安裝版本號更低的apk:adb install -r -d "C:\xx.apk"

對指定應用進行500次模擬觸摸事件:adb shell monkey -p com.yzl.test -v 500

查看某個apk的應用信息、版本信息:adb shell mpsys package com.yzl.test

查看已安裝應用列表:adb shell pm list package或adb shell pm list packages-s

閱讀全文

與adb命令重啟相關的資料

熱點內容
文件夾隱藏了出不來 瀏覽:562
電信網上大學源碼 瀏覽:204
rr輪轉調度演算法 瀏覽:253
我的世界無法登入伺服器怎麼辦 瀏覽:148
文件加密授權特定隱藏訪問控制 瀏覽:801
程序員劍靈官網 瀏覽:516
php調用static方法 瀏覽:934
天正命令版 瀏覽:86
聚合支付加密幣 瀏覽:312
蜜源app是什麼時候創立的 瀏覽:706
計算機專業學51單片機 瀏覽:210
程序員不接受反駁 瀏覽:298
微軟自帶的壓縮軟體 瀏覽:289
中國玩家在日本伺服器做什麼 瀏覽:51
12864和單片機 瀏覽:898
25匹空調壓縮機 瀏覽:649
adkandroid下載 瀏覽:310
如何在蘋果電腦上裝python 瀏覽:329
哪個app的跑步訓練內容最豐富 瀏覽:585
廣訊通怎麼刪除文件夾 瀏覽:208