1. 程式人生 > >android adb 命令大全

android adb 命令大全

1. 顯示系統中全部Android平臺:

    android list targets

2. 顯示系統中全部AVD(模擬器):

    android list avd

3. 建立AVD(模擬器):

    android create avd --name 名稱 --target 平臺編號

4. 啟動模擬器:

    emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)

5. 刪除AVD(模擬器):

    android delete avd --name 名稱

6. 建立SDCard:

    mksdcard 1024M ~/名稱.img

7. AVD(模擬器)所在位置:

    Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)

8. 啟動DDMS:

    ddms

9. 顯示當前執行的全部模擬器:

    adb devices

10. 對某一模擬器執行命令:

      abd -s 模擬器編號 命令

11. 安裝應用程式:

      adb install -r 應用程式.apk

12. 獲取模擬器中的檔案:

      adb pull <remote> <local>

13. 向模擬器中寫檔案:

      adb push <local> <remote>

14. 進入模擬器的shell模式:

      adb shell

15. 啟動SDK,文件,例項下載管理器:

      android

16. 缷載apk包:

      adb shell

      cd data/app

      rm apk包

      exit

      adb uninstall apk包的主包名

      adb install -r apk包

17. 檢視adb命令幫助資訊:

      adb help

18. 在命令列中檢視LOG資訊:

      adb logcat -s 標籤名

19. adb shell後面跟的命令主要來自:

      原始碼\system\core\toolbox目錄和原始碼\frameworks\base\cmds目錄。

20. 刪除系統應用:

      adb remount (重新掛載系統分割槽,使系統分割槽重新可寫)。

      adb shell

      cd system/app

      rm *.apk

21. 獲取管理員許可權:

      adb root

22. 啟動Activity:

      adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴充套件資料,等)。

23、釋出埠:

    你可以設定任意的埠號,做為主機向模擬器或裝置的請求埠。如:   
adb forward tcp:5555 tcp:8000

24、複製檔案:

    你可向一個裝置或從一個裝置中複製檔案,   
     複製一個檔案或目錄到裝置或模擬器上:    
  adb push <source> <destination></destination></source>    
      如:adb push test.txt /tmp/test.txt    
     從裝置或模擬器上覆制一個檔案或目錄:    
     adb pull <source> <destination></destination></source>    
     如:adb pull /addroid/lib/libwebcore.so .

25、搜尋模擬器/裝置的例項:

     取得當前執行的模擬器/裝置的例項的列表及每個例項的狀態:   
    adb devices

26、檢視bug報告:   
adb bugreport    
27、記錄無線通訊日誌:

    一般來說,無線通訊的日誌非常多,在執行時沒必要去記錄,但我們還是可以通過命令,設定記錄:   
    adb shell    
    logcat -b radio

28、獲取裝置的ID和序列號:

     adb get-product   
     adb get-serialno

29、訪問資料庫SQLite3

     adb shell   
     sqlite3

#cd system/sd/data //進入系統內指定資料夾   
#ls //列表顯示當前資料夾內容    
#rm -r xxx //刪除名字為xxx的資料夾及其裡面的所有檔案    
#rm xxx //刪除檔案xxx    
#rmdir xxx //刪除xxx的資料夾

在上圖中,除了最後一個紅色的方框,其它方框都是adb shell下的命令。

【1】在Android程式中,一般建立的資料庫存放在 /data/data/[應用程式包名]/databases 的目錄下。

【2】cd 命令:資料夾跳轉命令。ls 命令:檢視某個資料夾下面有哪些檔案。

【3】使用 "sqlite3 [資料庫名稱] " 命令來對某資料庫進行一系列的操作。

【4】在經過第【3】步驟後,可以使用 .tables 命令檢視某資料庫中包含哪些表。若要查詢某表中包含的資料,在 sqlite> 命令後輸入查詢的SQL語句即可查詢,但要注意的是要以分號[;]來結束該語句的輸入。

【5】若在命令列中輸入 adb shell 後,提示:adb不是內部或外部命令,也不是可執行的程式,或批處理檔案,遇到這種情況是由於環境變數沒有設定好的問題導致的。解決方法:在安裝的Android sdk 包目錄下的找到adb工具所在目錄,一般是在...\android-sdk-windows\tools目錄或者在...\android-sdk-windows\platform-tools目錄下。把該目錄新增到path環境變數中就OK了。

自SDK2.2版本以後(貌似是),adb.exe就放在了platform-tools資料夾裡。因此在設定環境變

量的時候就會忽略了adb,以至於在命令控制檯上輸入”adb”會提示”不是內部或者外部命令”。

所以有兩種解決方法,第一是將adb.exe還有AdbWinApi.dll和AdbWinUsbApi.dll動態連結庫

檔案移到tools資料夾裡,第二種是直接設定環境變數到platform-tools裡。方法如下:(Win7)

