android的adb
A. android adb是什麼意思
adb的全名是Android調試橋,它充當調試橋。Adb是Android SDK中的工具,使用此工具,您可以直接操作和管理Android模擬器或真實的Android設備(例如G1手機)。
Android系統的adb的全名是Android Debug Bridge,在Android開發環境中,abd是我們經常用於開發的調試工具,使用adb工具的前提是打開手機上的USB調試,然後通過數據線連接到計算機。
通過adb,我們可以通過Eclipse中的DDMS(調試工具)輕松調試Android程序。,Adb以一種特殊的方式工作,它監視Socket TCP 5554和其他埠,以允許IDE和Qemu進行通信,默認情況下,adb將守護程序相關的網路埠,因此,當我們運行Eclipse時,adb進程將自動運行。
(1)android的adb擴展閱讀:
android adb主要功能有:
1、運行設備的shell(命令行);
2、管理模擬器或設備的埠映射;
3、計算機和設備之間上傳/下載文件;
4、 將本地apk軟體安裝到模擬器或android設備。
參考資料:網路—ADB
B. Android安全入門基礎-ADB詳解
adb的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在IDE中方面通過DDMS來調試Android程序,說白了就是debug工具。 adb的工作方式比較特殊,採用監聽Socket TCP 5554等埠的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網路埠,所以當我們運行IDE時adb進程就會自動運行。
adb的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。 adb的工作方式比較特殊,採用監聽Socket TCP 5554等埠的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網路埠,所以當我們運行Eclipse時adb進程就會自動運行。
對於安卓開發與測試來說就像一把「瑞士軍刀」
ADB本身是Android手機開發時的調試工具,但是也可以用來作為手機管理工具。
基本上現在的豌豆莢(豌豆莢會自動在手機上安裝其APP-靜默安裝)、360手機助手、qq手機助手對手機的管理功能都是通過ADB來實現。
ADB的管理功能需要手機打開調試選項,這為手機管理提供了方便,同時也造成了安全隱患。
因為ADB工具可以實現查看手機內容、向手機寫入文件、給手機安裝軟體等功能,這些都不需要root許可權。
當我們打開手機的調試選項,並使用USB線將手機連接到PC時,不僅僅是手機管理工具可以控制手機,只要調用ADB命令,任何PC端的程序都可以訪問手機內容。
假設有一個運行在PC端的間諜程序,那麼就很容易檢測到手機與PC的連接,而且只要一條很簡單的命令"adb.exe shell ls /"就可以列出手機根目錄下的所有文件了。
其實如果打開了手機的調試選項,那麼手機連接到PC後就是在「裸奔",手機中的所有信息都可以被PC端抓取,其實這也就是現在流行的手機管理工具的基本原理。
所以如果需要保護手機上的私密信息,那麼最好謹慎打開手機的USB調試選項
C. Android 開發常用的adb命令
在Mac 下配置Android SDK的adb命令添加到環境變數:
1. 檢查 .bash_profile
使用 vim .bash_profile 打開該文件,如果該文件存在則直接進入如下第二個步驟,如果該文件不存在,可通過下面命令創建.bash_profile:
touch .bash_profile
2. 編輯 .bash_profile
打開.bash_profile文件,進行編輯,命令如下:
vim .bash_profile
添加如下內容, 以下是我的sdk的路徑,具體路徑根據自己sdk路徑稍作改動即可;
3. 保存 .bash_profile
按 esc 鍵後退,然後輸入 :wq 後保存退出;
4. 更新配置
source .bash_profile
(1) 查看當前顯示的activity的名字**
(2) 查看前台Activity
(3). 查看前台Activity的棧信息
結果如下:
在沒有root的手機里想adb pull出裡面的東西可以先用這個命令搜出位置,然後在pull出來
將apk後綴改成zip, 然後解壓,
Ctrl + C 停止錄屏
配置fastboot命令環境變數
fastboot刷機步驟:
持續更新...
D. 安卓手機怎麼打開adb調試
vivo手機首次開啟USB調試,需進入設置--系統管理--關於手機--軟體版本號或進入設置--我的設備--更多參數,連續點擊軟體版本號7次,再進入設置--系統管理--開發者選項--進入開啟USB調試。
部分機型需進入設置--更多設置--關於手機--(版本信息)--連續點擊軟體版本號7次後,再進入設置--更多設置的最底部找到「開發者選項」,進入開啟USB調試;
如果您在如上路徑沒有找到USB調試,請在撥號界面輸入*#*#7777#*#*進入開啟。
E. Android 常用adb命令
常用adb 命令
配置mat 環境,因為從 android profile直接獲取到的hprof文件格式與mat的格式不兼容,所以需要使用工具轉換一下
第 1 行:進程信息
總共(total):754個
運行中(running)狀態:1個
休眠(sleeping)狀態:753個
停止(stopped)狀態:0個
僵屍(zombie)狀態:0個
第 2 行:內存信息
5.5G total:物理內存總量
5.4G used:使用中的內存量
165M free:空閑內存量
76M buffers: 緩存的內存量
第 3 行:Swap分區信息
2.5G total:交換區總量
789M used:使用的交換區大小
1.7G free:空閑交換區大小
2.4G cached:緩沖的交換區大小
內存監控時,可以監控swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是內存不夠用了。
第 4 行:CPU信息
800%cpu:8核cpu
100%user:用戶進程使用CPU佔比
3%nice:優先值為負的進程佔比
54%sys:內核進程使用CPU佔比
641%idle:除IO等待時間以外的其它等待時間佔比
0%iow:IO等待時間佔比
3%irq:硬中斷時間佔比
0%sirq:軟中斷時間佔比
第 5 行及以下:各進程的狀態監控
PID:進程id
USER:進程所屬用戶
PR:進程優先順序
NI:nice值,負值表示高優先順序,正值表示低優先順序
VIRT:進程使用的虛擬內存總量,VIRT=SWAP+RES
RES:進程使用的、未被換出的物理內存大小,RES=CODE+DATA
SHR:共享內存大小
S:進程狀態
%CPU:上次更新到現在的CPU佔用時間比
%MEM:使用物理內存佔比
TIME+:進程時間的CPU時間總計,單位1/100秒
ARGS:進程名
F. ADB是什麼意思
adb的全名是Android調試橋,它充當調試橋。Adb是Android SDK中的工具,使用此工具,您可以直接操作和管理Android模擬器或真實的Android設備(例如G1手機)。
Android系統的adb的全名是Android Debug Bridge,在Android開發環境中,abd是我們經常用於開發的調試工具,使用adb工具的前提是打開手機上的USB調試,然後通過數據線連接到計算機。
android adb主要功能有:
1、運行設備的shell(命令行)。
2、管理模擬器或設備的埠映射。
3、計算機和設備之間上傳/下載文件。
4、將本地apk軟體安裝到模擬器或android設備。
G. Android--常用ADB命令總結
1.重啟
2.推文件到Android
3.ADB啟動指定Activity
4.獲取當前存活的Activity的信息
5.查看當前顯示的Activity的完整類名
6.清除指定應用的數據和緩存
7.查看應用的單項許可權是否被授予
8.查看手機品牌
9.adb查看已安裝應用列表
10.用adb查看某個apk的應用信息、版本信息
11.用adb對指定應用進行500次模擬觸摸事件
12.游標選中輸入框後輸入文字
13.強制安裝版本號更低的apk
14.查看存活的進程
15.獲取某個包名的安裝路徑
16.刪除包
17.開關藍牙,查詢藍牙狀態
18.查看/設置日誌緩沖區大小
H. 深入扒一扒安卓中的ADB命令
做過安卓開發的朋友或多或少都遇到過讓人厭惡的類似於「could not read ok from ADB Server」的錯誤。產生這個錯誤的原因可能多種多樣,每次遇到問題的時候,可能大部分人都和我一樣,去google一下這個問題別人是如何解決的。假設一下子找到解決了,就放過,下次在遇到的時候同樣的再去google一下就好了。但是,這樣不是正確的治學態度,為此孔祥子決定去扒一扒!
如下,是我在發現Android studio連接不上手機的時候,嘗試去啟動一個adb server,但是失敗了。
<pre>
根據問題提示,5037埠被佔用了。下面就來看看到底是哪一個埠被佔用。
<pre>
C:Userszxy>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 7912
TCP 127.0.0.1:5037 127.0.0.1:50025 ESTABLISHED 7912
TCP 127.0.0.1:5037 127.0.0.1:56501 ESTABLISHED 7912
TCP 127.0.0.1:50025 127.0.0.1:5037 ESTABLISHED 7120
TCP 127.0.0.1:56501 127.0.0.1:5037 ESTABLISHED 1264
</pre>
果然,5037被進程id為7912的進程佔用了。順藤摸瓜,看看到底什麼進程搗的鬼,
<pre>
C:Userszxy>tasklist | findstr "7912"
romaster_daemon.exe 7912 Console 1 3,024 K
</pre>
看到了嗎,是這個進程romaster_daemon.exe ,好了,到此為止找出來是哪一個程序了,下面打開任務管理器,kill掉就可以了。
Android adb(Android Debug Bridge) 是一個通用命令行工具,其允許您與模擬器實例或連接的 Android 設備進行通信。它可為各種設備操作提供便利,如安裝和調試應用,並提供對 Unix shell(可用來在模擬器或連接的設備上運行各種命令)的訪問。
該工具作為一個客戶端-伺服器程序,包括三個組件:
客戶端(adb client) ,該組件發送命令。客戶端在開發計算機上運行。可以通過發出 adb 命令從命令行終端調用客戶端。
這里說的客戶端,其實包含很廣泛。例如我們在命令行窗口運行一個adb命令,其實就是一個adb客戶端。還有,我們在android studio中通過點擊運行或者調試按鈕,app就安裝到手機裡面了,這個也可以看做是adb客戶端。對應的後台進程名稱 根據運行的程序的不同而不同。
後台程序 ,該組件在設備上運行命令。後台程序在每個模擬器或設備實例上作為後台進程運行。
也就說,開發者測試手機或者模擬器上運行的後台進程,負責接收命令,並運行命令。這個名字對應應該是adbd
具體如下
服務端 ,該組件管理客戶端和後台程序之間的通信。伺服器在開發計算機上作為後台進程運行。
您可以在 android_sdk/platform-tools/ 中找到 adb 工具
這個是在開發者自己的電腦上,運行的旨在管理adb客戶端和手機端的後台程序通信的一個管理程序。
具體流程如下
啟動一個 adb 客戶端時,此客戶端首先檢查是否有已運行的 adb 伺服器進程。如果沒有,它將啟動伺服器進程。當伺服器啟動時,它與本地 TCP 埠 5037 綁定,並偵聽從 adb 客戶端發送的命令—所有 adb 客戶端均使用埠 5037 與 adb 伺服器通信。
然後,伺服器設置與所有運行的模擬器/設備實例的連接。它通過掃描 5555 到 5585 之間(模擬器/設備使用的范圍)的奇數號埠查找模擬器/設備實例。伺服器一旦發現 adb 後台程序,它將設置與該埠的連接。請注意,每個模擬器/設備實例將獲取一對按順序排列的埠 , 這些埠包括用於控制台連接的偶數號埠和用於 adb 連接的奇數號埠。例如:
模擬器 1,控制台:5554
模擬器 1,adb:5555
模擬器 2,控制台:5556
模擬器 2,adb:5557
以此類推...
如上所示,在埠 5555 與 adb 連接的模擬器實例與偵聽埠 5554 的控制台的實例相同。
注意 ,這里所說的埠都是開發者電腦上的埠。
我的理解,偶數埠用來實際的數據傳輸。奇數埠用來發送控制命令和連接用的,例如調試。(如果不正確請指出)
當伺服器已設置與所有模擬器實例的連接後,您可以使用 adb 命令訪問這些實例。由於伺服器管理與模擬器/設備實例的連接,並處理來自多個 adb 客戶端的命令,因此,您可以從任意客戶端(或從某個腳本)控制任意模擬器/設備實例。
解讀一下
注意:上圖中的標識為黃色的區域的進程為後台守護進程。
Adb Server運行在開發者電腦上,任何adb client都要等待這個運行起來之後才能做後續的工作。電腦上的android studio或者eclipse等一些adb client和它交互。一旦adb client的命令被發送到手機中,並且被手機中的adbd接收之後,才能和手機交互。
然後在看一張更詳細的圖
這個圖,詳細的解釋了我運行adb命令中的詳細細節。
關於adb的詳細命令可以參考: http://adbshell.com/commands 這個網站詳。
看了之後,對於前面的5037被佔用,導致無法連接手機的原因,我想,我們應該有了更深層次的理解。同時對於其他情況的不能連接手機,我們下次就會有了自己的思考了。
I. 安卓adb是什麼
安卓系統的adb的全稱為Android Debug Bridge,就是起到調試橋的作用,利用adb工具的前提是在手機上打開usb調試,然後通過數據線連接電腦。在電腦上使用命令模式來操作手機:重啟、進入recovery、進入fastboot、推送文件功能等。
值得強調一點的是,在recovery模式下也可以使用adb命令來控制手機。所以如果是刷機失敗的話在一定的時候還能用到adb工具,今天就告訴大家一些非常常用的adb命令。
安卓系統常用adb命令:
1、顯示當前連接的設備:adb devices
2、安裝apk文件(必須保存和adb同目錄,*為apk文件名稱):adb install *.apk
3、安裝apk文件到sd卡(必須保存和adb同目錄,*為apk文件名稱):adb install -s *.apk
4、復制文件到手機:adb push [需要推送的文件位置] [需要推送到手機的位置]
例:adb push C:\muzi.zip /sdcard
5、復制文件到電腦:adb pull [手機里文件位置] [需要復制到電腦上的位置]
例:adb pull sdcard/muzisoft.zip c:\
6、重啟設備:adb reboot
7、重啟設備到recovery模式:adb reboot recovery
8、重啟到bootloader模式:adb reboot bootloader