最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Android是怎么調(diào)試的-ADB篇

2020-06-17 12:16 作者:無情劍客Burning  | 我要投稿

ADB 即 Android Debug Bridge,Android調(diào)試橋。ADB工作方式比較特殊,采用監(jiān)聽Socket TCP 端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關(guān)的網(wǎng)絡(luò)端口。熟練使用 ADB 命令將會大大提升開發(fā)效率。 ADB 的命令有很多,今天就來總結(jié)下我在TV開發(fā)常用到的一些 ADB 命令。

adb install 一共有l(wèi)rtsdg六個選項

-l 鎖定該應(yīng)用程序 -r 替換已存在的應(yīng)用程序,也就是說強制安裝 -t 允許測試包 -s 把應(yīng)用程序安裝到sd卡上 -d 允許進行將見狀,也就是安裝的比手機上帶的版本低 -g 為應(yīng)用程序授予所有運行時的權(quán)限 顯示系統(tǒng)中全部設(shè)備: adb devices 這個命令是查看當前連接的設(shè)備, 連接到計算機的android設(shè)備或者模擬器將會列出顯示

2.開啟ADB服務(wù): adb start-server

3.關(guān)閉ADB服務(wù): adb kill-server 停止 adb 服務(wù)

4.連接設(shè)備: adb connect 192.168.1.61 如果是USB連接,直接會連接ADB,如果是想通過網(wǎng)絡(luò)連接(有線或者無線),則需要在同一個局域網(wǎng),通過IP連接。上面192.168.1.61替換成想要連接設(shè)備的IP即可。

5.斷開設(shè)備: adb disconnect 192.168.1.61

6.安裝一個apk adb install -r (APK路徑) -r 代表如果apk已安裝,重新安裝apk并保留數(shù)據(jù)和緩存文件。apk路徑則可以直接將apk文件拖進cmd窗口,記得加空格。

7.直接卸載: adb uninstall (apk包名) 卸載 app 但保留數(shù)據(jù)和緩存文件: adb uninstall -k (apk包名)

8.列出手機裝的所有app的包名: adb shell pm list packages

列出系統(tǒng)應(yīng)用的所有包名: adb shell pm list packages -s

列出除了系統(tǒng)應(yīng)用的第三方應(yīng)用包名: adb shell pm list packages -3

9.清除應(yīng)用數(shù)據(jù)與緩存: adb shell pm clear (apk包名)

10.啟動應(yīng)用 adb shell am start -n com.helloshan.demo/.MianActivity 此處無圖,要知道具體的軟件的包名及入口才可以打開。

11.強制停止應(yīng)用 需要強制停止應(yīng)用,則執(zhí)行以下命令: adb shell am force-stop (apk包名)

12.刪除系統(tǒng)應(yīng)用: adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫)。 adb shell cd system/app/ ls rm *.apk ls命令可以查看文件夾下的所有文件

12.殺死某個進程:(三個步驟) adb shell ps kill pid ps是查看進程命令,kill pid 你想結(jié)束的進程

13.pull和push文件 adb push (文件路徑) (想要push的路徑)

adb pull (文件路徑) (想要pull的路徑)

adb push/pull 之前有些設(shè)備要獲取權(quán)限先,14條講解。

14.獲取文件的讀寫權(quán)限: adb remount 有些設(shè)備并不能直接adb remount,必須要先以root身份進入,先執(zhí)行adb root,在執(zhí)行adb remount

15.查看日志: adb logcat

16.查看屏幕分辨率 adb shell wm size

17.常用操作文件夾命令 操作文件和文件夾有時會出現(xiàn)權(quán)限不夠,Read-only file system。就需要adb remount 操作,獲得權(quán)限。 cd system/sd/data //進入系統(tǒng)內(nèi)指定文件夾 ls //列表顯示當前文件夾內(nèi)容 mkdir xxx //創(chuàng)建xxx的文件夾 rm -r xxx //刪除名字為xxx的文件夾及其里面的所有文件 rm xxx //刪除文件xxx rmdir xxx //刪除xxx的文件夾

18 Selinux adb shell setenforce 0

setenforce 0 :設(shè)置SELinux 成為permissive模式 臨時關(guān)閉selinux的

在eng/userdebug版本中 使用setenforce 命令進行設(shè)置: adb shell setenforce 0 //設(shè)置成permissive 模式 adb shell setenforce 1 //設(shè)置成enforce 模式 注意此方法重啟后失效

