Android am命令使用


一、開啟Activity、服務、廣播

1.開啟Activity、服務、廣播基礎知識

通過adb shell,可以使用activity manager(arm)工具來執行不同的系統操作,如開啟一個action,開啟一個activity、強制停止一個線程、修改設備屏幕屬性等等,adb shell命令格式如下:

am <command>

1)intent

        intent可以理解為不同組件通信的媒介或者信使;

        intent可以啟動一個Activity,也可以啟動一個Service,好可以發起一個廣播Broadcast

        通過intent,你的程序可以像Android表達某種請求或者意願,Android會根據意願的內容選擇適當的組件來完成請求

Intent

說明

Am參數

component 組件名稱  格式為:包名/類名 -n
action 指定Intent的執行動作,比如調用撥打電話組件 -a
data_url 表示與動作要操縱的數據 -d
category categary是一個字符串,提供了額外的信息,有關於能夠處理這個Intent對象的組件種類 -c
extra 傳遞給Intent的額外數據,以Bundle的形式定義,就是一些鍵值對 -e
mime_type MIME類型 -t
flags 各種類型的flag,很多是用來指定Android系統如何啟動activity,還有啟動了activity后如何對待他 -f
package 包名 -p

2)啟動Activity

#啟動界面

adb shell am start [參數] <INTENT>

參數

說明

-D 開啟調試模式
-W 等待啟動完成
--start-profile <file> 開始分析器和發送結果(文件)
--sampling INTERVAL 使用樣本分析 間隔:微秒
樣品(使用—start-profiler)之間
-P <FILE> 應用空閑下來后,停止profile
-R COUNT 重復活動推出<統計>次。每個重復之前,活動將會結束
-S 組織目標應用開始前的活動
--opengl-trace 啟用跟蹤OpenGL函數
[—user <USER_ID> | current] 指定哪些用戶運行,如果不指定則使用當前用戶

3)啟動和停止服務

#啟動服務

adb shell am startservice [參數] <INTENT>

#停止服務

adb shell am stopservice [參數] <INTENT>
參數 說明
--user <USER_ID> | current 指定哪些用戶運行,如果不指定則使用當前用戶

4)啟動廣播

#啟動廣播

adb shell am broadcast [參數] <INTENT>
參數 說明
--user <USER_ID> | current 指定哪些用戶運行,如果不指定則使用當前用戶

 

 

二、內存與進程操作

1.內存操作

獲取heap文件:adb shell am dumpheap [參數] <process>

參數 說明
--user <USER_ID> | current 指定哪些用戶運行,如果不指定則使用當前用戶
-n 獲取native heap而不是managed heap

例如:

adb shell am dumpheap com.android.browser /data/local/tmp/test.hprof

#獲取內存快照(后綴名必需為.hprof)

使用adb pull /data/local/tmp/test.hprof e:\命令將testr.hprof文件保存到電腦本地

使用命令:hprof-conv e:\test.hprof e:\test1.hprof進行文件轉化

然后就可以使用mat工具對內存進行查看分析

2.進程操作

adb shell am force-stop [參數] <process>

#強制停止應用(process=包名)

adb shell am kill [參數] <process>

#停止后台單個進程

adb shell am kill-all

#停止后台所進程

 

三、調試相關操作

1.性能相關

截圖來自極客學院

image

Traceview是android平台配備一個很好的性能分析的工具。它可以通過圖形化的方式讓我們了解我們要跟蹤的程序的性能,並且能具體到method。

2.監聽異常

監聽crash和ANR:adb shell monitor [options]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM