Freeing init memory
那一行前面的時間就是。
adb logcat | grep -i myapp #忽略大小寫。
原因如下:adb logcat findstr 有時候會出現 寫入錯誤,需要設置一下語言編碼CHCP 65001 ,設置為UTF-8編
命令行中,有個命令是chcp,這個命令是用來顯示當前活動代碼頁編號的,
ANSI的編碼環境的代號是936
utf-8編碼的65001
執行:CHCP 65001就設置成utf-8編碼的了
一、把日志輸出到手機指定目錄
其命令為:adb logcat -f / sdcard/zjdata.bredbaby/log/1.txt
二,很多沒用的一起加載,如果只想抓取被測app的日志,就需要對包名進行過濾,使用find過濾包名
adb logcat find | "vchat.A"
常用命令
1、查看adb版本
adb version
2、查詢pc鏈接的所有android 設備
adb devices
3、裝包
如果在電腦D盤下面有個a.apk文件,只需要一行命令就安裝到手機上:
adb install d:/a.apk
如果已經安裝了這個程序,可以通過以下命令覆蓋安裝:adb install -r d:/a.apk
保留數據和緩存文件,重新安裝 apk adb install -r a.apk
安裝包在android設備中
adb shell pm install apk在移動端的路徑
4、卸載包
adb uninstall 包名
卸載軟件但是保留配置和緩存文件:
adb uninstall -k 包名
如果機器上有多個模擬器或真機,需要使用-s命令行參數指定具體的模擬器或真機。例如,下面的命令分別在模擬器和真機上安裝、重新安裝和卸載應用程序。
在emulator-5554模擬器上安裝ebook.apk
adb -s emulator-5554 install ebook.apk
在真機上安裝ebook.apk
adb -s HT9BYL904399 install ebook.apk
在emulator-5554模擬器上重新安裝ebook.apk
adb -s emulator-5554 install -r ebook.apk
在真機上重新安裝ebook.apk
adb -s HT9BYL904399 install -r ebook.apk
在emulator-5554模擬器上卸載ebook.apk(不保留數據和緩沖目錄)
adb -s emulator-5554 uninstall ebook包名
在真機上卸載ebook.apk(保留數據和緩沖目錄)
adb -s HT9BYL904399 uninstall -k ebook包名
5、包管理,如何知道一個app包名呢
包名(Package name)在Android系統中是判斷一個App的唯一標識,不同的App可以有同樣的名字,但是它的包名不可以相同。
例如我們可以自己編譯生成一個App也叫“微信”,但是我們的App的包名不能為com.tencent.mm
(微信的包名為這個),如果指定的包名和微信一致,那么手機上只允許安裝這兩個App中的其中一個。說到這很多人就會有疑問,如果有人惡意做了一個和微信內容一模一樣的App,名字和包名都和微信一樣,那怎么分辨呢?Android中為了防止這樣的情況,還做了一個叫簽名的東西,微信的簽名一般我們是沒有的,所以就可以通過簽名來標識出這款App到底是誰的了。
1、看源代碼。當有源代碼的時候,可以到工程目錄下的 “AndroidManifest.xml”文件下查看package這一項。
2、adb命令查看列出手機裝的所有 app 的包名:
adb shell pm list packages
3.列出系統應用的所有包名:
adb shell pm list packages -s
4.列出除了系統應用的第三方應用包名:
adb shell pm list packages -3
5.推測一個包中可能帶有的關鍵字:
adb shell dumpsys activity | findstr mFocusedActivity
6.清除應用數據與緩存
adb shell pm clear 應用包名
6、文件相關
1、接收電腦文件
語法:adb push local remote
案例:adb push d:/a.txt /sdcard/
把電腦 D 盤下的 a.txt 文件推送到手機 sdcard 目錄下
2、上傳文件到電腦
語法:adb pull remote local
案例:adb pull /sdcard/a.txt d:/ 上傳位於/sdcard/目錄下的 a.txt 文件到電腦的 D 盤根目錄下
7、截屏、錄屏
1.截屏
adb shell screencap /sdcard/a.png
adb shell /system/bin/screencap -p /sdcard/a.png
2.使用adb進行屏幕錄像
adb shell screenrecord /sdcard/a.mp4
通過ctrl+c停止錄制,你可以在sdcard目錄下查看。媽媽再也不擔心我到處找錄制視頻的軟件了。
8、shell
進入shell adb shell
退出shell
exit
9、手機信息收集
獲取序列號
adb get-serialno
獲取 MAC 地址
adb shell cat /sys/class/net/wlan0/address
查看設備型號
adb shell getprop ro.product.model
查看 Android 系統版本
adb shell getprop ro.build.version.release
查看屏幕分辨率
adb shell wm size
查看屏幕密度
adb shell wm density
查看permissions adb shell pm list permissions
查看系統的危險權限dangerous permissions adb shell pm list permissions -d -g
10、adb服務器殺死和啟動
adb kill-server
adb start-server
場景:比如希望移動adb文件夾,或者adb命令得不到想要的內容時
11、與進程相關:
列出當前進程
adb shell ps | findstr 包名
殺死某個包的進程
adb shell am force-stop 包名
12、與性能相關的一些內容
獲取內存:
adb shell dumpsys meminfo 包名
獲取cpu:
adb shell dumpsys cpuinfo | findstr 包名
adb shell top -n 1 | findstr 包名
獲取流暢度相關:
adb shell dumpsys gfxinfo 包名
13、app的啟動停止
如果想在模擬器或真機上運行已安裝的應用程序,除了直接在模擬器或真機上操作外,還可以使用如下的命令直接運行程序。
activity的獲取方式見14條。
在emulator-5554模擬器上運行ebook.apk
adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
在真機上運行ebook.apk
adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
其中Main是ebook.apk的主Activity。相當於Windows應用程序的主窗體或Web應用程序的主頁面。am是shell命令。
14、與Activity操作等相關
1.查看當前顯示的activity adb shell dumpsys activity | findstr "mFocusedActivity"
結果: mFocusedActivity: ActivityRecord{93a4f9 u0 com.youdao.note/.activity2.MainActivity t36}
注意:我們只需要這一部分:com.youdao.note/.activity2.MainActivity即包名+activity
2.找到當前手機內的top Activity:
adb shell dumpsys activity top | findstr ACTIVITY
3.啟動某一個Activity: adb shell am start activity路徑
adb shell am start com.youdao.note/.activity2.MainActivity
15、查看8080端口是哪個應用占用
netstat -ano|findstr "8080"