在eng/userdebug/user 版本中 使用getenforce 命令查詢當前權(quán)限狀態(tài),如: adb shell getenforce adb shell dumpsys package com.sonymobile.tvout.wifidisplay | grep "CONNECTIVITY_INTERNAL" 19 dm-verity 關(guān)閉在調(diào)試環(huán)境下的dm-verity檢查 adb disable-verity dm-verity: 它是dm(device mapper)的一個target,是一個虛擬塊設(shè)備,專門用于文件系統(tǒng)的校驗 獲取UID的方法:

  1. 1|shell@miki8735_tb_m:/ $ ps | grep hola ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  2. u0_a120 ? 26187 360 ? 1757260 97896 SyS_epoll_ 0000000000 S com.hola.weather

  3. shell@miki8735_tb_m:/ $ cat /proc/26187/status ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  4. Name: ? om.hola.weather

  5. State: ?S (sleeping)

  6. Tgid: ? 26187

  7. Pid: ? ?26187

  8. PPid: ? 360

  9. TracerPid: ?0

  10. Uid: ? ?10120 ? 10120 ? 10120 ? 10120

  11. Gid: ? ?10120 ? 10120 ? 10120 ? 10120

20 top命令是查看CPU利用率的 adb shell top -m 5
21 adb shell am broadcast [options] 作用:發(fā)送一個廣播 adb shell am broadcast -n com.example.myapplication/.ThermalReceive 22 adb shell dumpsys meminfo 顯示內(nèi)存信息

線程(網(wǎng)上大部分的方法都是無法獲得信息的)

通過如下的命令可以查看特定進程的線程信息:

  1. 7Y6DU1I:/ $ ps -T -p 1807 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

運行結(jié)果如下:

USER PID TID PPID VSZ RSS WCHAN ADDR S CMD
u0a232 1807 1807 751 5092496 116012 0 0 S e.myapplication u0a232 1807 1815 751 5092496 116012 0 0 S Jit thread pool u0a232 1807 1820 751 5092496 116012 0 0 S Signal Catcher u0a232 1807 1821 751 5092496 116012 0 0 S ADB-JDWP Connec u0a232 1807 1822 751 5092496 116012 0 0 S HeapTaskDaemon u0a232 1807 1824 751 5092496 116012 0 0 S ReferenceQueueD u0a232 1807 1825 751 5092496 116012 0 0 S FinalizerDaemon u0a232 1807 1826 751 5092496 116012 0 0 S FinalizerWatchd u0a232 1807 1827 751 5092496 116012 0 0 S Binder:18071 u0a232 1807 1828 751 5092496 116012 0 0 S Binder:18072 u0a232 1807 1830 751 5092496 116012 0 0 S Binder:18073 u0a232 1807 1848 751 5092496 116012 0 0 S Profile Saver u0a232 1807 1854 751 5092496 116012 0 0 S RenderThread u0a232 1807 1969 751 5092496 116012 0 0 S queued-work-loo u0a232 1807 2101 751 5092496 116012 0 0 S Binder:18074 u0a232 1807 2568 751 5092496 116012 0 0 S Binder:1807_5

MuMu模擬器連接

找到配制文件myandrovm_vbox86.nemu,可以找到下面這句話 <Forwardingname="ADB_PORT"proto="1"hostip="127.0.0.1"hostport="7555"guestport="5555"/>因此可以使用下面的命令來進行連接 adb connect 127.0.0.1:7555

歡迎關(guān)注我的公眾號:無情劍客,共同探討Android技術(shù)

公眾號:無情劍客


Android是怎么調(diào)試的-ADB篇的評論 (共 條)

分享到微博請遵守國家法律
南皮县| 天峨县| 崇文区| 吉木乃县| 明水县| 瓮安县| 邵武市| 集安市| 营山县| 维西| 新泰市| 嵩明县| 临汾市| 涟源市| 盘山县| 湖口县| 塘沽区| 赤峰市| 烟台市| 视频| 威宁| 长顺县| 扬中市| 崇州市| 定州市| 交口县| 武威市| 阿拉善右旗| 新竹县| 海林市| 苏州市| 崇义县| 都兰县| 布拖县| 林州市| 新疆| 绥阳县| 襄城县| 岳西县| 东山县| 南皮县|