導航:首頁 > 程序命令 > adb命令退出

adb命令退出

發布時間:2023-03-10 06:00:36

Ⅰ ADB常用命令大全

安卓調試橋(android Debug Bridge),是Android SDK中的一個調試工具, 使用adb可以直接操作管理Android模擬器或Andriod真機設備,在開發測試過程中,起到調試的作用。

adb.exe的存放路徑:Android-SDKplatform-tools

adb help //查看幫助

adb version //查看adb版本號

adb devices //查看設備

adb connect IP:port //連接設備

adb disconnect //斷開連接的所有設備

adb disconnect IP:port //斷開連接指定設備

adb root //獲取root許可權

adb remount //重新掛載文件系統(默認只讀,執行命令後可寫)

adb install Package //安裝APK

adb install -r Package //強制覆蓋安裝

adb install -t Package //允許降級覆蓋安裝

adb install -d Package //允許測試包

adb uninstall PackageName //卸載APK

adb uninstall -k (keep) PackageName //保留用戶數據卸載

adb pull //將設備文件文件發送到PC

adb push //將PC文件發送到設備

adb logcat -c //清空日誌

adb logcat -v threadtime >D:111.log //抓日誌並輸出保存D:111.log

adb shell screencap /sdcard/screen.png //屏幕截圖(並存放sdcard目錄,命名screen.png)

adb shell screenrecord /sdcard/demo.mp4 //錄制屏幕(Android4.4以上可用)

adb shell mpsys activity activities //查看activity信息

adb shell mpsys activity |findstr mResumedActivity //獲取當前activity信息

adb shell mpsys window windows | findstr 「Current」 //查看當前app窗口activity

adb shell //進入設備內部

cd //切換目錄

pwd //查看當前路徑

ping //查看網路連接

rm* //刪除目錄下的所有文件

cp -r /path/filename /NewPath //拷貝文件

busybox find / -name FileName //查找文件

tcpmp -i any -p -s 0 -w /data/data/1111.pcap //抓取網路包

pm uninstall PackageName //卸載APK

pm path PackageName //查看APK存放位置

pm clear PackageName //清除APK緩存

mpsys package om.android.xxx //查看APK的具體信息

mpsys package om.android.xxx | grep version //查看APK版本

mpsys package com.tencent.mm | findstr versionName //查看APK版本

am start PackageName //拉起APK

am start -n com.android.xxx/.WelcomeActivity //直接拉起APK的指定WelcomeActivity

am start -a android.intent.action.VIEW -d http://www..com //拉起網路

am start -n om.android.xxx/.WelcomeActivity --es actionUrl "http://sns.is.xxxxx.com/CCTV/index.html?action=detail&object=5005153" //指定Activity上拉起H5

am force-stop + 報名 //殺死進程

kill `ps |grep -E "icntv|istv" | busybox awk '{print $2}'` //殺進程

md5 com.android.xxx //查看已安裝應用MD5

busybox vi hispreinstall.sh //編輯文件(命令行)

chmod 777 /system/bin/hispreinstall.sh //修改許可權

cat /system/build.prop | grep "proct" //查看設備信息

exit //退出shell交互模式

adb shell getprop ro.build.version.release //查看Android系統版本

adb get-serialno //獲取手機序列號

adb shell mpsys package //列出所有安裝應用的信息

adb shell pm list packages //查看設備中的所有應用的包名

adb shell cat/proc/cpuinfo //獲取CPU型號等信息(HardWare後面是CPU型號)

adb shell "ps | grep packageName" //查指定程序pid

adb shell getprop //查看手機信息

adb shell getprop ro.serialno //查看手機序列號

adb shell cat /proc/cpuinfo //查看手機CPU信息

adb shell cat /proc/meminfo //查看手機內存信息

adb reboot recovery //重啟手機到recovery刷機模式

adb reboot bootloader //重啟手機到bootloader界面

adb shell mpsys battery //獲取電池信息

adb shell mpsys battery set status 1 //設置手機進入非充電狀態,為2設置充電狀態

adb shell mpsys battery set level 100 //設置電量百分比

adb shell mpsys batterystats //獲取整個設備的電量消耗信息

adb shell mpsys batterystats | more //綜合電量消耗

adb shell mpsys batterystats com.android.xxx //獲取某個apk的電量消耗信息

adb shell mpsys batterystats packageName | more //獲取指定程序電量消耗信息

adb shell cat /proc/uid_stat/$PID/tcp_snd //發送的數據流量

adb shell cat /proc/uid_stat/$PID/tcp_rcv //接收的數據流量

procrank //查看內存

adb shell top | findstr com.android.xxx //查看指定APK內存

top -n 3 |grep -E "com.android.xxx|android.yyy" //查看內存

adb shell mpsys cpuinfo |findstr com.android.xxx //查看指定APK CPU

mpsys cpuinfo |grep -E "com.android.xxx|android.yyy" //查看CPU

adb shell settings put global http_proxy ip(PC):port(默認8888) //設置代理

adb shell settings get global http_proxy //查看代理

adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db //進入sqlite

delete from global where name in('global_http_proxy_host','global_http_proxy_port','http_proxy'); //移除代理

