adb命令 --- 深入 Android 內部

家居 閱讀:- 來源: 2020-03-30 06:53:12

本篇只說一個命令

就是這個

adb shell dumpsys

親,不要急著輸入這個命令

這個命令是:

查看當前手機系統中所有運行的應用的 「四大組件」信息。

通過這個命令,可以讓你在不需要其他「反編譯工具」的幫助下,看到Android 包的信息。

先不要著急輸入這個命令,如果你手快輸入了,那么就會有一大堆信息跑出來了,而且還得讓你等一會兒才能跑完, ???這樣根本沒法看嘛!

當然,基于此,我們可以依次查看手機系統中所有運行的單個組件的信息

adb shell dumpsys activity : 查看ActivityManagerService的所有信息
adb shell dumpsys activity activities : 查看activity組件的信息
adb shell dumpsys activity services : 查看service 組件的信息
adb shell dumpsys activity provides : 查看contentprovider 組件的信息
adb shell dumpsys activity broadcasts : 查看broadcast receiver 組件的信息

除了四大組件,其他的也可以:

adb shell dumpsys activity intents : 查看 intents 信息
adb shell dumpsys activity processes : 查看進程信息

不過,我們常用的命令還是下面這個:

adb shell dumpsys activity top

他只展示正在使用的應用的 activity 信息

比如,我打開了 「瑞幸」app,輸入這個命令,他會展示「瑞幸」app 展示給我們的頁面的信息



很長,我就只截取了一部分,紅色框是輸入的命令,而藍色框對我們有點用

這個藍色框 展示的是當前頁面的 activity的名稱和進程名

下面這個藍色框 則是當前這個activity 的頁面布局啦,而信息多則很大部分是因為布局多。



有沒有發現一個問題,就是再 terminal 內查看這些輸出很累·

累就對了,大多數人看了都累,哈哈~

其實我們可以把這些信息輸出,直接看輸出的內容就行啦。

比如執行命令

adb shell dumpsys activity top > 保存的文件名.后綴

這樣,我們就可以直接看這個保存下來的文件即可。

比如執行


adb shell dumpsys activity top > currentActivity.txt


看,通過 ls 查看到的文件下方多了個

currentActivity.txt

的文件,打開它就可以好好看看了。


再有,這個命令還可以根據包名來查看對應包名的 “包信息”

命令為

adb shell dumpsys package 應用包名

還是以「瑞幸」為例吧

包名是:com.lucky.luckyclient

執行

adb shell dumpsys package com.lucky.luckyclient


把他輸出到文件,看看

adb shell dumpsys package com.lucky.luckyclient > lucky_package.txt


這樣一看,會發現,這個命令就如同 Android的清單文件一樣,列出了 「瑞幸」Android app 的四大組件和權限等信息。


如果你還想查看 某一app 所占用的內存容量

那么,可以使用

adb shell dumpsys meminfo 進程名

來查詢,而一般 進程名 都是 應用的包名,所以,如果我們查詢目前你的Android 手機上 「瑞幸」所占用的內容容量,可以這樣

adb shell dumpsys meminfo com.lucky.luckyclient

結果如圖


總結

建議都敲一遍,輸出的信息可以先不看,就單是體驗輸入命令后輸出的快感就很爽了,有木有。

如果你照著上面的命令敲了一大堆,你會發現你的 terminal 越來越亂了。

好了,如果對深入 反編譯Android 還有點興趣,不妨繼續關注后續文章~,么么噠!

推薦閱讀:華為性價比高的手機

分享至:
0 收藏
甘肃快三