HierarchyViewer不能連接真機的問題
檢查一臺android手機是否已經(jīng)打開了View Server的命令:
adb shell service call window 3
如果返回的是
表示View Server 處于關閉狀態(tài)茄猫;
如果返回的是
Result: Parcel(00000000 00000001 '........')
說明View Server處于打開狀態(tài)孵班;
打開View Server命令:
adb shell service call window 1 i32 4939
但是前提是鄙漏,該設備可以打開View Server
反之,如果關閉View Server:
adb shell service call window 2 i32 4939
adb offline問題
在cmd執(zhí)行命令:
adb devices
出現(xiàn)如下圖所示的結果:
然后執(zhí)行啟動服務操作:
adb kill-server
adb start-server
結果還是出現(xiàn)上圖結果腹鹉;
查看當前adb的版本信息:
adb version
看到當前的版本是1.0.26藏畅,在網(wǎng)上查找資料說是,版本太低導致的問題种蘸;
然后升級當前adb的版本:
android update adb
此時查看adb版本墓赴,實際結果還是1.0.26,這一塊很是費解航瞭,但是在網(wǎng)上找資料說是可以在adb.exe所在目錄下執(zhí)行操作诫硕,然后抱著試試的態(tài)度試一下:
adb version
結果:
可以看到當前版本已經(jīng)是1.0.39了,又嘗試了查看當前設備的命令結果:
由上面的命令我們可以看到刊侯,server version(26) 不匹配client(39)章办,所以我們找到了offline的原因了,就是因為adb服務版本太低導致滨彻;但是我嘗試了刪除環(huán)境變量的配置在非adb.exe目錄下始終查出來adb的版本是1.0.26藕届,至于這個問題暫時不清楚(后面再查資料);
ADB的命令列表
ADB命令 | 命令描述 | 參數(shù)含義 | 備注 |
---|---|---|---|
adb kill-server | 殺死當前的服務 | 無 | 無 |
adb start-server | 開始adb服務 | 無 | 無 |
adb shell dumpsys activity l (findstr/grep) "a" | 查詢當前設備堆棧中的Activity | a表示Activity的名稱 | 無 |
adb install [-s/-r] <apkfile> | 安裝apk文件 | apkfile表示apk的本地路徑亭饵,如果不在當前目錄休偶,就是用絕對路徑;-s表示重新安裝,保留數(shù)據(jù)和緩存文件辜羊;-s表示安裝到sd卡 | findstr在win系統(tǒng)踏兜;grep在linux系統(tǒng) |
adb uninstall [-k] <package> | 卸載app | package表示要卸載的app的包名;-k表示保留數(shù)據(jù)和緩存文件 | 無 |
adb shell pm list packages [[-s/-3] l (findstr/grep pkgname)] | 查詢所有安裝的app包名 | -s表示系統(tǒng)應用八秃;-3表示第三方應用碱妆;(findstr/grep)表示查詢;pkgname表示包名的模糊關鍵字 | findstr在win系統(tǒng)昔驱;grep在linux系統(tǒng) |
adb shell pm clear <packagename> | 清除應用的數(shù)據(jù)和緩存 | packagename表示包名 | 無 |
adb shell am start -n <pkgname>/<activitypath> | 啟動應用 | pkgname表示包名疹尾;activitypath表示帶.的路徑,如果是全路徑不需要. | 無 |
adb shell am force-stop <pkgname> | 強制停止應用 | pkgname表示包名 | 無 |
adb logcat | 查看日志 | 無 | ctrl+c結束 |
adb reboot | 重啟 | 無 | 無 |
adb get-serialno | 獲取序列號 | 無 | 無 |
adb shell cat /sys/class/net/wlan0/address | 獲取mac地址 | 無 | 無 |
adb shell getprop ro.product.model | 查看設備型號 | 無 | 無 |
adb shell getprop ro.build.version.release | 查看Android系統(tǒng)版本 | 無 | 無 |
adb shell wm size | 查看屏幕分辨率 | 無 | 無 |
adb shell wm density | 查看屏幕密度 | 無 | 無 |
adb nodaemon server | 查看adb綁定的端口 | 無 | netstat -ano l findstr “5037” |
注:命令中的 l 實際上表示的是字符 |
以上列出了adb比較常用的命令骤肛,還有很多的命令纳本,我們可以參考awesome-adb,命令很齊全腋颠。
Genymotion操作
夜神模擬器
解決夜神模擬器連接adb失敗的原因:
將android的sdk目錄下的adb.exe復制帶夜神安裝目錄下替換掉nox_adb.exe