adb shell stop //關閉設備

adb shell start //開啟設備

adb start-server //啟動adb服務

adb kill-server //關閉adb服務

adb reboot //重啟手機

adb shutdown //關閉手機

1、首次使用USB線連接Android手機,然後打開Terminal輸入:adb tcpip 埠號(默認5555)

2、查看手機IP地址:設置->關於手機->狀態信息->IP地址

3、通過adb連接ip地址:adb connect IP:port

Ⅱ adb如何使用

首先要配置好adb,也就是要cmd能找到adb,這個你可以網路一下如何配置adb。x0dx0a然後就是adb的命令,如下:x0dx0a要使用adb命令,手機需要打開USB debug。x0dx0a安裝軟體x0dx0aadb install apk文件名稱.apkx0dx0a重新安裝該軟體x0dx0aadb install -r apk文件名稱.apkx0dx0a卸載apk軟體x0dx0aadb uninstall apk包名.apkx0dx0a查看手機上的運行日誌,此項可以用來查錯x0dx0aadb logcatx0dx0a查看手機是否連接,以及連接了幾台手機x0dx0aadb devicesx0dx0aA為手機路徑,B為電腦路徑,意思為:把文件從手機中復制到電腦上x0dx0aadb pull x0dx0aA為手機路徑,B為電腦路徑,意思為:把文件從電腦復制到手機上x0dx0aadb push x0dx0a進入手機的超級終端Terminal x0dx0aadb shellx0dx0a重新掛載文件系統x0dx0aadb remountx0dx0a重啟手機x0dx0aadb rebootx0dx0a重啟到Recovery界面x0dx0aadb reboot recoveryx0dx0a重啟到bootloader界面x0dx0aadb reboot bootloaderx0dx0a例子:刷官方高版本後重新獲取ROOT和降級方法(部份操作)x0dx0a進行adb運行環境x0dx0aadb shellx0dx0a設置超級用戶模式x0dx0asux0dx0a映射出目錄x0dx0amount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /systemx0dx0a退出sux0dx0aexitx0dx0a退出shell准備接受下一個adb命令x0dx0aexitx0dx0a增加flash_image文件到手機上x0dx0aadb push flash_image.zip /system/bin/flash_imagex0dx0arecovery先復制到卡上x0dx0aadb push recovery-RA-heroc-v1.6.2.img /sdcardx0dx0a再次進入adb環境x0dx0aadb shellx0dx0a修改文件屬性x0dx0achmod 0755 /system/bin/flash_imagex0dx0a重啟系統x0dx0arebootx0dx0ax0dx0a採納我吧

Ⅲ 使用adb查看別人家APP的數據

1.說明
2.使用adb命令獲取指定應用的包名和Activity名稱
3.使用adb命令啟動/關閉APP
4.使用adb命令把手機中的apk導到電腦上
5.查看apk中的AndroidManifest.xml文件
6.使用adb命令進行數據備份
7.查看數據
8.結語

查看其它APP數據的前提是該APP默認開啟數據備份,也就是allowBackup屬性。
想問一下大家在平時的開發中對應用的安全性有很在意么?有可能大家會想到
加密、混淆、apk加固,但還有一些其他細節的東西需要大家去了解。今天就介紹一下android:allowBackup屬性。這個屬性在開發的過程中通常是默認開啟的,Google起初是為了防止數據丟失,留下了這個功能,但是這個屬性也容易造成一些隱私數據的泄露。如果你想關閉可以把它設置為false。那麼這個屬性在哪裡設置呢,就在AndroidManifest.xml文件中的application標簽中。

要備份APP的數據,首先我們要知道這個APP的包名才可以進行備份。

在手機或模擬器上面運行APP,然後輸入命令: adb shell mpsys activity top #
這時會輸出很多東西,你可以用查找功能Ctrl+F,找到TASK,下圖紅框中就是要找的包名

命令: adb logcat| findstr START
然後在手機或模擬器上點擊你想要獲取的應用,這時就會在cmd中出現相應的包名和類名了。

啟動APP的命令: adb shell am start -W -n package/activity

命令窗口通過adb shell 進入android 的linux命令界面,輸入am help看到如下信息:

它會展示出在不同場景下(比如start-activity、start-service等)不同參數代表的意義一些參數的意義,情況太多了這里就不細說了。

回到正題,後面的package和activity就是上面獲取包名第二種方法中提到的cmp,比如我們要啟動谷歌地圖: adb shell am start -W -n com.google.android.apps.maps/com.google.android.maps.MapsActivity

在這里我們再做一個延伸, 用命令做APP的冷啟動和熱啟動操作,然後記錄啟動的時間
我們看到上圖中有三個數字ThisTime、TotalTime和WaitTime,這三個數字就是本次啟動APP所花費的時間。
熱啟動時退出退出APP的命令: adb shell input keyevent 3 ,這就相當於按了手機的home鍵,然後我們再執行啟動APP的命令,這樣就完成了熱啟動。

我們看到熱啟動花費的時間比冷啟動少了很多,一套冷、熱啟動的流程我們就走完了。接下來就看我們怎麼去優化了,讓它們變的更少。所以我們在平時做啟動優化的時候可以把自己的APP和一些優秀的APP做一下對比看看還差多少。

上面已經說過了一種退出APP的方法了,接下來這個命令是相當於殺掉當前的APP進程。
命令: adb shell am force-stop package
這時候再使用啟動命令,就相當於冷啟動了。

有的時候我們在手機上查看和操作apk不是特別方便,而且通過文件管理找apk也很難找。接下來就介紹怎麼用adb命令把手機中的apk導到電腦上。

通過包名獲取apk在手機中的存儲路徑,命令 adb shell pm path package

導出apk文件,到當前目錄下
命令: adb pull 路徑

這一步就要看一下apk中有哪些東西了,主要還是看一下AndroidManifest.xml文件當中的allowBackup設置。
我平常用的方法就是吧apk文件的後綴該成zip,然後就可以看到裡面的東西了。下面的是谷歌地圖的apk的構成。

下面來看一下AndroidManifest.xml文件,會看到都是亂碼,但是關鍵的信息還是可以獲取的,我們目前想要的就是下圖紅框中的allowBackup屬性,像谷歌的APP肯定是把它設置成false的,所以我們沒辦法備份它的信息的。

那麼我們怎麼看一個應用的allowBackup屬性設置成true還是false呢,我的觀察和實踐出來的方法是看allowBackup後面有沒有小方框,有就代表設置了true。如果有哪位大神知道好的可靠的方法還請留言告知。

下面是其他apk中的AndroidManifest.xml文件,後面帶了個小方框。

在了解到APP可以備份之後,我們就可以開始做壞事了,哈哈。
備份的命令: adb backup -nosystem -all -noapk -noshared -f data.ab package

[-system | -nosystem] 是否備份系統
[-apk | -noapk] 是否備份apk安裝文件
[-shared | -noshared] 是否備份手機存儲空間
-f *.ab 存檔格式一定要是.ab
package:包名

在運行命令之後,手機或模擬器會出現一個頁面要求你輸入備份密碼,這個密碼你可以隨便輸入,但你要記住,在後面查看ab文件的時候會用到。

輸入密碼,點擊【備份我的數據】之後就開始備份了,備份完成之後會有提示,這時就是生產一個ab文件了。

