日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Android开发中adb命令的常用方法

發(fā)布時間:2025/3/20 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发中adb命令的常用方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?Android的SDK中提供了很多有用的工具,在開發(fā)過程中如果能熟練使用這些工具,會讓我們的開發(fā)事半功倍.adb是SDK提供的一個常用的命令行工具,全稱為Android Debug Bridge,用于在調(diào)試時連接本機和手機設(shè)備.


??????? adb有很多命令,本文只列出一些常用的命令,要查看所有的adb命令和用法, 可以在命令行中輸入adb進行查看.

這些命令都是根據(jù)本人在開發(fā)過程中的使用進行總結(jié)的,以后如果發(fā)現(xiàn)其他常用的和有用的命令,會加入本文中.下面是一些常用的命令和用法.



一??? adb常用命令


adb start-server??????

??????? 開啟adb服務(wù)


adb kill-server?????????????

??????? 終止adb服務(wù)


adb devices??

??????? 列出所有連接到adb的設(shè)備, 包括真機和模擬器


adb version?????????????????

??????? 顯示adb的版本號


adb install <apk file name>???

將指定的app安裝到唯一連接到adb的設(shè)備上,后邊跟的參數(shù)為安裝包的文件名


adb install -r <apk file name>

??????? 安裝應(yīng)用程序, 但是保留原有應(yīng)用程序的所有數(shù)據(jù)


adb uninstall <package name>

??????? 將包名指定的app從目標設(shè)備上卸載,后邊跟的參數(shù)為應(yīng)用程序的包名


adb uninstall -k <package name>???

將包名指定的app從目標設(shè)備上卸載, 但是保留配置文件和緩存


adb push <local> <remote>???

將本機的文件或目錄拷貝到目標設(shè)備的文件系統(tǒng)中


adb pull <remote> [<local>]?

將目標設(shè)備中的文件或目錄拷貝到本機中


adb shell

進入目標設(shè)備的Linux?Shell環(huán)境, 在該環(huán)境中可以執(zhí)行一些Linux命令.如在Linux Shell環(huán)境中執(zhí)行ps可以查看android設(shè)備中運行的所有進程.在Linux Shell環(huán)境中執(zhí)行exit可以退出Linux Shell環(huán)境


adb shell dumpsys activity

列出目標設(shè)備上的activity棧(back stack)和任務(wù)(task)的信息, 還有其他組件的一些信息和一些關(guān)于進程的信息


adb shell dumpsys packages

列出一些系統(tǒng)信息和所有應(yīng)用的信息。這個命令的輸出很龐大,在三星nexus上的輸出有12000多行。這些信息

都非常詳細,包括Features,Activity Resolver Table等。以下是輸出的主要信息:

