Android 之 ADB基本命令

ADB (Android Debug Bridge) 方便開發(fā)調(diào)試。。。

ADB環(huán)境變量配置

  • 找到文件 sdk 下的 tools 和 platform-tools ,并復(fù)制其路徑
  • 新建系統(tǒng)變量,命名為 ADB_HOME,并將上述兩個路徑分別導(dǎo)入,中間用;隔開
  • 打開Path變量,輸入%Android_ADB%
  • 重啟AndroidStudio打開終端,輸入 adb ,出現(xiàn)幫助信息,完成配置
  • adb基本語法
    adb [-d|-e|-s <serialNumber>] <command>
    • -d,-e -s意義
關(guān)鍵字 描述
-d 指定當(dāng)前唯一通過 USB 連接的 Android 設(shè)備為命令目標(biāo)
-e 指定當(dāng)前唯一運(yùn)行的模擬器為命令目標(biāo)
-s 指定相應(yīng) 序列號(serialNumber)的設(shè)備/模擬器為命令目標(biāo)
如果只有一個設(shè)備/模擬器連接時,可以省略掉[-d|-e|-s <serialNumber>] 這一部分,直接使用adb <command>
如果有多個設(shè)備/模擬器連接時,最方便的就是用-s 指定相應(yīng) 序列號(serialNumber)的設(shè)備/模擬器為命令目標(biāo)
  • adb序列號的獲取$ adb get-serialno

    獲取設(shè)備序列號

  • 通過指定序列號獲取設(shè)備版本$ adb -s 序列號 version

    獲取設(shè)備版本

以下命令按照只有一個設(shè)備連接時的操作(如有多個設(shè)備可按照上面指定)
  • 獲取設(shè)備序列號$ adb get-serialno
  • 查看版本$ adb version
  • 查看已連接的設(shè)備與莫模擬器$ adb devices
  • 安裝一個APK$ adb install <apkfile>