ab文件大家很少接觸,這里使用abe工具(鏈接: https://pan..com/s/1NPbhtF1fyJcHOm1CXwi9Dg


提取碼:uns4 )解析ab文件 ,也是通過命令,把abe.jar和剛才生成的ab文件放到同一個文件夾中,然後運行命令: java -jar abe.jar unpack xxx.ab xxx.rar
(如果不想使用命令可以看看這篇文章 https://www.feifeiboke.com/android/3639.html

這個命令就是吧ab文件解析成rar文件,這樣就能解壓了,我們就能看到裡面的東西。解壓出來大概就是下面這個樣子。其中比較重要的是db文件夾和sp文件夾,裡面的數據我就不放了,容易引起不必要的誤會。你可以自己動手試試。

寫這篇文章還是提醒大家在平時的開發中要注重APP數據的安全問題,畢竟數據還是相當重要的。
如果有哪裡寫的不對的地方,請指出,我會及時改正。

Ⅳ 常用的adb命令

在平時的工作中,會經常用到adb命令,在這里稍微整理了一下。

一.概要

1.什麼是adb?

adb全稱為Android Debug Bridge,就是起到調試橋的作用。顧名思義,adb就是一個debug工具。

2.adb工作原理

不是很理解?那就來看看它的工作原理吧。

上圖是一個簡單的adb工作原理圖。adb客戶端伺服器端程序,由上圖可以看出它主要三個組件組成:Client,Server,Daemon。

(1)當你啟動一個adb Client(客戶端),Client首先會選確認是否已有一個adb

Server(伺服器)進程在運行,如果沒有,則會啟動Server進程。此時,adb Server就會綁定本地的TCP埠5037,並監聽adb

Client發來的命令。

(2)接著,Server將會掃描所有5555到5585范圍內的奇數埠來定位所有的模擬器或設備,並與之建立連接。一旦Server找到

了adb

daemon(守護程序),它將建立一個到該埠的連接,這樣,我們就可以使用adb命令控制和訪問模擬器或設備了。在這里,需注意的是任何模擬器或設備實例會取得兩個連續的埠:一個偶數埠用來相應控制台的連接,和一個奇數埠用來響應adb連接。

3.adb的作用

藉助adb工具,我們可以管理設備或手機模擬器的狀態,還可以進行很多手機操作,如安裝軟體、系統升級、運行shell命令等等。簡而言之,adb就是連接Android手機和PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作。

二.常用命令

這個部分主要介紹adb的使用方法和一些常用的命令。

設置adb環境:將android sdk工作目錄添加到系統環境變數中,則可使用adb命令了。

1. adb devices

查看當前連接的設備(連接計算機的Android設備或者模擬器)。

2.adb install

adb install <apk文件路徑>,將指定的apk安裝到設備上,安裝的apk包會放在/data/app目錄下。

幾個參數:

-r 強制安裝

-d(真機,多個設備中只有一個真機時適用)

-e(模擬器,多個設備中只有一個模擬器時適用)

-s(指定設備,後接序列號)

adb –s 44a188f9 install –r test.apk(其中44a188f9即序列號,通過adb devices可獲取)

3.adb uninstall

adb uninstall <apk包名>

adb uninstall –k <apk包名>

-k參數為卸載軟體時保留配置和緩存文件

4.adb reboot

重啟android設備

5.adb shell

通過adb shell 命令,就可以進入設備或者模擬器的shell環境了,在這個Linux shell中,我們就可以執行各種Linux命令了。

如果只想執行一條shell命令,就可以採用:adb shell [shell_command]

在實際使用中,經常與grep或findstr一起使用,起到過濾作用,查看自己需要的關鍵信息。

6.adb shell su

前提手機已經root。獲取adb shell的root許可權。

使用su提權,用戶命令提示符有$變成#,如果手機沒有root,會提示su:permission denied。

7.adb shell ps/top

查看當前終端中的進程信息,如pid等。

8.adb shell am/pm

am全稱為activity manager,可使用am命令模擬各種系統的行為,如去啟動一個activity,強制停止進程,發送廣播進程,修改設備屏幕屬性等。

如:adb shell am start <apk包名>/<activityName>:啟動一個activity。

pm全稱為package manager,利用pm命令可模擬android行為或查詢設備上的應用等。

如:adb shell pm list packages

列出當前設備所有已安裝的程序的包名。

說明:

管道符「|」:可以把標準的輸入流與標準的輸出流進行合並,或者把某個命令的標准輸出流作為另一個命令的標准輸入流。

exit退出shell。

由於grep為linux命令,運行單條adb shell 時並沒有進入linux

shell環境,並不能用grep等其他linux命令,只能用window cmd的命令。在這里可以用findstr來代替grep,使用方法為

findstr/grep [keyword]

更詳細的內容可查看 參考文獻3 和 參考文獻4 。

對於常用的linux命令和常用的windows 控制台命令,以後再作總結。

9.adb pull 和 adb push

adb pull <設備中的文件路徑> <本地路徑>:從模擬器或設備中復制文件到本地。

adb push <本地文件路徑> <設備中的路徑>:將本地文件或目錄復制到模擬器或設備。

這里還涉及到一個許可權的問題,在後續的博文中再作介紹。

10.adb shell mpsys

Android提供的mpsys工具用於查看感興趣的系統服務信息與狀態。

參考下表:

11.adb shell monkey

跑monkey是android自動化測試的一種手段,所謂monkey測試就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等。當Monkey程序在模擬器或設備運行的時候,如果用戶比如點擊,觸摸,手勢或一些系統級別的事件的時候,它就會產生隨機脈沖,所以可以用Monkey的隨機重復的方法對apk作壓力測試,來測試android

app的穩定性。

如下為測試騰訊新聞apk的一個簡單實例:

說明:第一個-s指定設備,如果只連接了一台設備,可不用該參數。

-p <apk包名>只允許系統啟動指定的app,如果不指定,將允許系統啟動設備中的所有app,也可指定多個包。

--throttle <毫秒數> 指定用戶操作(事件)間的時延。

--ignore-crashes 指定當應用程序崩潰時,Monkey依然發送事件,直到事件計數完成。

--ignore-timeouts 當應用程序發生ANR錯誤時,Monkey依然會發送事件,直到事件計數完成。

第2個-s,用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。

-v 用於指定反饋信息級別,總共分為level 0、level 1、level 2三個級別,級別越高,輸出的日誌越詳細。

最後的數字(這里是500):表示Monkey程序模擬500次隨機用戶操作事件。

>輸出測試結果到D:\monkeylog.txt

更詳細的參數可查看 參考文獻5 。

部分測試結果如下:

對於測試結果的分析,通過搜索關鍵詞來定位錯誤,主要包括以下四個方面:

1)ANR(Application Not

Response):程序無響應,一般主線程超過5秒沒處理就會出現ANR錯誤。通過搜索ANR關鍵詞來定位關鍵的事件信息。除了導出日誌外,還可以將/data/anr/目錄下的trace.txt文件導出,用來定位分析問題。使用>adb

pull /data/anr/trace.txt d:\ 將trace.txt文件導出到d盤。

2)ForceClosed或其他異常退出信息:通過搜索Fatal關鍵詞來定位。

3)崩潰問題:通過搜索Exception關鍵詞來定位。

4)發生異常後,通過搜索Crash關鍵詞來定位到詳細的堆棧信息。

 12.kill

kill用來中止一個進程。

比如我們在跑monkey的時候,怎麼強制關閉monkey呢,可以用kill <monkey進程PID>

說明:另開啟一個cmd,找到monkey的pid號,然後殺掉即可。

參考文獻:

1.Android調試橋: http://www.iteye.com/topic/260042

2.Android性能分析工具mpsys的使用: http://www.open-open.com/lib/view/open1405061994872.html

3.adb shell 中的am pm命令: http://www.android100.org/html/201312/09/4957.html