[plain]?view plain?copy ?
  • <span?style="font-family:SimSun;font-size:14px;">Verifiers:??
  • ??
  • ??
  • ????...??
  • ??
  • Libraries:??
  • ??
  • ????
  • ????...??
  • ??
  • Features:??
  • ??
  • ???
  • ????...??
  • ??
  • Activity?Resolver?Table:??
  • ??
  • ??Full?MIME?Types:??
  • ??
  • ????...??
  • ??
  • ??MIME?Typed?Actions:??
  • ??
  • ????...??
  • ??
  • Receiver?Resolver?Table:??
  • ??
  • ??Full?MIME?Types:??
  • ??
  • ??
  • ????...??
  • ??
  • ??Non-Data?Actions:??
  • ??
  • ????...??
  • ??
  • Service?Resolver?Table:??
  • ??
  • ??Full?MIME?Types:??
  • ??
  • ????????
  • ????...??
  • ??
  • ??Base?MIME?Types:??
  • ??
  • ??
  • ????...??
  • ??
  • ??Non-Data?Actions:??
  • ??
  • ??
  • ????...??
  • ??
  • ??MIME?Typed?Actions:??
  • ??
  • ????...??
  • ??
  • Preferred?Activities?User?0:??
  • ??
  • ??
  • ????...??
  • ??
  • Permissions:??
  • ??
  • ??
  • ????...??
  • ??
  • Registered?ContentProviders:??
  • ??
  • ????...???
  • ??
  • ContentProvider?Authorities:??
  • ??
  • ????...??
  • ??
  • Shared?users:??
  • ??
  • ????...??
  • ??
  • ??
  • Settings?parse?messages:??
  • ??
  • Read?completed?successfully:?149?packages,?12?shared?uids??
  • ??
  • ????...??
  • ??
  • Package?warning?messages:??
  • ??
  • ????...</span>??


  • adb shell pm list permissions

    ? ? ? ? ?列出目標平臺上的所有權(quán)限


    adb shell pm list packages

    列出目標設(shè)備上安裝的所有app的包名


    adb shell pm list features

    ? ? ? ? 列出目標設(shè)備上的所有feature



    使用adb命令啟動一個Activity

    [plain]?view plain?copy
  • <span?style="font-family:SimSun;font-size:14px;">adb?shell?am?start?PACKAGE_NAME/ACTIVITY_IN_PACKAGE??
  • adb?shell?am?start?PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY??
  • ??
  • #?example??
  • adb?shell?am?start?-n?com.growingwiththeweb.example/.MainActivity??
  • adb?shell?am?start?-n?com.growingwiththeweb.example/com.growingwiththeweb.example.MainActivity</span>??


  • 屏幕截圖, 并使用perl命令保存截圖



    解鎖屏幕





    注: ?所有以"adb shell"開頭的命令,都可以先執(zhí)行adb shell命令進入目標設(shè)備的Linux Shell環(huán)境, 然后在目標設(shè)備的Linux Shell中再執(zhí)行"adb shell"之后的命令.如adb shell dumpsys activity, 可以先執(zhí)行adb shell, 然后再Linux Shell中再執(zhí)行dumpsys activity



    二 ? ?adb命令中用于確定目標設(shè)備的參數(shù)


    adb命令有三個重要的參數(shù),當(dāng)本機上連接了兩個或以上的android設(shè)備時,這三個參數(shù)就有用武之地了:

    -d ?說明adb命令的目標設(shè)備是唯一連接到adb的真機

    -e ?說明adb命令的目標設(shè)備是唯一連接到adb的模擬器

    -s ?<specific device> 指定adb命令的目標設(shè)備


    以下為這三個參數(shù)的應(yīng)用舉例:

    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文件復(fù)制到emulator-5554的/sdcard/weibo.apk位置


    注: ?根據(jù)我自己的測試,當(dāng)用-d -e 或者-s 指定目標設(shè)備時,命令有時會執(zhí)行的比較慢,不知道什么原因



    三 ? ?使用adb命令行的優(yōu)勢


    ? ? ? ? 盡管現(xiàn)在的用戶操作以圖形界面為主,但是在一些情況下, 命令行具有圖形界面沒有的優(yōu)勢, 尤其是對于開發(fā)人員, 命令行能提高效率.下面舉例說明:?


    1 ?快速卸載app


    在android開發(fā)過程中, 在把程序發(fā)布到手機上進行測試時, 有時必須要卸載以前的版本以刪除原來的數(shù)據(jù),此時只要在命令行中輸入

    adb uninstall <包名>?

    即可卸載, 而在手機上卸載, 要經(jīng)過如下步驟:

    設(shè)置 --> 應(yīng)用程序 --> 管理應(yīng)用程序 --> 在列表中找到要卸載的程序 --> 點擊要卸載的應(yīng)用程序 --> 卸載


    2 ?快速刪除目錄(文件夾)


    ?如果程序在sd卡上創(chuàng)建了目錄MyApp,在該目錄中有數(shù)據(jù)庫和一些其他文件,在將程序發(fā)布到手機上測試時, 需要刪除原來創(chuàng)建的目錄再重新創(chuàng)建.這時只需要執(zhí)行以下命令:

    adb shell
    cd /mnt/sdcard
    rm -r MyApp
    這樣的話就不必再在文件瀏覽器中尋找這個目錄并刪除它?.?
    ?

    總結(jié)

    以上是生活随笔為你收集整理的Android开发中adb命令的常用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。