【Android測試】【第一節】初識ADB

來源:互聯網
上載者:User

標籤:模擬器   adb   

● 前言

    利用工作之餘的時間將Android測試相關知識進行一個整理,一來鞏固一下自己學到的東西;二來

可以讓想學習Android測試的同學多一份學習資料。


● 何為ADB

  什麼是ADB呢?為什麼手機和電腦之間用usb串連後,就可以電腦上通過應用寶或者豌豆莢等手機助

手軟體對手機進行操作?

  答案就是:因為這些都依賴於ADB。ADB就是串連手機和電腦通訊的橋樑,只要這個橋樑建立起了,

那麼你就可以通過電腦來控制你的手機了。


  ADB全稱Android Debug Bridge,我把它解釋為“安卓調試的橋樑”,他是由三部分組成:

    1、用戶端 client:運行在你的電腦上,你可以通過shell來調用起一個用戶端。其他Android

工具,例如ADT外掛程式、DDMS都可以建立出一個用戶端

    2、伺服器 server:運行在你電腦的後台,負責管理client和daemon進行通訊。

    3、守護進程 daemon:運行在模擬器或者Android裝置的後台。

  但是它最終呈現給我們用的就是一個命令列的工具 ( command line tool ),通過它我們就可以

和模擬器或者是Android裝置進行通訊。它就在 <sdk>/platform-tools/ 這個目錄下:

     

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/8A/30/wKiom1gqdRmRjo2NAAGz7xjZBUQ582.png" title="1.png" alt="wKiom1gqdRmRjo2NAAGz7xjZBUQ582.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/8A/2D/wKioL1gqdRqByuUPAAD5a5XOFss221.png" title="2.png" alt="wKioL1gqdRqByuUPAAD5a5XOFss221.png" />

  每次啟動用戶端的時候,首先會檢查伺服器是否已經在後台運行了,如果沒有,他就會啟動server進程;

  如果server是開啟的,server就會綁定在 TCP 的 5037 連接埠然後監聽用戶端發出來的命令;

  所有的client都是通過 5037 連接埠和server進行通訊的。


USB調試

  當我們通過USB資料線來使用ADB的時候,通常需要將 "設定"-"開發人員選項"-"USB調試" 這個框勾上。

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/8A/30/wKiom1gqddmDMFLHAAC28jab9gU265.png" title="3.png" alt="wKiom1gqddmDMFLHAAC28jab9gU265.png" />

  需要注意的是:在有些 Android 4.2.2版本以上,是隱藏了“開發人員選項”的,因此需要在 “設

置”-“關於手機”-“Android版本” 在這裡連續點擊7次,然後“開發人員選項”就出現了。


● ADB 命令

  連上手機,配置好了環境變數(直接搜尋“adb環境變數配置”會出一大堆)就可以使用命令了。下面列舉一下常用的命令

 

 adb devices  查看當前串連裝置


  顯示當前串連的一個序號和狀態:

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101154565646068.png" style="margin:0px;padding:0px;border:0px;" />

 

 adb install <path_to_apk>    安裝apk檔案


  給的Apk的路徑是當前PC端檔案所在的路徑:

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101200455333522.png" style="margin:0px;padding:0px;border:0px;" />

 

 adb -s <serialNumber> <command>    指定裝置執行命令


  serialNumber就是adb devices中的第一列的資訊

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101227050028818.png" style="margin:0px;padding:0px;border:0px;" />

 

 adb pull <remote> <local>   將Android裝置上的檔案拉到本地


  一般Android手機預設的儲存路徑是“/mnt/sdcard/”,我們把這裡面的一個檔案拉到C盤

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101338476435005.png" style="margin:0px;padding:0px;border:0px;" />

  然後我們去電腦的C盤下去看一眼:

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/8A/2D/wKioL1gqdw7ypTbcAAGeTp-h2B0448.png" title="4.png" alt="wKioL1gqdw7ypTbcAAGeTp-h2B0448.png" />

               通過Adb pull 命令複製出來的檔案


 adb push <local> <remote>      把本地檔案複製到Android裝置上

  和 adb pull 剛好是一對相反的命令。  

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101344144553761.png" style="margin:0px;padding:0px;border:0px;" />

 

 adb start-server    啟動adb的server

 adb kill-server     關閉adb的server

  有點時候adb在沒有響應的時候,我們需要重啟adb,不過這種情況一般較少。

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101348443937761.png" style="margin:0px;padding:0px;border:0px;" />

 

 adb shell [shellCommand]       運行shell命令

  眾所周知,Android是基於linux核心的,因此可以在Android的系統上運行shell命令

  通過adb shell 可以進入手機的系統,然後執行一些linux的命令

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101353558778900.png" style="margin:0px;padding:0px;border:0px;" />

  當然也可以不進入系統,直接使用命令

  650) this.width=650;" src="http://images0.cnblogs.com/blog2015/626346/201507/101356227996848.png" style="margin:0px;padding:0px;border:0px;" />

 

  例如adb shell下安裝和卸載命令是:

  pm uninstall com.tencent.qq
  pm install -r "/data/local/tmp/com.tencent.qq"


  本文為個人使用的認知,知識點可能會有些偏差,希望大家能批評指正。

本文出自 “半醒半醉半浮生” 部落格,請務必保留此出處http://sweettesting.blog.51cto.com/12233355/1872918

【Android測試】【第一節】初識ADB

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.