4.adb shell 啟動應用程序的方法: http://blog.chinaunix.net/uid-26997997-id-3350449.html

5.Monkey壓力測試詳解: http://blog.csdn.net/huangbiao86/article/details/8490743

Ⅳ 常見的adb 和 mankey 命令

一、常用adb命令

1、adb devices:查看已連接的設備

2、adb version:查看adb的版本序列號

3、adb -s <設備名字>:指定某設備做什麼(設備名字用1的方法可以查看)

4、adb install <安裝包.apk>:安裝應用(寫清楚apk的完整路徑)adb -s <設備名字> install <安裝包.apk>:指定設備安裝應用

5、adb shell:通過遠程shell命令來控制模擬器/設備

6、exit:退出shell遠程連接,回到原路徑。(Ctrl+d,退出shell,回到默認路徑)

7、adb pull <設備端路徑> <pc端路徑>:將指定的文件從設備/模擬器上拷貝到pc端(後面的pc端路徑可以不指定,默認存儲在當前路徑下)。例: adb pull /sdcard/log.txt c:/monkey

8、adb push <pc端路徑> <設備端路徑>:將指定的文件從pc端拷貝到設備/模擬器上

9、adb shell pm list packages:列出電腦端所有apk的包名

10、adb logcat:查看pc端的日誌輸出。adb shell界面只需輸入logcat,查看設備端日誌輸出(退出Ctrl+c)

二、Monkey命令擴展

1、最簡單的monkey執行語句:(adb shell)monkey –p com.jianjiexuan.na –v 500 (對com.jianjiexuan.na 這個程序包單獨進行一次500次的monkey測試)

名詞解釋:-p:用於約束限制,用此參數指定一個或多個包。指定包之後,Monkey將只允許系統啟動指定的APP。如果不指定包,Monkey將允許系統啟動設備中的所有APP。指定多個包:monkey -p –p -p -v 500-v:用於指定反饋信息級別(信息級別就是日誌的詳細程度),總共分3個級別,分別對應的參數如下表所示:

日誌級別 Level 0

例 monkey –p com.jianjiexuan.na –v 500說明:預設值,僅提供啟動提示、測試完成和最終結果等少量信息

日誌級別 Level 1

例 monkey –p com.jianjiexuan.na –v -v 500說明:提供較為詳細的日誌,包括每個發送到Activity的事件信息

日誌級別 Level 2

例 monkey –p com.jianjiexuan.na –v -v -v 500

說明:最詳細的日誌,包括了測試中選中/未選中的Activity信息

2、延時及固定序列(adb shell)monkey -s 100 -p com.jianjiexuan.na – -throttle 1000 -v 500 (每次執行一次有效的事件後休眠1000毫秒)(adb shell)monkey -p com.jianjiexuan.na – -throttle 1000 – -randomize-throttle -v 500 (每次執行一次有效事件後隨機延時0-200毫秒)名詞解釋:-s:用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。出現問題下次可以重復同樣的系列進行排錯。–throttle:固定延時,用於指定用戶操作(即事件)間的時延,單位是毫秒;–randomize-throttle:隨機延時,用於指定用戶操作(即事件)間的時延,單位是毫秒。

3、保存monkey運行結果1)保存在PC中adb shell monkey –p com.jianjiexuan.na –v 500 > d:\monkey\log.txt 2)保存在手機中手機端進入shell模式:adb shell monkey –p com.jianjiexuan.na –v 500 > /mnt/sdcard/monkey/log.txt

Ⅵ 超實用的adb與adb shell常用命令匯總

adb(Android Debug Bridge),SDK自帶的工具,可實現橋接功能,實現PC和android設備的交互

adb shell:基於Android linux系統操作,放在安卓設備的system/bin目錄下,手機端的命令

一:adb常用命令

1. PC連接android設備

(PC與android設備連接同一個wifi,或處於同一個區域網)

連接:adb connect ip:5555

斷開連接:adb disconnect ip

查看連接設備的信息:adb devices

獲取設備的狀態:adb get-state

2. 重啟adb server

打開adb服務:adb start-service

關閉adb服務:adb kill-service

3. 安裝卸載軟體

安裝:adb install apkpath(某個apk)

adb install -r :強制安裝

卸載: adb uninstall package(可用adb shell pm list packages查看包名)

4. 列印日誌

列印android系統日誌:adb logcat

將日誌列印並保存指定文件夾:adb logcat > /Users/apple/Desktop/log.txt

終止進程:control+C

列印mpsys,mpstate,logcat的輸出,用於分析錯誤:adb bugreport

5. PC與android設備上文件復制

android設備上文件復制到PC上:adb pull

PC上文件推至android設備:adb push 

6.重新掛載system分區為可寫,需要root許可權./system分區默認掛載為只讀,但有些操作比如給android系統添加命令,刪除自帶應用等需對系統進行寫操作,得重新掛載為可寫

adb shell

su

或:adb root

adb remount 重新掛載文件系統,獲得可寫的許可權(默認情況是只有可讀許可權的),使用adb remount 的前提是要有root許可權

7. 刪除系統應用

adb root

adb remount

adb shell

cd system/app

