Android开发中adb命令的常用方法
?Android的SDK中提供了很多有用的工具,在開發(fā)過程中如果能熟練使用這些工具,會讓我們的開發(fā)事半功倍.adb是SDK提供的一個常用的命令行工具,全稱為Android Debug Bridge,用于在調試時連接本機和手機設備.
這些命令都是根據本人在開發(fā)過程中的使用進行總結的,以后如果發(fā)現其他常用的和有用的命令,會加入本文中.下面是一些常用的命令和用法.
一??? adb常用命令
adb start-server??????
??????? 開啟adb服務
adb kill-server?????????????
??????? 終止adb服務
adb devices??
??????? 列出所有連接到adb的設備, 包括真機和模擬器
adb version?????????????????
??????? 顯示adb的版本號
adb install <apk file name>???
將指定的app安裝到唯一連接到adb的設備上,后邊跟的參數為安裝包的文件名
adb install -r <apk file name>
??????? 安裝應用程序, 但是保留原有應用程序的所有數據
adb uninstall <package name>
??????? 將包名指定的app從目標設備上卸載,后邊跟的參數為應用程序的包名
adb uninstall -k <package name>???
將包名指定的app從目標設備上卸載, 但是保留配置文件和緩存
adb push <local> <remote>???
將本機的文件或目錄拷貝到目標設備的文件系統(tǒng)中
adb pull <remote> [<local>]?
將目標設備中的文件或目錄拷貝到本機中
adb shell
進入目標設備的Linux?Shell環(huán)境, 在該環(huán)境中可以執(zhí)行一些Linux命令.如在Linux Shell環(huán)境中執(zhí)行ps可以查看android設備中運行的所有進程.在Linux Shell環(huán)境中執(zhí)行exit可以退出Linux Shell環(huán)境
adb shell dumpsys activity
列出目標設備上的activity棧(back stack)和任務(task)的信息, 還有其他組件的一些信息和一些關于進程的信息
adb shell dumpsys packages
列出一些系統(tǒng)信息和所有應用的信息。這個命令的輸出很龐大,在三星nexus上的輸出有12000多行。這些信息
都非常詳細,包括Features,Activity Resolver Table等。以下是輸出的主要信息:
[plain]?view plain?copy ?adb shell pm list permissions
? ? ? ? ?列出目標平臺上的所有權限
adb shell pm list packages
列出目標設備上安裝的所有app的包名
adb shell pm list features
? ? ? ? 列出目標設備上的所有feature
使用adb命令啟動一個Activity
[plain]?view plain?copy屏幕截圖, 并使用perl命令保存截圖
解鎖屏幕
注: ?所有以"adb shell"開頭的命令,都可以先執(zhí)行adb shell命令進入目標設備的Linux Shell環(huán)境, 然后在目標設備的Linux Shell中再執(zhí)行"adb shell"之后的命令.如adb shell dumpsys activity, 可以先執(zhí)行adb shell, 然后再Linux Shell中再執(zhí)行dumpsys activity
二 ? ?adb命令中用于確定目標設備的參數
adb命令有三個重要的參數,當本機上連接了兩個或以上的android設備時,這三個參數就有用武之地了:
-d ?說明adb命令的目標設備是唯一連接到adb的真機
-e ?說明adb命令的目標設備是唯一連接到adb的模擬器-s ?<specific device> 指定adb命令的目標設備
以下為這三個參數的應用舉例:
adb -d shell
進入唯一連接到adb的真機的Linux Shell環(huán)境
adb -e install weibo.apk
將weibo.apk安裝到唯一連接到adb的模擬器上
adb -s emulator-5554 push weibo.apk /sdcard/weibo.apk ?
將weibo.apk文件復制到emulator-5554的/sdcard/weibo.apk位置
三 ? ?使用adb命令行的優(yōu)勢
? ? ? ? 盡管現在的用戶操作以圖形界面為主,但是在一些情況下, 命令行具有圖形界面沒有的優(yōu)勢, 尤其是對于開發(fā)人員, 命令行能提高效率.下面舉例說明:?
1 ?快速卸載app
在android開發(fā)過程中, 在把程序發(fā)布到手機上進行測試時, 有時必須要卸載以前的版本以刪除原來的數據,此時只要在命令行中輸入
adb uninstall <包名>?即可卸載, 而在手機上卸載, 要經過如下步驟:
設置 --> 應用程序 --> 管理應用程序 --> 在列表中找到要卸載的程序 --> 點擊要卸載的應用程序 --> 卸載
2 ?快速刪除目錄(文件夾)
?如果程序在sd卡上創(chuàng)建了目錄MyApp,在該目錄中有數據庫和一些其他文件,在將程序發(fā)布到手機上測試時, 需要刪除原來創(chuàng)建的目錄再重新創(chuàng)建.這時只需要執(zhí)行以下命令:
adb shellcd /mnt/sdcard
rm -r MyApp這樣的話就不必再在文件瀏覽器中尋找這個目錄并刪除它?.?
?
總結
以上是生活随笔為你收集整理的Android开发中adb命令的常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate Validator用
- 下一篇: Async/Await替代Promise