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