rm *apk

二:adb shell命令

adb shell 進入系統子目錄,exit 退出

1. pm命令

列出系統應用的所有包名:adb shell pm list packages 可用grep來過濾:adb shell pm list packages | grep 關鍵字

清除應用數據與緩存:adb shell pm clear <packagename>

2. am命令

啟動應用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通過adb shell mpsys activity activities | grep mFocusedActivity查看

強制停止應用:adb shell am force-stop <packagename>

3. input命令

模擬點擊事件,點擊坐標點(x,y):adb shell input tap x y

模擬滑動事件,從(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2

發送文本內容:adb shell input text

模擬按下home:adb shell input keyevent KRYCODE_HOME

4. screencap命令

截屏:adb shell screencap

5. 查看網路狀態命令

查看當前網路狀態:adb shell netstat

通過配置文件配置和管理網路連接:adb shell netcfg

查看網路信息:ifconfig

測試網路聯網狀態:ping

5.其它相關命令

查看當前終端中進程:adb shell ps

獲取cpu信息:adb shell cat /proc/cpuinfo

查看內存信息:adb shell cat /proc/meminfo

查看屏幕解析度:adb shell wm size

查看設備ip地址:adb shell ifconfig | grep Mask

查看實時資源佔用情況:adb shell top

Ⅶ ADB命令對手機進行操作

連接設備後 adb shell 進入設備檢查是否有root(&表示沒root,#表示已經root)

沒root執行如下

exit

adb root

adb remount

執行這一步後仍舊不能對system進行讀寫。

再exit退出了執行下面命令

adb disable-verity

adb reboot     -手機重啟

開機後執行adb root          ----不用進入設備

adb remount

adb shell

cd 到你要修改文件的地方試試如:應用apk安裝在/system/priv-app/目錄下

rm –rf *   刪除當前文件夾所有文件 ---(慎重)

刪除掉文件後exit退出來,上傳文件命令如下

adb push 需要上傳的文件+空格+上傳的地方目錄

其他操作:Read-only file system

adb logcat -v time | findstr START  --查看包名

rm XXXXX      ---刪除文件 (帶中文的文件需要輸入前面的字元然後按Tab 自動聯想出文件名後去刪除,聯想會自動轉譯字元)

Ⅷ 手機adb命令怎麼使用

adb連接手機

【主要方式】

主要是通過adb命令進行鏈接手機或者查看手機連接的狀態。

【原理】

通過指令或者查看連接狀態確定是否開啟手機連接狀態。

【實現步奏】

通過usb連接電腦,注意一定要把360等手機助手關閉退出,這些軟體會佔用adb的使用。

然後打開cmd,adb devices 查看手機是否連接電腦。

Ⅸ 干貨|做App測試,那些必知必會的Adb常用命令

> 本文節選自霍格沃茲測試學院內部教材

為了讓大家更好的學習Adb常用命令,我們先從安裝Android環境搭建開始講解哦。

安裝jdk  

###  **  

**

 **  

**

### 因為 Android SDK 是依賴於 java 環境的,所以需要先把 java 的環境搭建好。Java

環境可以參考搭建帖子:https://ceshiren.com/t/topic/4001

安裝Android SDK  

###  

###  

### adb 包含在 Android SDK 平台工具軟體包中。具體的 Android SDK

環境搭建步驟請參考帖子:https://ceshiren.com/t/topic/4001

adb簡介  

adb 全稱為 Android Debug Bridge(Android 調試橋),是 Android SDK 中提供的用於管理 Android

模擬器或真機的工具。

adb 是一種功能強大的命令行工具,可讓 PC 端與 Android 設備進行通信。adb 命令可執行各種設備操作,例如安裝和調試應用。

adb組成  

採用了客戶端-伺服器(C/S)模型,包括三個部分:

  * adb client

  * adb server

  * adb daemon

ADB client:運行在電腦上,可以在命令行中運行 adb 命令來調用該客戶端。Client 本質上就是 Shell,用來發送命令給

Server。發送命令時,首先檢測 PC 上有沒有啟動 Server,如果沒有 Server,則會自動啟動一個,然後將命令發送到 Server。

ADB server:是運行在電腦上的後台進程,用於管理客戶端與運行在模擬器或真機的守護進程通信。

ADB Daemon:守護進程作為一個後台進程在 Android 設備或模擬器系統中運行。它的作用是連接 adb 服務端,並且為運行在主機上的 adb

客戶端提供一些服務。

adb工作原理  

當 adb 客戶端啟動時,客戶端會先檢查 adb 服務端是否啟動。如果沒有,會先啟動服務端進程。adb 服務端在啟動後,會與 5037 埠綁定,並監聽

adb 客戶端發出的命令。

然後,服務端會與所有正在運行的 Android 設備建立連接。它通過掃描 5555 到 5585 之間的奇數號埠查找 Android 設備。服務端一旦發現

Android 設備上的 adb 守護進程在運行,便會與相應的埠建立連接。每個 Android 設備都使用一對埠,偶數埠用於控制台連接,奇數埠用於

adb 連接。

例如:服務端與所有 Android 設備建立連接後,就可以使用 adb 命令來訪問這些設備了。服務端會管理已經建立的連接,並處理來自 adb 客戶端的命令。

啟動adb調試  

### Android 真機可以通過 USB 連接到 adb,連接時需要在設備的系統設置中啟用 USB 調試(位於開發者選項下),啟動 USB

調試後,設備上的 adb 守護進程就會被啟動,adb 服務端才可以和設備建立連接。除了用 USB 的方式連接之外,也可以通過 WLAN

的方式連接,這種方式不做贅述。

  1. 模擬器:不需要手動設置 USB 調試開關,默認是打開的

  2. 真機通過 USB 連接

    * 安裝 Android 手機驅動

    * 設備啟用 USB 調試

adb命令格式  

  * 

    adb [-d|-e|-s <serialNumber>] <command>

  * -d:指定當前唯一通過 USB 連接的 Android 設備為命令目標

  * -e:指定當前唯一運行的模擬器為命令目標

  * -s:指定相應 serialNumber 號的設備/模擬器為命令目標

方括弧中的內容是可選的,尖括弧內容的是必填的。方括弧中參數可以指定設備,關於設備的指定有三個參數可以使用。-d、-e 和 -s,其中使用最多的是 -s

參數,在連接多台設備的時候,一般都是使用 -s 加上設備的序列號這種方式去指定具體設備。

adb 可以同時連接多台設備,但是一次只能對一台設備執行命令。所有連接多台設備的時候,是必須要制定設備,命令才可以執行成功的。

查詢設備  

把 Android 設備連接到 adb 服務端後,需要確認設備的連接狀態。這時可以使用查詢命令進行查詢。

 **連接模擬器** (以 mumu 模擬器為例)

  *   * 

    adb connect 127.0.0.1:7555adb devices

  * `adb connect` 命令可以通過 WLAN 的方式連接到模擬器,7555 為 mumu 模擬器的埠

  * `adb devices` 可以查詢設備連接的狀態

Windows 系統中,連接模擬器需要先執行 connect 命令去連接模擬器,127.0.0.1 是本地的 IP

地址,因為模擬器就是安裝在本地的,所以要使用本地的 IP 地址,加上模擬器本身規定的一個埠號。mumu 的埠號是

7555,如果使用的是其他的模擬器的話,需要先去了解它的埠號是什麼,然後再去連接。MacOS 系統中連接模擬器不需要先執行 connect 命令,直接執行

`adb devices` 命令即可。

 **連接真機**

 **  

**

真機直接用 USB 連接到電腦,不需要執行 connect 命令。

直接用 `adb devices`命令查看已經連接的設備列表即可。

    feier@ ~ % adb devices  

    List of devices attached  

    emulator-5554    device

直接命令後,如果設備已經成功連接,那麼設備列表中就會展示已連接設備的信息。以圖中的信息為例:

  * emualotr-5554:設備序列號

  * device:設備連接狀態為成功

安裝卸載應用  

測試過程中,如果需要安裝或者卸載應用,可以直接用 adb 命令來操作。

  * 普通安裝:`adb install <apk路徑>`

  * 覆蓋安裝:`adb install -r <apk路徑>`

  * 完全卸載:`adb uninstall <包名>`

  * 保留配置文件:`adb uninstall -k <包名> `

設備與電腦傳輸文件  

adb 命令支持電腦和 Android 設備之間的文件互傳。比如我們需要提取 Android 設備中的日誌文件到本地,就可以通過 adb 命令的方式來完成。

  * 從電腦上傳文件至設備:`adb push <電腦路徑> <設備路徑>`

  * 從設備復制文件至電腦:`adb pull <設備路徑> <電腦路徑>`

日誌  

列印鏈接設備的 log 信息

  * 屏幕輸出日誌:`adb logcat`

  * 通過標簽過濾:`adb logcat -s 標簽`

  * 顯示時間:`adb logcat -v time`

  * 輸出所有信息:`adb logcat -v long`

  * 輸出日誌到文件:`adb logcat -v time > log.txt`

  * 清除舊日誌信息:`adb logcat -c`

adb shell命令  

使用 adb shell 命令相當於遠程登錄了 Android 系統,可以進入 Android 設備的系統內部。進入系統內部既可以執行一些簡單的 Linux

命令也支持很多特有的命令。

使用 adb shell 命令有兩種方式。

一種是直接在 adb shell 後面跟上命令。

  * 

    adb [-s serial_number] shell <command>

比如:

  *   *   *   *   *   *   *   *   *   *   * 

    feier@ ~ % adb shell .propdevetc...

另一種方式是在設備上啟動互動式 shell

  * 

    adb [-s serial_number] shell

進入 shell 之後,再執行對應的命令。

比如我們進入設備內部,可以查看設備內部的目錄結構和內容

  *   *   *   *   *   *   *   *   *   *   * 

    feier@ ~ % adb shellroot@x86:/ # .propdev...

要退出互動式 shell,可以按 Ctrl + D 鍵或輸入 exit。

 **Android常用測試命令**  

下面整理出了Android常用的一些測試命令及用法。  

設備截圖/錄屏  

在測試過程中,如果需要截圖或者是錄屏,也可以直接使用 adb 命令來完成。

  * 截圖:`adb shell screencap <設備路徑>`

  * 錄屏:`adb shell screenrecord <設備路徑>`

調用Activity管理器  

在 adb shell 中,可以使用 Activity 管理器 (am) 工具發出命令以執行各種系統操作,如啟動

Activity、強行停止進程、修改設備屏幕屬性,等等。

在測試過程中,如果需要啟動 app 或者強制關閉 app,可以通過 adb 命令來實現。

  * 啟動應用:`adb shell am start -n <包名>/<Activity名>`

  * 強制停止應用:`adb shell am force-stop <包名>`

調用軟體包管理器  

在 adb shell 中,可以使用軟體包管理器 (pm) 工具發出命令,以對設備上安裝的應用軟體包執行操作和查詢。

如果需要查詢設備里都安裝了什麼應用,就可以使用 adb shell pm list 來查看,還可以加上不同的參數去查看不同類型的應用。而且也可以通過 adb

命令來清除應用相關的數據。

  * 顯示設備中安裝的所有應用:`adb shell pm list packages`

  * 只顯示系統應用:`adb shell pm list packages -s`

  * 只顯示第三方應用:`adb shell pm list packages -3`

  * 刪除與軟體包關聯的所有數據:`adb shell pm clear <包名>`

adb shell mpsys  

mpsys 是一種在 Android 設備上運行的工具,可提供有關系統服務的信息。可以使用 adb 從命令行調用

mpsys,獲取在連接的設備上運行的所有系統服務的診斷輸出。

比如在測試中,如果需要通過 adb 命令啟動 app,則需要知道 app 的包名和入口的 Activity

名。這個時候,就可以通過下面這條命令獲取到這兩個信息。

這個場景,需要先把要獲取信息的應用啟動,讓它在前台運行,然後執行命令

`adb shell mpsys activity | grep mFocusedActivity`

  *   *   * 

    feier@ ~ % adb shell mpsys activity | grep mFocusedActivity  mFocusedActivity: ActivityRecord{9dae968 u0 com.xueqiu.android/.common.MainActivity t139}  

下方的日誌中就會展示出來當前的包名和 Activity 名稱。

  * 包名:`com.xueqiu.android`

  * Activity 名:`.common.MainActivity`

adb shell mpsys  

adb 命令還支持直接獲取應用的頁面信息。這個頁面信息包含了頁面中元素的屬性,可以方便做自動化測試的時候去定位元素。獲取到的頁面布局會輸出到一個 xml

文件中。

  * 當前窗口的 UI 布局簡化信息:`adb shell uiautomator mp --compressed`

  *   * 

    feier@ ~ % adb shell uiautomator mp --compressedUI hierchary mped to: /sdcard/window_mp.xml

不指定輸出文件路徑時,mp 下來的文件默認存儲路徑為 `/sdcard/window_mp.xml`

可以通過 adb pull 命令把文件傳輸到電腦中,然後用 uiautomatorviewer 工具打開查看布局。

  * 指定輸出文件路徑:`adb shell uiautomator mp file <設備路徑>`

adb常用命令就先講到這里啦,下期我們分享App常見bug解析。大家還想看什麼內容的文章也可以留言告訴我們哦!

 ** _ 

來霍格沃茲測試開發學社,學習更多軟體測試與測試開發的進階技術,知識點涵蓋web自動化測試 app自動化測試、介面自動化測試、測試框架、性能測試、安全測試、持續集成/持續交付/DevOps,測試左移、測試右移、精準測試、測試平台開發、測試管理等內容,課程技術涵蓋bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相關技術,全面提升測試開發工程師的技術實力

QQ交流群:484590337

公眾號 TestingStudio

視頻資料領取:https://qrcode.testing-studio.com/f?from=jianshu&url=https://ceshiren.com/t/topic/15844

點擊查看更多信息

與adb命令退出相關的資料

熱點內容
怎麼變字體樣式app 瀏覽:173
名字叫湯什麼的視頻app 瀏覽:207
金屬加密鍵盤聯系電話 瀏覽:333
自製解壓牛奶盒子教程 瀏覽:62
編譯高手的圖片 瀏覽:922
單片機數碼管顯示時分秒 瀏覽:780
手指解壓最簡單的方法 瀏覽:343
韓國郵箱伺服器地址 瀏覽:967
android版本介紹 瀏覽:410
pdf文件加密軟體 瀏覽:410
長沙住房app怎麼看備案 瀏覽:601
安裝加密軟體的電腦會被監控么 瀏覽:221
java微博源碼 瀏覽:569
堆排序簡單實現python 瀏覽:461
單片機引腳與鍵盤的關系 瀏覽:132
壓縮火柴盒製作 瀏覽:38
谷歌地圖android偏移 瀏覽:214
bitlocker硬碟加密空間 瀏覽:238
程序員鼓勵師可以上嗎 瀏覽:447
文件夾占內存卻找不到了 瀏覽:786
© Arrange www.craffts.com 2012-2022
溫馨提示:資料來源於互聯網,僅供參考