########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
如何使用命令安装卸载应用
示例安装了一个小破站 TV 版
将安装包上传到系统 /tmp 目录
安装 bilibiliTV 版
检查安装后的软件信息
卸载刚安装的 tv
真的建议安装安卓终端模拟器
jackpal.androidterm 包
查看应用程序的详细信息
如何使用命令启动应用程序
在前台运行 app
获取包名和 activity 路径
使用 am 的 start 命令启动 APP
示例使用命令开始比利 TV 版
使用 pm 应用管理工具
pm 简介
应用安装和数据文件的位置不同
检查包的系统状态信息
查看系统功能和支持库信息
测试包与 APK 路径查询
查询
常用查询语法和常用参数
列出所有包
-i 检查包的安装人员
-u 列出包和未安装包的信息
-e 列出启用包
-d 列出禁用包
-s 列出系统包
-3 列出所有第三方包
-f 查看包的安装位置
搜索包
卸载
根据 UID 卸载指定账户应用程序
安装
将 APP 安装到指定 UID 用户下
控制
清除应用数据
停用/禁用/启用
隐藏与恢复应用
默认安装位置
##################################################
如何使用命令安装卸载应用
——————————
示例安装一个小破站 TV 版
%%%%%
将安装包上传到系统 /tmp 目录
如下 看注释:
cmcc_jiangsu:/ # cd /tmp /* 进入 tmp */
cmcc_jiangsu:/tmp # ls /* 此时可以看到没有安装包 */
capture
cmcc_jiangsu:/tmp # exit /* 退出 shell */
C:\Users\byme>adb connect 192.168.0.101 /* 确定连接 */
already connected to 192.168.0.101:5555
C:\Users\byme>adb push D:\download\bilibiliTV\bilibiliTV_1.5.1_dangbei.apk /tmp /* 将 apk 上传到 tmp 目录 */
D:\download\bilibiliTV\bilibiliTV_1.5....d. 3.1 MB/s (20727626 bytes in 6.398s)
C:\Users\byme>adb shell /* 进入系统终端 */
cmcc_jiangsu:/ # cd /tmp /* 进入 tmp */
cmcc_jiangsu:/tmp # ls /* 发现 apk */
capture
cmcc_jiangsu:/tmp # ls
bilibiliTV_1.5.1_dangbei.apk capture
cmcc_jiangsu:/tmp # ls -alh
total 10M
drwxrwxrwt 3 root root 80 2022-07-23 17:21 .
drwxr-xr-x 23 root root 0 2015-01-01 08:00 ..
-rw-r--r-- 1 root root 20M 2022-07-22 23:43 bilibiliTV_1.5.1_dangbei.apk
drwxrwxrwt 2 root root 40 2015-01-01 08:00 capture
cmcc_jiangsu:/tmp #
%%%%%
安装 bilibiliTV 版
cmcc_jiangsu:/tmp # ls /* 看一眼 apk 名字 */
bilibiliTV_1.5.1_dangbei.apk capture
cmcc_jiangsu:/tmp # pm install bilibiliTV_1.5.1_dangbei.apk /* 安装 apk 输入前几个字母就可以按下 TAB 自动补全 */
avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:su
_tmpfs:s0 tclass=file permissive=1
Success
cmcc_jiangsu:/tmp # screencap -p /sdcard/sc/1.png /* 截取屏幕 */
screencap 3
screencap start. screen_type: 1
file path: /sdcard/sc/1.png
new ScreenCatch ok
got video+osd data: 1280 x 720
SkEncodeImage success
screencap end
cmcc_jiangsu:/tmp # ls /sdcard/sc -alh /* 确定截取成功 */
total 282K
drwxrwx--x 2 root sdcard_rw 4.0K 2022-07-20 18:58 .
drwxrwx--x 22 root sdcard_rw 4.0K 2022-07-20 18:56 ..
-rw-rw---- 1 root sdcard_rw 554K 2022-07-23 17:52 1.png
cmcc_jiangsu:/tmp # exit
C:\Users\byme>adb pull /sdcard/sc/1.png D:1.png /* 将截屏下载到 D 盘根目录 */
/sdcard/sc/1.png: 1 file pulled, 0 skipped. 0.3 MB/s (567707 bytes in 1.863s)
C:\Users\byme> start 1.png /* 使用默认图像查看器打开截屏文件 */
看 出现一个云视听小电视:
安装成功:
添加到桌面:
启动成功:
好家伙我竟然在盒子上逛 B 站:
%%%%%
查看安装后的软件信息
我们很轻易的就能获取这个应用的包名叫
com.xiaodianshi.tv.yst 云视听小电视
cmcc_jiangsu:/ # pm list packages -3 /* 查看安装的所有第三方软甲 */
package:com.xiaodianshi.tv.yst /* 这个就是我们刚刚安装的 b 站 */
package:com.mylejia.store
package:com.fengyun.live
package:me.thomastv.rebootupdate
package:com.dangbeimarket
cmcc_jiangsu:/ # pm list packages -i "tv" /* 查看 tv 相关软件的安装信息 */
package:com.xiaodianshi.tv.yst installer=null
package:com.dangbei.tvlauncher installer=null
package:me.thomastv.rebootupdate installer=null
cmcc_jiangsu:/ # pm list packages -f "tv" /* 查看 tv 相关联应用的文件 */
package:/data/app/com.xiaodianshi.tv.yst-7s2x33sktQES0TVqJsQhbA==/base.apk=com.x
iaodianshi.tv.yst
package:/system/app/Dangbei2.apk=com.dangbei.tvlauncher
package:/data/app/me.thomastv.rebootupdate-4SVHakbq9YXs3X7ozxyY0w==/base.apk=me.
thomastv.rebootupdate
cmcc_jiangsu:/ # ls /data/app/com.xiaodianshi.tv.yst-7s2x33sktQES0TVqJsQhbA\=\=
base.apk lib oat
cmcc_jiangsu:/ # ls -alh /data/app/com.xiaodianshi.tv.yst-7s2x33sktQES0TVqJsQhbA\=\=
total 10M
drwxr-xr-x 4 system system 4.0K 2022-07-23 17:44 .
drwxrwxr-x 8 system system 4.0K 2022-07-23 17:44 ..
-rw-r--r-- 1 system system 20M 2022-07-23 17:44 base.apk
drwxr-xr-x 3 system system 4.0K 2022-07-23 17:44 lib
drwxrwx--x 3 system install 4.0K 2022-07-23 17:44 oat
cmcc_jiangsu:/ #
%%%%%
卸载刚刚安装的 tv
cmcc_jiangsu:/ # pm list packages -3 /* 卸载之前的第三方软件 */
package:com.xiaodianshi.tv.yst
package:com.mylejia.store
package:com.fengyun.live
package:me.thomastv.rebootupdate
package:com.dangbeimarket
cmcc_jiangsu:/ # pm uninstall com.xiaodianshi.tv.yst /* 卸载小破站 */
Success
cmcc_jiangsu:/ # pm list packages -3 /* 卸载之后再次查看第三方软件 */
package:com.mylejia.store
package:com.fengyun.live
package:me.thomastv.rebootupdate
package:com.dangbeimarket
cmcc_jiangsu:/ #
——————————
真的推荐安装一个安卓终端模拟器
安卓终端模拟器就相当于 Windows 的 cmd/Xshell 或者 Linux 的 console/terminal
开源地址:
Terminal Emulator for Android Downloadshttps://jackpal.github.io/Android-Terminal-Emulator/
如果访问不了也可以下载我提供的资源 跟上面是一样的:
pan.baidu.com/s/1yw8pzpMviDLjRJRf1IVZ4w
1297
ranchui
%%%%%
jackpal.androidterm 包
我这个包名是 jackpal.androidterm
cmcc_jiangsu:/ # pm list packages -3 /* 安装之前的第三方软件 */
package:com.xiaodianshi.tv.yst
package:com.mylejia.store
package:com.fengyun.live
package:me.thomastv.rebootupdate
package:com.dangbeimarket
cmcc_jiangsu:/ # ls /tmp/Term.apk -alh /* 确定 APK 位置 */
-rw-r--r-- 1 root root 551K 2022-05-28 23:35 /tmp/Term.apk
cmcc_jiangsu:/ # pm install /tmp/Term.apk /* 安装 APK */
avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:su
_tmpfs:s0 tclass=file permissive=1
Success
cmcc_jiangsu:/ # pm list packages -3 /* 安装之后再看 */
package:com.xiaodianshi.tv.yst
package:com.mylejia.store
package:com.fengyun.live
package:me.thomastv.rebootupdate
package:jackpal.androidterm
package:com.dangbeimarket
cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png /* 截个屏 */
screencap 3
screencap start. screen_type: 1
file path: /sdcard/sc/1.png
new ScreenCatch ok
got video+osd data: 1280 x 720
SkEncodeImage success
screencap end
cmcc_jiangsu:/ # exit /* 退出终端 */
C:\Users\byme>adb pull /sdcard/sc/1.png d:1.png /* 获取截屏 */
/sdcard/sc/1.png: 1 file pulled, 0 ski...ed. 2.9 MB/s (1237270 bytes in 0.402s)
C:\Users\byme>start d:1.png /* 打开截屏图像 */
截屏如下:
安卓终端模拟器 可以运行命令:
——————————
查看某个应用的详细信息
使用 dumpsys 的 package 子命令可以查看指定包的详细信息
这边我是在一个小手机上查看安装的旧版本的终端模拟器:
shell@GIONEE_G1605A:/mnt/sdcard $ pm list packages -3 | grep term /* 在第三方应用中搜索包含 term 字样的包 */
package:jackpal.androidterm
shell@GIONEE_G1605A:/mnt/sdcard $ dumpsys package jackpal.androidterm /* 查看终端模拟器应用的详细信息 */
Activity Resolver Table:
Full MIME Types:
*/*:
3d65be5 jackpal.androidterm/.TermHere
a6316ba jackpal.androidterm/.shortcuts.FSNavigator
Wild MIME Types:
*:
3d65be5 jackpal.androidterm/.TermHere
a6316ba jackpal.androidterm/.shortcuts.FSNavigator
Non-Data Actions:
jackpal.androidterm.RUN_SHORTCUT:
af9896b jackpal.androidterm/.RunShortcut
jackpal.androidterm.private.SWITCH_WINDOW:
7e04cc8 jackpal.androidterm/.TermInternal
jackpal.androidterm.OPEN_NEW_WINDOW:
c95d161 jackpal.androidterm/.RemoteInterface
android.intent.action.MAIN:
39be486 jackpal.androidterm/.Term
ea55147 jackpal.androidterm/.shortcuts.AddShortcut
android.intent.action.PICK:
a6316ba jackpal.androidterm/.shortcuts.FSNavigator
jackpal.androidterm.RUN_SCRIPT:
f116d74 jackpal.androidterm/.RunScript
jackpal.androidterm.private.OPEN_NEW_WINDOW:
7e04cc8 jackpal.androidterm/.TermInternal
android.intent.action.CREATE_SHORTCUT:
ea55147 jackpal.androidterm/.shortcuts.AddShortcut
MIME Typed Actions:
android.intent.action.SEND:
3d65be5 jackpal.androidterm/.TermHere
android.intent.action.GET_CONTENT:
a6316ba jackpal.androidterm/.shortcuts.FSNavigator
Permissions:
Permission [jackpal.androidterm.permission.PREPEND_TO_PATH] (57d229d):
sourcePackage=jackpal.androidterm
uid=10128 gids=null type=0 prot=dangerous
perm=Permission{941c312 jackpal.androidterm.permission.PREPEND_TO_PATH}
packageSetting=PackageSetting{c5bbae3 jackpal.androidterm/10128}
Permission [jackpal.androidterm.permission.RUN_SCRIPT] (491ece0):
sourcePackage=jackpal.androidterm
uid=10128 gids=null type=0 prot=dangerous
perm=Permission{d8e4b99 jackpal.androidterm.permission.RUN_SCRIPT}
packageSetting=PackageSetting{c5bbae3 jackpal.androidterm/10128}
Permission [jackpal.androidterm.permission.APPEND_TO_PATH] (1f4fe5e):
sourcePackage=jackpal.androidterm
uid=10128 gids=null type=0 prot=dangerous
perm=Permission{585223f jackpal.androidterm.permission.APPEND_TO_PATH}
packageSetting=PackageSetting{c5bbae3 jackpal.androidterm/10128}
Key Set Manager:
[jackpal.androidterm]
Signing KeySets: 27
Packages:
Package [jackpal.androidterm] (c5bbae3):
userId=10128
pkg=Package{e5a569a jackpal.androidterm}
codePath=/data/app/jackpal.androidterm-1
resourcePath=/data/app/jackpal.androidterm-1
legacyNativeLibraryDir=/data/app/jackpal.androidterm-1/lib
primaryCpuAbi=arm64-v8a
secondaryCpuAbi=null
versionCode=66 targetSdk=11
versionName=1.0.65
splits=[base]
applicationInfo=ApplicationInfo{5d8f70c jackpal.androidterm clone=0}
flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
pkgFlagsEx=[ ]
dataDir=/data/user/0/jackpal.androidterm
supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
timeStamp=2022-07-24 20:02:40
firstInstallTime=2022-07-24 20:02:40
lastUpdateTime=2022-07-24 20:02:40
signatures=PackageSignatures{7ef0855 [c0ea26a]}
installPermissionsFixed=true installStatus=1
pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
declared permissions:
jackpal.androidterm.permission.RUN_SCRIPT: prot=dangerous, INSTALLED
jackpal.androidterm.permission.APPEND_TO_PATH: prot=dangerous, INSTALLED
jackpal.androidterm.permission.PREPEND_TO_PATH: prot=dangerous, INSTALLED
requested permissions:
android.permission.INTERNET
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.ACCESS_SUPERUSER
android.permission.WAKE_LOCK
install permissions:
android.permission.INTERNET: granted=true
android.permission.READ_EXTERNAL_STORAGE: granted=true
android.permission.WRITE_EXTERNAL_STORAGE: granted=true
android.permission.WAKE_LOCK: granted=true
User 0: installed=true hidden=false stopped=false notLaunched=false enabled
=0
gids=[3003]
runtime permissions:
shell@GIONEE_G1605A:/mnt/sdcard $
——————————
如何使用命令启动应用程序
%%%%%
在前台运行 app
先让程序在前台显示 不要黑屏不要切换到后台:
%%%%%
获取包名和 activity 路径
此时可以使用命令获取信息了
如果你在 cmd :
adb shell dumpsys window windows | findstr “Current”
如果你在终端中:
shell@GIONEE_G1605A:/ $ dumpsys window windows | grep Current
mCurrentFocus=Window{144ca1f u0 jackpal.androidterm/jackpal.androidterm.Term}
shell@GIONEE_G1605A:/ $
可以从
jackpal.androidterm/jackpal.androidterm.Term
看到包名和启动名:
包名 jackpal.androidterm
启动名 jackpal.androidterm.Term
%%%%%
使用 am 的 start 命令启动 APP
语法格式:
am start package/applicationId.launchActivity
package 是 app 的包名 一般是跟 applicationId 是相同的值 launch activity 是启动 activity 的完整路径
示例 jackpal.androidterm/jackpal.androidterm.Term 中
jackpal.androidterm 是 package
jackpal.androidterm 是 applicationId
Term 是 activity
jackpal.androidterm.Term 是 launch activity
启动 jackpal.androidterm 示例:
shell@GIONEE_G1605A:/ $ am start jackpal.androidterm/jackpal.androidterm.Term
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
AUNCHER] cmp=jackpal.androidterm/.Term }
shell@GIONEE_G1605A:/ $
或者
shell@GIONEE_G1605A:/ $ am start -n jackpal.androidterm/jackpal.androidterm.Term
Starting: Intent { cmp=jackpal.androidterm/.Term }
Warning: Activity not started, its current task has been brought to the front
shell@GIONEE_G1605A:/ $
事实也确实成功了:
——————————
示例使用命令启动哔哩哔哩 TV 版
启动小破站后截一下屏
cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png /* 截个屏 */
screencap 3
screencap start. screen_type: 1
file path: /sdcard/sc/1.png
new ScreenCatch ok
got video+osd data: 1280 x 720
SkEncodeImage success
screencap end
cmcc_jiangsu:/ #
查看当前窗口的 activity 信息:
cmcc_jiangsu:/ # dumpsys window windows | grep Current
mCurrentFocus=Window{d898b33 u0 com.xiaodianshi.tv.yst/com.xiaodianshi.tv.yst.
ui.introduction.IntroductionActivity}
cmcc_jiangsu:/ #
好家伙是真的长:
com.xiaodianshi.tv.yst.ui.introduction.IntroductionActivity
通过命令启动 bilibili tv 版:
cmcc_jiangsu:/ # am start com.xiaodianshi.tv.yst/com.xiaodianshi.tv.yst.ui.introduction.IntroductionActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
AUNCHER] cmp=com.xiaodianshi.tv.yst/.ui.introduction.IntroductionActivity }
cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png
screencap 3
screencap start. screen_type: 1
file path: /sdcard/sc/1.png
new ScreenCatch ok
got video+osd data: 1280 x 720
SkEncodeImage success
screencap end
cmcc_jiangsu:/ #
结果笑死人 启动的只是那个协议对话框:
无奈只好从应用详细信息中筛选:
cmcc_jiangsu:/ # dumpsys package com.xiaodianshi.tv.yst | grep com.xiaodianshi.tv.yst
86a175e com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity filter
d6fb37d
Action: "com.xiaodianshi.tv.yst.uri"
Authority: "com.xiaodianshi.tv.yst": -1
86a175e com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity filter
edb272
Authority: "com.xiaodianshi.tv.yst": -1
8fec73f com.xiaodianshi.tv.yst/com.yst.projection.ProjectionPlayerActivi
tyV2 filter fc90a79
8fec73f com.xiaodianshi.tv.yst/com.yst.projection.ProjectionPlayerActivi
tyV2 filter c6083be
Action: "com.xiaodianshi.tv.yst.uri"
com.xiaodianshi.tv.yst:
eea380c com.xiaodianshi.tv.yst/.ui.main.MainActivity filter 7bfe6c3
Action: "com.xiaodianshi.tv.yst"
com.xiaodianshi.tv.yst.external:
86a175e com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity filter
ea235d4
Action: "com.xiaodianshi.tv.yst.external"
com.xiaodianshi.tv.yst.projection.entry:
c15b555 com.xiaodianshi.tv.yst/com.yst.projection.entry.ProjectionEntryA
ctivity filter 302c1f
Action: "com.xiaodianshi.tv.yst.projection.entry"
eea380c com.xiaodianshi.tv.yst/.ui.main.MainActivity filter 7bfe6c3
Action: "com.xiaodianshi.tv.yst"
eea380c com.xiaodianshi.tv.yst/.ui.main.MainActivity filter 2d6db40
73c4b6a com.xiaodianshi.tv.yst/com.bilibili.opd.app.bizcommon.sentinel.s
ession.ChildProcessSessionBroadcastReceiver filter 8147f27
1a2985b com.xiaodianshi.tv.yst/.ui.transition.PreassembleBroadcastReceiv
er filter c071441
e08c8f8 com.xiaodianshi.tv.yst/.video.service.YstMediaButtonReceiver fil
ter 2759de6
1a2985b com.xiaodianshi.tv.yst/.ui.transition.PreassembleBroadcastReceiv
er filter c071441
ec951d1 com.xiaodianshi.tv.yst/.video.service.YstMediaService filter bd3
4f28
Permission [com.xiaodianshi.tv.yst.permission.BLKV] (8352e34):
sourcePackage=com.xiaodianshi.tv.yst
perm=Permission{b4bb436 com.xiaodianshi.tv.yst.permission.BLKV}
packageSetting=PackageSetting{7e85f37 com.xiaodianshi.tv.yst/10030}
com.xiaodianshi.tv.yst/.provider.TvSearchSuggestionProvider:
Provider{67d7ca4 com.xiaodianshi.tv.yst/.provider.TvSearchSuggestionProvider
}
com.xiaodianshi.tv.yst/com.bilibili.lib.media.resolver.resolve.MediaResolvePro
vider:
Provider{a403a0d com.xiaodianshi.tv.yst/com.bilibili.lib.media.resolver.reso
lve.MediaResolveProvider}
com.xiaodianshi.tv.yst/androidx.lifecycle.ProcessLifecycleOwnerInitializer:
Provider{216ddc2 com.xiaodianshi.tv.yst/androidx.lifecycle.ProcessLifecycleO
wnerInitializer}
com.xiaodianshi.tv.yst/androidx.core.content.FileProvider:
Provider{159b7d3 com.xiaodianshi.tv.yst/androidx.core.content.FileProvider}
com.xiaodianshi.tv.yst/com.bilibili.lib.okdownloader.internal.db.DownloadDatab
aseProvider:
Provider{967bf10 com.xiaodianshi.tv.yst/com.bilibili.lib.okdownloader.intern
al.db.DownloadDatabaseProvider}
com.xiaodianshi.tv.yst/com.bilibili.lib.mod.ModResourceProvider:
Provider{3c36a09 com.xiaodianshi.tv.yst/com.bilibili.lib.mod.ModResourceProv
ider}
com.xiaodianshi.tv.yst/com.bilibili.xpref.XprefProvider:
Provider{79140e com.xiaodianshi.tv.yst/com.bilibili.xpref.XprefProvider}
com.xiaodianshi.tv.yst/com.bilibili.base.ipc.IPCActivityStateProvider:
Provider{87dfe2f com.xiaodianshi.tv.yst/com.bilibili.base.ipc.IPCActivitySta
teProvider}
com.xiaodianshi.tv.yst/com.bilibili.lib.account.AuthProvider:
Provider{871bc3c com.xiaodianshi.tv.yst/com.bilibili.lib.account.AuthProvide
r}
com.xiaodianshi.tv.yst/com.bilibili.app.lib.modx.ModImageContentProvider:
Provider{22f9dc5 com.xiaodianshi.tv.yst/com.bilibili.app.lib.modx.ModImageCo
ntentProvider}
com.xiaodianshi.tv.yst/com.coocaa.historylib.HistoryContentProvider:
Provider{bb6631a com.xiaodianshi.tv.yst/com.coocaa.historylib.HistoryContent
Provider}
com.xiaodianshi.tv.yst/com.coocaa.historylib.CollectContentProvider:
Provider{ef64e4b com.xiaodianshi.tv.yst/com.coocaa.historylib.CollectContent
Provider}
com.xiaodianshi.tv.yst/com.bilibili.infra.base.provider.InfraInitProvider:
Provider{3bc6028 com.xiaodianshi.tv.yst/com.bilibili.infra.base.provider.Inf
raInitProvider}
[com.xiaodianshi.tv.yst.provider.xpref]:
Provider{79140e com.xiaodianshi.tv.yst/com.bilibili.xpref.XprefProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.fileprovider]:
Provider{159b7d3 com.xiaodianshi.tv.yst/androidx.core.content.FileProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.lifecycle-process]:
Provider{216ddc2 com.xiaodianshi.tv.yst/androidx.lifecycle.ProcessLifecycleO
wnerInitializer}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.modimage]:
Provider{22f9dc5 com.xiaodianshi.tv.yst/com.bilibili.app.lib.modx.ModImageCo
ntentProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.modresource]:
Provider{3c36a09 com.xiaodianshi.tv.yst/com.bilibili.lib.mod.ModResourceProv
ider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.resolver]:
Provider{a403a0d com.xiaodianshi.tv.yst/com.bilibili.lib.media.resolver.reso
lve.MediaResolveProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.okdownloader.provider]:
Provider{967bf10 com.xiaodianshi.tv.yst/com.bilibili.lib.okdownloader.intern
al.db.DownloadDatabaseProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.coocaa.history]:
Provider{bb6631a com.xiaodianshi.tv.yst/com.coocaa.historylib.HistoryContent
Provider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.coocaa.collect]:
Provider{ef64e4b com.xiaodianshi.tv.yst/com.coocaa.historylib.CollectContent
Provider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.TvSearchSuggestionProvider]:
Provider{67d7ca4 com.xiaodianshi.tv.yst/.provider.TvSearchSuggestionProvider
}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.InfraInitProvider]:
Provider{3bc6028 com.xiaodianshi.tv.yst/com.bilibili.infra.base.provider.Inf
raInitProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.IPCActivityStateProvider]:
Provider{87dfe2f com.xiaodianshi.tv.yst/com.bilibili.base.ipc.IPCActivitySta
teProvider}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst.provider.auth]:
Provider{871bc3c com.xiaodianshi.tv.yst/com.bilibili.lib.account.AuthProvide
r}
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
[com.xiaodianshi.tv.yst]
Package [com.xiaodianshi.tv.yst] (7e85f37):
pkg=Package{74796e6 com.xiaodianshi.tv.yst}
codePath=/data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5gw==
resourcePath=/data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5gw==
legacyNativeLibraryDir=/data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5
gw==/lib
applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
dataDir=/data/user_de/0/com.xiaodianshi.tv.yst
com.xiaodianshi.tv.yst.permission.BLKV: prot=signature, INSTALLED
com.xiaodianshi.tv.yst.permission.BLKV
com.xiaodianshi.tv.yst.permission.BLKV: granted=true
[com.xiaodianshi.tv.yst]
path: /data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5gw==/base.apk
[com.xiaodianshi.tv.yst]
cmcc_jiangsu:/ #
没想到运气这么好 才试了第一个就成功了:
cmcc_jiangsu:/ # am start com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
AUNCHER] cmp=com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity }
cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png
screencap 3
screencap start. screen_type: 1
file path: /sdcard/sc/1.png
new ScreenCatch ok
got video+osd data: 1280 x 720
SkEncodeImage success
screencap end
cmcc_jiangsu:/ #
##################################################
使用 pm 应用管理工具
——————————
pm 简介
pm 是 包管理/package manager 简拼
可以使用 pm 工具来执行应用的安装 或查询应用的信息、系统权限、控制应用 pm 工具是 Android 开发与测试过程中必不可少的工具
%%%%%
应用安装与数据文件的位置不同
App 的文件存储和数据目录在不同用户下都是独立的:
/data/user/0 root 用户内部存储位置
/storage/emulated/0/ root 用户外部存储位置
但是同一个 APP 在多用户下却只有一个安装目录:
/data/app 第三方软件安装位置 这是普通用户安装的软件
/system/app 系统预装软件位置 这是系统自带的 app
/system/priv-app 特权 app 位置 这是系统级别的应用
示例请看注释:
cmcc_jiangsu:/ # ls /data/user/0/ /* root 用户的应用数据存储位置 */
android com.android.sharedstoragebackup
android.ext.services com.android.shell
android.ext.shared com.android.statementservice
com.android.backupconfirm com.android.superuser
com.android.bluetooth com.android.systemui
com.android.certinstaller com.android.vpndialogs
com.android.companiondevicemanager com.android.webview
com.android.defcontainer com.cmcc.mid.softdetector
com.android.externalstorage com.dangbei.tvlauncher
com.android.inputdevices com.dangbeimarket
com.android.inputmethod.latin com.droidlogic
com.android.keychain com.droidlogic.BluetoothRemote
com.android.location.fused com.droidlogic.inputmethod.remote
com.android.managedprovisioning com.fengyun.live
com.android.packageinstaller com.iflytek.bt.auto
com.android.pacprocessor com.iflytek.xiri
com.android.providers.downloads com.iflytek.xiri2.system
com.android.providers.media com.mylejia.store
com.android.providers.settings com.tv.kuaisou
com.android.proxyhandler com.xiaodianshi.tv.yst
com.android.se jackpal.androidterm
com.android.settings me.thomastv.rebootupdate
cmcc_jiangsu:/ # ls /data/user/0/com.android.settings/ -alh /* com.android.settings 的数据目录 */
total 14K
drwx------ 6 system system 4.0K 2015-01-01 08:00 .
drwxrwx--x 46 system system 4.0K 2022-07-25 11:24 ..
drwxrws--x 2 system system 4.0K 2015-01-01 08:00 cache
drwxrws--x 2 system system 4.0K 2015-01-01 08:00 code_cache
drwxrwx--x 2 system system 4.0K 2015-01-01 08:00 files
lrwxrwxrwx 1 root root 52 2015-01-01 08:00 lib -> /system/app/SkySettingA
9_jiangsuCMCC_release/lib/arm
drwxrwx--x 2 system system 4.0K 2022-07-25 11:29 shared_prefs
cmcc_jiangsu:/ # ls /data/app /* 用户安装的第三方应用 */
com.dangbeimarket-GvchZCDlwKegHBtoXBQhwg==
com.fengyun.live-829NViyOdL42DNDyYJhxWw==
com.iflytek.xiri-WgYGkZvi6pwHhlca9dWSJw==
com.mylejia.store--X53YUFZXKN1XMhyN9prZw==
com.tv.kuaisou-fI0vFrNXcO_5RNCnl5c-7A==
com.xiaodianshi.tv.yst-KrOFFpsDIBXvgmut74jw_Q==
jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==
me.thomastv.rebootupdate-4SVHakbq9YXs3X7ozxyY0w==
cmcc_jiangsu:/ # ls /system/app /* 系统预装应用 */
Bluetooth
BtAutoConn_release_9.0_V1.0_19_20210827_chinamobile
CertInstaller
CompanionDeviceManager
Dangbei2.apk
ExtShared
GDYD-IPTVSettings-AN9-ALL-DEBUG-1.0.0-20210805-1058.apk
KeyChain
LatinIME
PacProcessor
SecureElement
SkySettingA9_jiangsuCMCC_release
SoftDetector_V5.1.0_20210721_35101_x025_encrypt
Superuser
SystemXiri_release-2.0.4-unsigned_signed_Aligned
Tr069_Service.apk
TvSettings
xiri
cmcc_jiangsu:/ # ls /system/priv-app /* 系统特权应用 */
BackupRestoreConfirmation ManagedProvisioning Shell
DefaultContainerService MediaProvider SkySettings
DownloadProvider PackageInstaller StatementService
ExtServices ProxyHandler SystemUI
ExternalStorageProvider Settings VpnDialogs
FusedLocation SettingsProvider
InputDevices SharedStorageBackup
cmcc_jiangsu:/ #
%%%%%
查看包的系统状态信息
语法:
pm dump 子命令 包名
子命令:
pm dump package [包名] /* 打印服务信息 */
pm dump activity [包名] /* 打印 Activity 信息 */
pm dump meminfo [包名] /* 打印当前内存使用信息 */
pm dump procstats [包名] /* 打印系统内存使用与一段时间内存汇总 */
pm dump usagestats [包名] /* 打印服务器使用状态信息 */
pm dump batterystats [包名] /* 打印电池状态信息 */
不过我的盒子总报错 只好使用 dumpsys 命令:
dumpsys package [包名] /* 打印服务信息 */
dumpsys activity [包名] /* 打印 Activity 信息 */
dumpsys meminfo [包名] /* 打印当前内存使用信息 */
dumpsys procstats [包名] /* 打印系统内存使用与一段时间内存汇总 */
dumpsys usagestats [包名] /* 打印服务器使用状态信息 */
dumpsys batterystats [包名] /* 打印电池状态信息 */
示例查看 终端模拟器 的包信息:
cmcc_jiangsu:/ # dumpsys package jackpal.androidterm
Activity Resolver Table:
Full MIME Types:
*/*:
2c3ec43 jackpal.androidterm/.TermHere filter 4201189
Action: "android.intent.action.SEND"
Category: "android.intent.category.DEFAULT"
Type: "*"
mPriority=0, mOrder=0, mHasPartialTypes=true
e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 801b9cb
Action: "android.intent.action.GET_CONTENT"
Category: "android.intent.category.DEFAULT"
Category: "android.intent.category.OPENABLE"
Type: "*"
mPriority=0, mOrder=0, mHasPartialTypes=true
Wild MIME Types:
*:
2c3ec43 jackpal.androidterm/.TermHere filter 4201189
Action: "android.intent.action.SEND"
Category: "android.intent.category.DEFAULT"
Type: "*"
mPriority=0, mOrder=0, mHasPartialTypes=true
e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 801b9cb
Action: "android.intent.action.GET_CONTENT"
Category: "android.intent.category.DEFAULT"
Category: "android.intent.category.OPENABLE"
Type: "*"
mPriority=0, mOrder=0, mHasPartialTypes=true
Non-Data Actions:
jackpal.androidterm.RUN_SHORTCUT:
abe4bf9 jackpal.androidterm/.RunShortcut filter a41b1af
Action: "jackpal.androidterm.RUN_SHORTCUT"
Category: "android.intent.category.DEFAULT"
jackpal.androidterm.private.SWITCH_WINDOW:
9c2673e jackpal.androidterm/.TermInternal filter 7613353
Action: "jackpal.androidterm.private.SWITCH_WINDOW"
Category: "android.intent.category.DEFAULT"
jackpal.androidterm.OPEN_NEW_WINDOW:
b2f099f jackpal.androidterm/.RemoteInterface filter 7385490
Action: "jackpal.androidterm.OPEN_NEW_WINDOW"
Category: "android.intent.category.DEFAULT"
android.intent.action.MAIN:
7efbaec jackpal.androidterm/.Term filter b79698d
Action: "android.intent.action.MAIN"
Category: "android.intent.category.LAUNCHER"
Category: "android.intent.category.MULTIWINDOW_LAUNCHER"
a8eaeb5 jackpal.androidterm/.shortcuts.AddShortcut filter e7629bc
Action: "android.intent.action.MAIN"
android.intent.action.PICK:
e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 8664c9a
Action: "android.intent.action.PICK"
Category: "android.intent.category.DEFAULT"
jackpal.androidterm.RUN_SCRIPT:
cf9b94a jackpal.androidterm/.RunScript filter ff5658e
Action: "jackpal.androidterm.RUN_SCRIPT"
Category: "android.intent.category.DEFAULT"
jackpal.androidterm.private.OPEN_NEW_WINDOW:
9c2673e jackpal.androidterm/.TermInternal filter e91742
Action: "jackpal.androidterm.private.OPEN_NEW_WINDOW"
Category: "android.intent.category.DEFAULT"
android.intent.action.CREATE_SHORTCUT:
a8eaeb5 jackpal.androidterm/.shortcuts.AddShortcut filter c6f3d45
Action: "android.intent.action.CREATE_SHORTCUT"
MIME Typed Actions:
android.intent.action.SEND:
2c3ec43 jackpal.androidterm/.TermHere filter 4201189
Action: "android.intent.action.SEND"
Category: "android.intent.category.DEFAULT"
Type: "*"
mPriority=0, mOrder=0, mHasPartialTypes=true
android.intent.action.GET_CONTENT:
e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 801b9cb
Action: "android.intent.action.GET_CONTENT"
Category: "android.intent.category.DEFAULT"
Category: "android.intent.category.OPENABLE"
Type: "*"
mPriority=0, mOrder=0, mHasPartialTypes=true
Service Resolver Table:
Non-Data Actions:
jackpal.androidterm.action.START_TERM.v1:
604a0bb jackpal.androidterm/.TermService filter 427ba24
Action: "jackpal.androidterm.action.START_TERM.v1"
Category: "android.intent.category.DEFAULT"
Permissions:
Permission [jackpal.androidterm.permission.PREPEND_TO_PATH] (49399d8):
sourcePackage=jackpal.androidterm
uid=10031 gids=null type=0 prot=dangerous
perm=Permission{c88131 jackpal.androidterm.permission.PREPEND_TO_PATH}
packageSetting=PackageSetting{9a22016 jackpal.androidterm/10031}
Permissions:
Permission [jackpal.androidterm.permission.RUN_SCRIPT] (6d28d97):
sourcePackage=jackpal.androidterm
uid=10031 gids=null type=0 prot=dangerous
perm=Permission{8947b84 jackpal.androidterm.permission.RUN_SCRIPT}
packageSetting=PackageSetting{9a22016 jackpal.androidterm/10031}
Permissions:
Permission [jackpal.androidterm.permission.APPEND_TO_PATH] (f2ff6d):
sourcePackage=jackpal.androidterm
uid=10031 gids=null type=0 prot=dangerous
perm=Permission{c9827a2 jackpal.androidterm.permission.APPEND_TO_PATH}
packageSetting=PackageSetting{9a22016 jackpal.androidterm/10031}
Key Set Manager:
[jackpal.androidterm]
Signing KeySets: 17
Packages:
Package [jackpal.androidterm] (9a22016):
userId=10031
pkg=Package{2286c33 jackpal.androidterm}
codePath=/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==
resourcePath=/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==
legacyNativeLibraryDir=/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ=
=/lib
primaryCpuAbi=armeabi
secondaryCpuAbi=null
versionCode=71 minSdk=4 targetSdk=22
versionName=1.0.70
splits=[base]
apkSigningVersion=1
applicationInfo=ApplicationInfo{e9fcbf0 jackpal.androidterm}
flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
privateFlags=[ DEFAULT_TO_DEVICE_PROTECTED_STORAGE DIRECT_BOOT_AWARE ]
dataDir=/data/user_de/0/jackpal.androidterm
supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
usesLibraries:
org.apache.http.legacy
usesLibraryFiles:
/system/framework/org.apache.http.legacy.boot.jar
timeStamp=2022-07-23 23:53:02
firstInstallTime=2022-07-23 23:53:02
lastUpdateTime=2022-07-23 23:53:02
signatures=PackageSignatures{5cd2569 version:1, signatures:[e7b54ff0], past
signatures:[]}
installPermissionsFixed=true
pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
declared permissions:
jackpal.androidterm.permission.RUN_SCRIPT: prot=dangerous, INSTALLED
jackpal.androidterm.permission.APPEND_TO_PATH: prot=dangerous, INSTALLED
jackpal.androidterm.permission.PREPEND_TO_PATH: prot=dangerous, INSTALLED
requested permissions:
android.permission.INTERNET
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.ACCESS_SUPERUSER
android.permission.WAKE_LOCK
install permissions:
android.permission.INTERNET: granted=true
android.permission.READ_EXTERNAL_STORAGE: granted=true
android.permission.WRITE_EXTERNAL_STORAGE: granted=true
android.permission.WAKE_LOCK: granted=true
User 0: ceDataInode=-4294966708 installed=true hidden=false suspended=false
stopped=false notLaunched=false enabled=0 instant=false virtual=false
gids=[3003]
runtime permissions:
Package Changes:
Sequence number=0
Dexopt state:
[jackpal.androidterm]
path: /data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==/base.apk
arm: [status=speed-profile] [reason=install]
Compiler stats:
[jackpal.androidterm]
(No recorded stats)
cmcc_jiangsu:/ #
示例查看进程中的 sh 信息:
cmcc_jiangsu:/ # dumpsys procstats sh
CURRENT STATS:
System memory usage:
SOn /Norm: 1 samples:
Cached: 176MB min, 176MB avg, 176MB max
Free: 705MB min, 705MB avg, 705MB max
ZRam: 12KB min, 12KB avg, 12KB max
Kernel: 145MB min, 145MB avg, 145MB max
Native: 388MB min, 388MB avg, 388MB max
Low : 1 samples:
Cached: 136MB min, 136MB avg, 136MB max
Free: 860MB min, 860MB avg, 860MB max
ZRam: 0.00 min, 0.00 avg, 0.00 max
Kernel: 129MB min, 129MB avg, 129MB max
Native: 311MB min, 311MB avg, 311MB max
Summary:
Run time Stats:
SOn /Norm: +36m9s929ms (running)
Mod : +24s266ms
Low : +5s211ms
Crit: +4s583ms
TOTAL: +36m43s989ms
Memory usage:
Kernel : 137MB (16 samples)
Native : 350MB (16 samples)
Persist: 154MB (110 samples)
Top: 121MB (35 samples)
ImpFg: 134MB (193 samples)
ImpBg: 7.1MB (15 samples)
Service: 62MB (168 samples)
Receivr: 22KB (63 samples)
LastAct: 466KB (25 samples)
CchEmty: 117MB (151 samples)
Cached : 156MB (16 samples)
Free : 783MB (16 samples)
Z-Ram : 6.0KB (16 samples)
TOTAL : 2.0GB
ServRst: 556KB (28 samples)
PSS collection stats:
Internal Single: 113x over +6s76ms
Internal All Procs (Memory Change): 0x over 0
Internal All Procs (Polling): 2x over +147ms
External: 0x over 0
External Slow: 63x over +6s830ms
Start time: 2015-01-01 08:00:10
Total uptime: +36m44s154ms
Total elapsed time: +36m44s154ms (partial) (swapped-out-pss) libart.so
Available pages by page size:
Zone 0 Unmovable 1 0 13 10 17 14 14 9 3
2 0
Zone 0 Movable 0 1 1 1 4 10 3 0 2
4 159
Zone 0 Reclaimable 1 1 0 1 0 1 0 0 1
1 0
Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
0 0
Zone 0 CMA 0 0 0 0 0 0 0 0 1
0 0
Zone 0 Isolate 0 0 0 0 0 0 0 0 0
0 0
Zone 0 Unmovable 0 1 0 0 1 1 0 0 0
1 0
Zone 0 Movable 1 0 0 1 1 1 1 1 1
0 66
Zone 0 Reclaimable 0 0 0 0 0 0 0 0 0
0 0
Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
0 0
Zone 0 CMA 3 3 3 1 4 0 1 0 1
1 148
Zone 0 Isolate 0 0 0 0 0 0 0 0 0
0 0
AGGREGATED OVER LAST 24 HOURS:
System memory usage:
SOn /Norm: 8 samples:
Cached: 168MB min, 275MB avg, 340MB max
Free: 463MB min, 639MB avg, 893MB max
ZRam: 0.00 min, 9.0KB avg, 12KB max
Kernel: 125MB min, 140MB avg, 149MB max
Native: 338MB min, 380MB avg, 407MB max
Low : 2 samples:
Cached: 136MB min, 233MB avg, 330MB max
Free: 568MB min, 714MB avg, 860MB max
ZRam: 0.00 min, 6.0KB avg, 12KB max
Kernel: 129MB min, 135MB avg, 142MB max
Native: 311MB min, 358MB avg, 405MB max
Summary:
Run time Stats:
SOn /Norm: +5h52m19s853ms
Mod : +22m13s287ms
Low : +2h0m22s180ms
Crit: +4s583ms
TOTAL: +8h14m59s903ms
Memory usage:
Kernel : 140MB (78 samples)
Native : 379MB (78 samples)
Persist: 157MB (241 samples)
Top: 128MB (88 samples)
ImpFg: 123MB (1195 samples)
ImpBg: 13MB (40 samples)
Service: 49MB (947 samples)
Receivr: 4.0KB (422 samples)
LastAct: 373KB (72 samples)
CchAct: 14MB (17 samples)
CchEmty: 79MB (391 samples)
Cached : 272MB (78 samples)
Free : 643MB (78 samples)
Z-Ram : 8.7KB (78 samples)
TOTAL : 1.9GB
ServRst: 48KB (89 samples)
PSS collection stats:
Internal Single: 315x over +17s246ms
Internal All Procs (Memory Change): 81x over +3s988ms
Internal All Procs (Polling): 63x over +3s189ms
External: 0x over 0
External Slow: 519x over +1m2s809ms
Start time: 2015-01-01 08:00:10
Total uptime: +8h15m0s252ms
Total elapsed time: +8h15m0s253ms (partial) (swapped-out-pss) libart.so
Available pages by page size:
Zone 0 Unmovable 1 0 13 10 17 14 14 9 3
2 0
Zone 0 Movable 0 1 1 1 4 10 3 0 2
4 159
Zone 0 Reclaimable 1 1 0 1 0 1 0 0 1
1 0
Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
0 0
Zone 0 CMA 0 0 0 0 0 0 0 0 1
0 0
Zone 0 Isolate 0 0 0 0 0 0 0 0 0
0 0
Zone 0 Unmovable 0 1 0 0 1 1 0 0 0
1 0
Zone 0 Movable 1 0 0 1 1 1 1 1 1
0 66
Zone 0 Reclaimable 0 0 0 0 0 0 0 0 0
0 0
Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
0 0
Zone 0 CMA 3 3 3 1 4 0 1 0 1
1 148
Zone 0 Isolate 0 0 0 0 0 0 0 0 0
0 0
AGGREGATED OVER LAST 3 HOURS:
System memory usage:
SOn /Norm: 1 samples:
Cached: 176MB min, 176MB avg, 176MB max
Free: 705MB min, 705MB avg, 705MB max
ZRam: 12KB min, 12KB avg, 12KB max
Kernel: 145MB min, 145MB avg, 145MB max
Native: 388MB min, 388MB avg, 388MB max
Low : 2 samples:
Cached: 136MB min, 233MB avg, 330MB max
Free: 568MB min, 714MB avg, 860MB max
ZRam: 0.00 min, 6.0KB avg, 12KB max
Kernel: 129MB min, 135MB avg, 142MB max
Native: 311MB min, 358MB avg, 405MB max
Summary:
Run time Stats:
SOn /Norm: +36m9s997ms
Mod : +24s266ms
Low : +2h0m21s599ms
Crit: +4s583ms
TOTAL: +2h37m0s445ms
Memory usage:
Kernel : 139MB (24 samples)
Native : 368MB (24 samples)
Persist: 155MB (129 samples)
Top: 143MB (29 samples)
ImpFg: 154MB (414 samples)
ImpBg: 17MB (14 samples)
Service: 73MB (314 samples)
Receivr: 5.1KB (81 samples)
LastAct: 109KB (29 samples)
CchEmty: 65MB (151 samples)
Cached : 214MB (24 samples)
Free : 711MB (24 samples)
Z-Ram : 8.0KB (24 samples)
TOTAL : 2.0GB
ServRst: 139KB (37 samples)
PSS collection stats:
Internal Single: 136x over +7s324ms
Internal All Procs (Memory Change): 0x over 0
Internal All Procs (Polling): 23x over +1s208ms
External: 0x over 0
External Slow: 183x over +21s381ms
Start time: 2015-01-01 08:00:10
Total uptime: +2h37m0s615ms
Total elapsed time: +2h37m0s615ms (partial) (swapped-out-pss) libart.so
Available pages by page size:
Zone 0 Unmovable 1 0 13 10 17 14 14 9 3
2 0
Zone 0 Movable 0 1 1 1 4 10 3 0 2
4 159
Zone 0 Reclaimable 1 1 0 1 0 1 0 0 1
1 0
Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
0 0
Zone 0 CMA 0 0 0 0 0 0 0 0 1
0 0
Zone 0 Isolate 0 0 0 0 0 0 0 0 0
0 0
Zone 0 Unmovable 0 1 0 0 1 1 0 0 0
1 0
Zone 0 Movable 1 0 0 1 1 1 1 1 1
0 66
Zone 0 Reclaimable 0 0 0 0 0 0 0 0 0
0 0
Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
0 0
Zone 0 CMA 3 3 3 1 4 0 1 0 1
1 148
Zone 0 Isolate 0 0 0 0 0 0 0 0 0
0 0
cmcc_jiangsu:/ #
%%%%%
查看系统功能与支持库信息
查看系统功能:
pm list feature /* 打印系统的所有功能/列出所有硬件相关信息 */
查看支持库信息:
pm list libraries /* 打印当前设备所支持的所有库 */
示例查看支持库:
cmcc_jiangsu:/ # pm list libraries
library:android.ext.services
library:android.ext.shared
library:android.test.base
library:android.test.mock
library:android.test.runner
library:com.android.future.usb.accessory
library:com.android.location.provider
library:com.android.media.remotedisplay
library:com.android.mediadrm.signer
library:droidlogic.software.core
library:droidlogic.tv.software.core
library:javax.obex
library:org.apache.http.legacy
cmcc_jiangsu:/ #
%%%%%
测试包与 APK 路径查询
测试包:
pm list instrymentation /* 列出所有的 instrumentation 测试包 */
pm list instrymentation 包名 /* 指定某个 app 的测试包 */
pm list instrymentation -f /* 列出 apk 文件位置 */
APK 路径查询:
pm path 包名 /* 列出指定包的 APK 路径 */
示例:
cmcc_jiangsu:/ # pm path jackpal.androidterm
package:/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==/base.apk
cmcc_jiangsu:/ #
——————————
查询
%%%%%
常用查询语法及常用参数
pm 查询语法:
pm list packages 参数 包名
pm 查询常用参数:
-i 查看应用的安装者
-f 显示每个包的文件位置
-d 搭配过滤器 只显示禁用的应用的包名
-e 搭配过滤器 只显示可用的应用的包名
-s 搭配过滤器 只显示系统应用的包名
-3 搭配过滤器 只显示第三方应用的包名
%%%%%
列出所有包
cmcc_jiangsu:/tmp # pm list packages
package:com.iflytek.xiri
package:com.droidlogic.inputmethod.remote
package:com.android.providers.media
package:com.mylejia.store
package:com.android.externalstorage
package:com.android.companiondevicemanager
package:com.android.providers.downloads
package:com.fengyun.live
package:com.droidlogic
package:com.dangbei.tvlauncher
package:com.android.defcontainer
package:com.android.pacprocessor
package:com.android.certinstaller
package:me.thomastv.rebootupdate
package:android
package:com.android.backupconfirm
package:com.android.statementservice
package:com.android.superuser
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.iflytek.xiri2.system
package:com.android.webview
package:com.android.se
package:com.android.inputdevices
package:com.droidlogic.BluetoothRemote
package:android.ext.shared
package:com.android.keychain
package:android.ext.services
package:com.android.packageinstaller
package:com.android.proxyhandler
package:com.android.inputmethod.latin
package:com.android.managedprovisioning
package:com.iflytek.bt.auto
package:com.android.settings
package:com.android.vpndialogs
package:com.android.shell
package:com.dangbeimarket
package:com.android.location.fused
package:com.android.systemui
package:com.android.bluetooth
package:com.cmcc.mid.softdetector
cmcc_jiangsu:/tmp #
%%%%%
-i 查看包的安装者
cmcc_jiangsu:/tmp # pm list packages -i
package:com.iflytek.xiri installer=null
package:com.droidlogic.inputmethod.remote installer=null
package:com.android.providers.media installer=null
package:com.mylejia.store installer=null
package:com.android.externalstorage installer=null
package:com.android.companiondevicemanager installer=null
package:com.android.providers.downloads installer=null
package:com.fengyun.live installer=null
package:com.droidlogic installer=null
package:com.dangbei.tvlauncher installer=null
package:com.android.defcontainer installer=null
package:com.android.pacprocessor installer=null
package:com.android.certinstaller installer=null
package:me.thomastv.rebootupdate installer=null
package:android installer=null
package:com.android.backupconfirm installer=null
package:com.android.statementservice installer=null
package:com.android.superuser installer=null
package:com.android.providers.settings installer=null
package:com.android.sharedstoragebackup installer=null
package:com.iflytek.xiri2.system installer=null
package:com.android.webview installer=null
package:com.android.se installer=null
package:com.android.inputdevices installer=null
package:com.droidlogic.BluetoothRemote installer=null
package:android.ext.shared installer=null
package:com.android.keychain installer=null
package:android.ext.services installer=null
package:com.android.packageinstaller installer=null
package:com.android.proxyhandler installer=null
package:com.android.inputmethod.latin installer=null
package:com.android.managedprovisioning installer=null
package:com.iflytek.bt.auto installer=null
package:com.android.settings installer=null
package:com.android.vpndialogs installer=null
package:com.android.shell installer=null
package:com.dangbeimarket installer=null
package:com.android.location.fused installer=null
package:com.android.systemui installer=null
package:com.android.bluetooth installer=null
package:com.cmcc.mid.softdetector installer=null
cmcc_jiangsu:/tmp #
%%%%%
-u 列出包和未安装包信息
cmcc_jiangsu:/tmp # pm list packages -u
package:com.iflytek.xiri
package:com.droidlogic.inputmethod.remote
package:com.android.providers.media
package:com.mylejia.store
package:com.android.externalstorage
package:com.android.companiondevicemanager
package:com.android.providers.downloads
package:com.fengyun.live
package:com.droidlogic
package:com.dangbei.tvlauncher
package:com.android.defcontainer
package:com.android.pacprocessor
package:com.android.certinstaller
package:me.thomastv.rebootupdate
package:android
package:com.android.backupconfirm
package:com.android.statementservice
package:com.android.superuser
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.iflytek.xiri2.system
package:com.android.webview
package:com.android.se
package:com.android.inputdevices
package:com.droidlogic.BluetoothRemote
package:android.ext.shared
package:com.android.keychain
package:android.ext.services
package:com.android.packageinstaller
package:com.android.proxyhandler
package:com.android.inputmethod.latin
package:com.android.managedprovisioning
package:com.iflytek.bt.auto
package:com.android.settings
package:com.android.vpndialogs
package:com.android.shell
package:com.dangbeimarket
package:com.android.location.fused
package:com.android.systemui
package:com.android.bluetooth
package:com.cmcc.mid.softdetector
cmcc_jiangsu:/tmp #
%%%%%
-e 列出启用包
cmcc_jiangsu:/tmp # pm list packages -e
package:com.iflytek.xiri
package:com.droidlogic.inputmethod.remote
package:com.android.providers.media
package:com.mylejia.store
package:com.android.externalstorage
package:com.android.companiondevicemanager
package:com.android.providers.downloads
package:com.fengyun.live
package:com.droidlogic
package:com.dangbei.tvlauncher
package:com.android.defcontainer
package:com.android.pacprocessor
package:com.android.certinstaller
package:me.thomastv.rebootupdate
package:android
package:com.android.backupconfirm
package:com.android.statementservice
package:com.android.superuser
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.iflytek.xiri2.system
package:com.android.webview
package:com.android.se
package:com.android.inputdevices
package:com.droidlogic.BluetoothRemote
package:android.ext.shared
package:com.android.keychain
package:android.ext.services
package:com.android.packageinstaller
package:com.android.proxyhandler
package:com.android.inputmethod.latin
package:com.android.managedprovisioning
package:com.iflytek.bt.auto
package:com.android.settings
package:com.android.vpndialogs
package:com.android.shell
package:com.dangbeimarket
package:com.android.location.fused
package:com.android.systemui
package:com.android.bluetooth
package:com.cmcc.mid.softdetector
cmcc_jiangsu:/tmp #
%%%%%
-d 列出禁用包
cmcc_jiangsu:/tmp # pm list packages -d
cmcc_jiangsu:/tmp #
%%%%%
-s 列出系统包
cmcc_jiangsu:/tmp # pm list packages -s
package:com.iflytek.xiri
package:com.droidlogic.inputmethod.remote
package:com.android.providers.media
package:com.android.externalstorage
package:com.android.companiondevicemanager
package:com.android.providers.downloads
package:com.droidlogic
package:com.dangbei.tvlauncher
package:com.android.defcontainer
package:com.android.pacprocessor
package:com.android.certinstaller
package:android
package:com.android.backupconfirm
package:com.android.statementservice
package:com.android.superuser
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.iflytek.xiri2.system
package:com.android.webview
package:com.android.se
package:com.android.inputdevices
package:com.droidlogic.BluetoothRemote
package:android.ext.shared
package:com.android.keychain
package:android.ext.services
package:com.android.packageinstaller
package:com.android.proxyhandler
package:com.android.inputmethod.latin
package:com.android.managedprovisioning
package:com.iflytek.bt.auto
package:com.android.settings
package:com.android.vpndialogs
package:com.