關(guān)鍵字 描述
-r 允許覆蓋安裝。
-s 將應(yīng)用安裝到 sdcard
-d 允許降級覆蓋安裝
  • 安裝結(jié)果Success成功Failure失敗

  • 保留數(shù)據(jù)和緩存文件,重新安裝$ adb install -r adbDemo.apk

  • 安裝到SD卡$ adb install -s adbDemo.apk

  • 安裝時:

    • 當(dāng)前目錄下:$ adb install adbDemo.apk
    • 不在當(dāng)前目錄下:$ adb install D:\Demo\adbDemo.apk
  • 卸載APK文件$ adb uninstall <package>
    • 直接完全卸載一個APK$ adb uninstall com.android.adbdemo
    • 卸載APK但是保留數(shù)據(jù)和緩存文件$ adb uninstall -k com.android.adbdemo
  • 獲取MAC地址$ adb shell cat/sys/class/net/wlan0/address
  • 查看設(shè)備型號$ adb shell getprop ro.product.model
  • 查看Android系統(tǒng)版本$ adb shell getprop ro.build.version.release
  • 查看設(shè)備屏幕分辨率$ adb shell wm size
  • 查看屏幕密度$ adb shell wm density
  • 查看應(yīng)用列表的基本命令格式是adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
    關(guān)鍵字 描述
    -f 顯示應(yīng)用關(guān)聯(lián)的 apk 文件
    -d 只顯示禁用( disabled) 的應(yīng)用
    -e 只顯示 啟用(enabled) 的應(yīng)用
    -s 只顯示系統(tǒng)應(yīng)用
    -3 只顯示第三方應(yīng)用
    -i 顯示應(yīng)用的 安裝程序(installer)
    -u 包含已卸載應(yīng)用
    -<FILTER> 包名包含 <FILTER> 字符串
    • 列出手機(jī)裝的所有APP的包名$ adb shell pm list packages
    • 列出除了系統(tǒng)應(yīng)用的第三方應(yīng)用包名$ adb shell list packages -3
    • 列出包名包含某字符串的應(yīng)用包名$ adb shell list packages adbdemo
      • 也可以根據(jù)包名實(shí)現(xiàn)過濾,不想顯示包含某字段包名的應(yīng)用(過濾關(guān)鍵字grep)$ adb shell pm list packages | grep adbdemo
  • 查看某個應(yīng)用的啟動入口Activity$ adb shell dumpsys package
  • 啟動指定的某個Activity(adb shell am start -n package(包名)/launch activity(目標(biāo)Activityl路徑))
    • adb shell am start -n com.test.pack/com.test.pack.TestActivity
  • 清除應(yīng)用數(shù)據(jù)緩存$ adb shell pm clear <packegename>

    *如:$ adb shell pm clear com.android.adbdemo

  • 強(qiáng)行停止應(yīng)用(一般用于應(yīng)用卡死時)$ adb shell force -stop <packagename>

    *如:$ adb shell force -stop com.android.adbdemo

  • 啟動/停止Server(一般這兩個命令基本不會用到)
    • 啟動$ adb start-server
    • 停止$ adb kill-server
  • 抓取手機(jī)日志
    • adb bugreport
  • 導(dǎo)出手機(jī)中已安裝的apk(如:com.test.pack為我需要導(dǎo)出的應(yīng)用的包名)
    • adb shell pm path com.test.pack拿到對應(yīng)的路徑(如:/system/priv-app/DeviceTest/DeviceTest.apk
    • adb pull /system/priv-app/DeviceTest/DeviceTest.apk C:\Users\Administrator\Desktop\將對應(yīng)的路徑下的拉出來到指目錄就可
  • 發(fā)送文件到設(shè)備(本地文件C:\Users\Administrator\Desktop\text.txt,設(shè)備上的路徑/sdcard/test/)
    • adb push C:\Users\Administrator\Desktop\text.txt /sdcard/test/
  • 設(shè)備目錄下所有文件 拉出來
    • adb pull /sdcard/test/
  • adb 模擬發(fā)送廣播
    • adb shell am broadcast [-a][-d][-t][-a][-a][-a]...
    • eg:adb shell am broadcast -a "com.action.TEST" --es str "你好,我的祖國!"(廣播Action:"com.action.TEST")
    關(guān)鍵字 描述
    -a <ACTION>
    -d <DATA_URI>
    -t <MIME_TYPE>
    -c <CATEGORY> [-c <CATEGORY>] ...
    -e --es <EXTRA_KEY> <EXTRA_STRING_VALUE> ... --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ... --ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...
    -n <COMPONENT>
    -f <FLAGS>] [<URI>
  • 回到系統(tǒng)主界面$ adb shell am start -n com.android.launcher3/.Launcher
  • 重啟設(shè)備$ adb reboot
  • 將system分區(qū)重新掛載為可讀寫分區(qū)$ adb remount
  • 向設(shè)備輸入文本(光標(biāo)所在的文本框)$ adb shell input text <string>
  • 向設(shè)備發(fā)送按鍵事件$ adb shell input keyevent <event_code>

......

行了,就到這里吧,得趕緊睡覺了。。。。。。。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,319評論 25 708
  • 阿彌陀佛!諸位善知識今天我們繼續(xù)共同學(xué)習(xí)受持《般若波羅蜜多心經(jīng)》!感恩法緣殊勝!感恩法緣大慈!感恩因緣和合 !感恩...
    了悟菩提閱讀 859評論 0 0
  • 游戲廳對每一個孩子,特別是男孩子的誘惑力是無法抗拒的。 我現(xiàn)在還記得自己高中復(fù)課的時候,附近有一個小游戲廳,當(dāng)時都...
    風(fēng)箏_云游四海閱讀 1,107評論 2 3
  • 哪有人不期盼,哪有人不念想,哪有人不追尋,只是我格外更注重堅持我想要尋找的你。 你出現(xiàn)的那一刻,我想我的世界徹底被...
    誌華閱讀 793評論 0 1

友情鏈接更多精彩內(nèi)容