我的電腦–右鍵–屬性–高階系統設定–環境變數–path:

新增:碟符:\xxx\android\android-sdk-windows\platform-tools。根目錄根據自己情況的

下面如果開始出現(adb shell device not found

    輸入 adb start-server  (啟動adb伺服器),  然後執行 “adb shell”,    出息# 符號表示可以了。  (該功能只是啟動服務,沒指定****模擬器)

首先啟動android模擬器。
開啟cmd命令列視窗。輸入adb -s emulator-5554 shell  (指定5554模擬器)
此時可以管理系統檔案夾了,再輸入ls
可以看到列出了資料夾和檔案,輸入cd system/app再輸入ls
可以看到系統自帶的應用程式apk檔案,刪除你想要刪除的,例如Phone.apk,輸入rm Phone.apk
此時會看到提示說rm failed for Phone.apk, Read-only file system那是因為這些是隻讀檔案,我們沒有許可權刪除它。所以接下來要做的是獲取許可權,首先檢視許可權,輸入mount
可以看到/dev/block/mtdblock0 /system yaffs2 ro 0 0說明在system這個地方我們沒有許可權那麼接下來我們就來獲取許可權,輸入mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
沒有提示錯誤,再次檢視許可權,輸入mount
可以看到/dev/block/mtdblock0 /system yaffs2 rw 0 0
說明我們已經獲取到許可權了此時再輸入rm Phone.apk就可以成功刪除了

最後一點,就算你成功刪除了,android模擬器每次啟動時也會恢復回來。
那麼如何永久刪除呢,很簡單,刪除SdkSetup.apk,輸入rm SdkSetup.apk
還沒完,找到avd目錄(一般在我的文件),進入xxxx.avd目錄,刪除cache.img和userdata-qemu.img
還有還有,找到%SDK_HOME%/platforms/android-X/images/system.img,複製到上面的目錄中。
最後最後,再重啟模擬器,大功告成!

$adb uninstall package (移除 APK 應用程式)
  adb uninstall com.android.email
  $adb shell (進入android shell命令模式)
  $ls
  $dmesg (檢視 Android Linux Kernel 執行資訊)
  ls - 顯示檔案目錄
  cd - 進入目錄
  rm - 刪除檔案
  mv - 移動檔案
  mkdir - 產生目錄
  rmdir - 刪除目錄
  $adb push (複製檔案到 SD 卡)
  adb push mp3 /sdcard
  $adb pull . (從Android 系統下載檔案)
  adb pull /data/app/com.android.email
  $adb logcat (監控模擬器運作記錄,以Ctrl + c離開監控模式)
  $adb bugreport (產生adb出錯報告)
  $adb get-state (獲得adb模擬器工作狀態)
  $adb start-server (啟動adb伺服器)
  $adb kill-server (關掉adb伺服器)
  $adb forward tcp:6100 tcp:7100 (更改模擬器通訊網路)
  $adb shell ps -x (顯示android模擬器上所有在執行的程序)
  $adb version (顯示 adb 版本)
  $adb help (顯示 adb 指令引數)

  5、搜尋模擬器/裝置的例項:
    取得當前執行的模擬器/裝置的例項的列表及每個例項的狀態:
  adb devices
  6、檢視bug報告:
  adb bugreport
  7、記錄無線通訊日誌:
  一般來說,無線通訊的日誌非常多,在執行時沒必要去記錄,但我們還是可以通過命令,設定記錄:
  adb shell
  logcat -b radio
  8、獲取裝置的ID和序列號:
  adb get-product
  adb get-serialno
  9、訪問資料庫SQLite3
  adb shell
  sqlite3
  # Emulator 命令列啟動引數
  emulator -timezone Asia/Taipei (指定時區)
  emulator -no-boo-anim (省略開機小機器人啟動畫面)
  emulator -scale auto (調整模擬器視窗大小)
  emulator - scale factor (factor: 0.1-3.0)
  emulator -dpi-device 300 (更改模擬器的解析度,default為 165dpi)
  emulator -skin (更改模擬器顯示模式)
  emulator -help-keys (顯示鍵盤快速說明)
  emulator -shell (相當於adb shell 功能)
  emulator -data data.img (使 /data 目錄使用 data.img 的檔案空間)
  emulator -sdcard sdcard.img (使 /sdcard 目錄使用 sdcard.img 的文件空間)
  emulator -cache cache.img (瀏覽器暫存空間)
  emulator -wipe-data (使模擬器恢復到原始設定)
  emulator -help (顯示 emulator 指令引數)
  Using SQLite from Shell in Android
  命令模式下
  #ls 檢視即可

使用Android模擬器經常遇到連不上、連一次掉一次等諸多問題


在此種情形下重啟ADB即可:

在eclipse下:

window -> Show Views -> device -> view menu -> Reset adb

或者在命令列狀態下:

adb kill-server---再adb start-server