当前位置:   article > 正文

[CM311-1A]-全网最全 Android 软件管理_gdyd-iptvsettings-an9-all-debug-1.0.0-20220110-095

gdyd-iptvsettings-an9-all-debug-1.0.0-20220110-0958_signed.apk

##################################################

目录

如何使用命令安装卸载应用

示例安装一个小破站 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 目录

        如下 看注释:

  1. cmcc_jiangsu:/ # cd /tmp /* 进入 tmp */
  2. cmcc_jiangsu:/tmp # ls /* 此时可以看到没有安装包 */
  3. capture
  4. cmcc_jiangsu:/tmp # exit /* 退出 shell */
  5. C:\Users\byme>adb connect 192.168.0.101 /* 确定连接 */
  6. already connected to 192.168.0.101:5555
  7. C:\Users\byme>adb push D:\download\bilibiliTV\bilibiliTV_1.5.1_dangbei.apk /tmp /* 将 apk 上传到 tmp 目录 */
  8. D:\download\bilibiliTV\bilibiliTV_1.5....d. 3.1 MB/s (20727626 bytes in 6.398s)
  9. C:\Users\byme>adb shell /* 进入系统终端 */
  10. cmcc_jiangsu:/ # cd /tmp /* 进入 tmp */
  11. cmcc_jiangsu:/tmp # ls /* 发现 apk */
  12. capture
  13. cmcc_jiangsu:/tmp # ls
  14. bilibiliTV_1.5.1_dangbei.apk capture
  15. cmcc_jiangsu:/tmp # ls -alh
  16. total 10M
  17. drwxrwxrwt 3 root root 80 2022-07-23 17:21 .
  18. drwxr-xr-x 23 root root 0 2015-01-01 08:00 ..
  19. -rw-r--r-- 1 root root 20M 2022-07-22 23:43 bilibiliTV_1.5.1_dangbei.apk
  20. drwxrwxrwt 2 root root 40 2015-01-01 08:00 capture
  21. cmcc_jiangsu:/tmp #

%%%%%

安装 bilibiliTV 版

  1. cmcc_jiangsu:/tmp # ls /* 看一眼 apk 名字 */
  2. bilibiliTV_1.5.1_dangbei.apk capture
  3. cmcc_jiangsu:/tmp # pm install bilibiliTV_1.5.1_dangbei.apk /* 安装 apk 输入前几个字母就可以按下 TAB 自动补全 */
  4. avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:su
  5. _tmpfs:s0 tclass=file permissive=1
  6. Success
  7. cmcc_jiangsu:/tmp # screencap -p /sdcard/sc/1.png /* 截取屏幕 */
  8. screencap 3
  9. screencap start. screen_type: 1
  10. file path: /sdcard/sc/1.png
  11. new ScreenCatch ok
  12. got video+osd data: 1280 x 720
  13. SkEncodeImage success
  14. screencap end
  15. cmcc_jiangsu:/tmp # ls /sdcard/sc -alh /* 确定截取成功 */
  16. total 282K
  17. drwxrwx--x 2 root sdcard_rw 4.0K 2022-07-20 18:58 .
  18. drwxrwx--x 22 root sdcard_rw 4.0K 2022-07-20 18:56 ..
  19. -rw-rw---- 1 root sdcard_rw 554K 2022-07-23 17:52 1.png
  20. cmcc_jiangsu:/tmp # exit
  21. C:\Users\byme>adb pull /sdcard/sc/1.png D:1.png /* 将截屏下载到 D 盘根目录 */
  22. /sdcard/sc/1.png: 1 file pulled, 0 skipped. 0.3 MB/s (567707 bytes in 1.863s)
  23. C:\Users\byme> start 1.png /* 使用默认图像查看器打开截屏文件 */

        看 出现一个云视听小电视:

云视听小电视

        安装成功:

云视听小电视

        添加到桌面:

添加到桌面

        启动成功:

启动成功

        好家伙我竟然在盒子上逛 B 站:

逛 B 站

%%%%%

查看安装后的软件信息

        我们很轻易的就能获取这个应用的包名叫

com.xiaodianshi.tv.yst        云视听小电视

  1. cmcc_jiangsu:/ # pm list packages -3 /* 查看安装的所有第三方软甲 */
  2. package:com.xiaodianshi.tv.yst /* 这个就是我们刚刚安装的 b 站 */
  3. package:com.mylejia.store
  4. package:com.fengyun.live
  5. package:me.thomastv.rebootupdate
  6. package:com.dangbeimarket
  7. cmcc_jiangsu:/ # pm list packages -i "tv" /* 查看 tv 相关软件的安装信息 */
  8. package:com.xiaodianshi.tv.yst installer=null
  9. package:com.dangbei.tvlauncher installer=null
  10. package:me.thomastv.rebootupdate installer=null
  11. cmcc_jiangsu:/ # pm list packages -f "tv" /* 查看 tv 相关联应用的文件 */
  12. package:/data/app/com.xiaodianshi.tv.yst-7s2x33sktQES0TVqJsQhbA==/base.apk=com.x
  13. iaodianshi.tv.yst
  14. package:/system/app/Dangbei2.apk=com.dangbei.tvlauncher
  15. package:/data/app/me.thomastv.rebootupdate-4SVHakbq9YXs3X7ozxyY0w==/base.apk=me.
  16. thomastv.rebootupdate
  17. cmcc_jiangsu:/ # ls /data/app/com.xiaodianshi.tv.yst-7s2x33sktQES0TVqJsQhbA\=\=
  18. base.apk lib oat
  19. cmcc_jiangsu:/ # ls -alh /data/app/com.xiaodianshi.tv.yst-7s2x33sktQES0TVqJsQhbA\=\=
  20. total 10M
  21. drwxr-xr-x 4 system system 4.0K 2022-07-23 17:44 .
  22. drwxrwxr-x 8 system system 4.0K 2022-07-23 17:44 ..
  23. -rw-r--r-- 1 system system 20M 2022-07-23 17:44 base.apk
  24. drwxr-xr-x 3 system system 4.0K 2022-07-23 17:44 lib
  25. drwxrwx--x 3 system install 4.0K 2022-07-23 17:44 oat
  26. cmcc_jiangsu:/ #

%%%%%

卸载刚刚安装的 tv
 

  1. cmcc_jiangsu:/ # pm list packages -3 /* 卸载之前的第三方软件 */
  2. package:com.xiaodianshi.tv.yst
  3. package:com.mylejia.store
  4. package:com.fengyun.live
  5. package:me.thomastv.rebootupdate
  6. package:com.dangbeimarket
  7. cmcc_jiangsu:/ # pm uninstall com.xiaodianshi.tv.yst /* 卸载小破站 */
  8. Success
  9. cmcc_jiangsu:/ # pm list packages -3 /* 卸载之后再次查看第三方软件 */
  10. package:com.mylejia.store
  11. package:com.fengyun.live
  12. package:me.thomastv.rebootupdate
  13. package:com.dangbeimarket
  14. cmcc_jiangsu:/ #

——————————

真的推荐安装一个安卓终端模拟器

        安卓终端模拟器就相当于 Windows 的 cmd/Xshell 或者 Linux 的 console/terminal

        开源地址:

Terminal Emulator for Android Downloadshttps://jackpal.github.io/Android-Terminal-Emulator/

        如果访问不了也可以下载我提供的资源 跟上面是一样的:

  1. pan.baidu.com/s/1yw8pzpMviDLjRJRf1IVZ4w
  2. 1297
  3. ranchui

%%%%%

jackpal.androidterm 包

        我这个包名是 jackpal.androidterm

  1. cmcc_jiangsu:/ # pm list packages -3 /* 安装之前的第三方软件 */
  2. package:com.xiaodianshi.tv.yst
  3. package:com.mylejia.store
  4. package:com.fengyun.live
  5. package:me.thomastv.rebootupdate
  6. package:com.dangbeimarket
  7. cmcc_jiangsu:/ # ls /tmp/Term.apk -alh /* 确定 APK 位置 */
  8. -rw-r--r-- 1 root root 551K 2022-05-28 23:35 /tmp/Term.apk
  9. cmcc_jiangsu:/ # pm install /tmp/Term.apk /* 安装 APK */
  10. avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:su
  11. _tmpfs:s0 tclass=file permissive=1
  12. Success
  13. cmcc_jiangsu:/ # pm list packages -3 /* 安装之后再看 */
  14. package:com.xiaodianshi.tv.yst
  15. package:com.mylejia.store
  16. package:com.fengyun.live
  17. package:me.thomastv.rebootupdate
  18. package:jackpal.androidterm
  19. package:com.dangbeimarket
  20. cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png /* 截个屏 */
  21. screencap 3
  22. screencap start. screen_type: 1
  23. file path: /sdcard/sc/1.png
  24. new ScreenCatch ok
  25. got video+osd data: 1280 x 720
  26. SkEncodeImage success
  27. screencap end
  28. cmcc_jiangsu:/ # exit /* 退出终端 */
  29. C:\Users\byme>adb pull /sdcard/sc/1.png d:1.png /* 获取截屏 */
  30. /sdcard/sc/1.png: 1 file pulled, 0 ski...ed. 2.9 MB/s (1237270 bytes in 0.402s)
  31. C:\Users\byme>start d:1.png /* 打开截屏图像 */

        截屏如下:

终端模拟器

        安卓终端模拟器 可以运行命令:

安卓终端模拟器

——————————

查看某个应用的详细信息

        使用 dumpsys 的 package 子命令可以查看指定包的详细信息

        这边我是在一个小手机上查看安装的旧版本的终端模拟器:

  1. shell@GIONEE_G1605A:/mnt/sdcard $ pm list packages -3 | grep term /* 在第三方应用中搜索包含 term 字样的包 */
  2. package:jackpal.androidterm
  3. shell@GIONEE_G1605A:/mnt/sdcard $ dumpsys package jackpal.androidterm /* 查看终端模拟器应用的详细信息 */
  4. Activity Resolver Table:
  5. Full MIME Types:
  6. */*:
  7. 3d65be5 jackpal.androidterm/.TermHere
  8. a6316ba jackpal.androidterm/.shortcuts.FSNavigator
  9. Wild MIME Types:
  10. *:
  11. 3d65be5 jackpal.androidterm/.TermHere
  12. a6316ba jackpal.androidterm/.shortcuts.FSNavigator
  13. Non-Data Actions:
  14. jackpal.androidterm.RUN_SHORTCUT:
  15. af9896b jackpal.androidterm/.RunShortcut
  16. jackpal.androidterm.private.SWITCH_WINDOW:
  17. 7e04cc8 jackpal.androidterm/.TermInternal
  18. jackpal.androidterm.OPEN_NEW_WINDOW:
  19. c95d161 jackpal.androidterm/.RemoteInterface
  20. android.intent.action.MAIN:
  21. 39be486 jackpal.androidterm/.Term
  22. ea55147 jackpal.androidterm/.shortcuts.AddShortcut
  23. android.intent.action.PICK:
  24. a6316ba jackpal.androidterm/.shortcuts.FSNavigator
  25. jackpal.androidterm.RUN_SCRIPT:
  26. f116d74 jackpal.androidterm/.RunScript
  27. jackpal.androidterm.private.OPEN_NEW_WINDOW:
  28. 7e04cc8 jackpal.androidterm/.TermInternal
  29. android.intent.action.CREATE_SHORTCUT:
  30. ea55147 jackpal.androidterm/.shortcuts.AddShortcut
  31. MIME Typed Actions:
  32. android.intent.action.SEND:
  33. 3d65be5 jackpal.androidterm/.TermHere
  34. android.intent.action.GET_CONTENT:
  35. a6316ba jackpal.androidterm/.shortcuts.FSNavigator
  36. Permissions:
  37. Permission [jackpal.androidterm.permission.PREPEND_TO_PATH] (57d229d):
  38. sourcePackage=jackpal.androidterm
  39. uid=10128 gids=null type=0 prot=dangerous
  40. perm=Permission{941c312 jackpal.androidterm.permission.PREPEND_TO_PATH}
  41. packageSetting=PackageSetting{c5bbae3 jackpal.androidterm/10128}
  42. Permission [jackpal.androidterm.permission.RUN_SCRIPT] (491ece0):
  43. sourcePackage=jackpal.androidterm
  44. uid=10128 gids=null type=0 prot=dangerous
  45. perm=Permission{d8e4b99 jackpal.androidterm.permission.RUN_SCRIPT}
  46. packageSetting=PackageSetting{c5bbae3 jackpal.androidterm/10128}
  47. Permission [jackpal.androidterm.permission.APPEND_TO_PATH] (1f4fe5e):
  48. sourcePackage=jackpal.androidterm
  49. uid=10128 gids=null type=0 prot=dangerous
  50. perm=Permission{585223f jackpal.androidterm.permission.APPEND_TO_PATH}
  51. packageSetting=PackageSetting{c5bbae3 jackpal.androidterm/10128}
  52. Key Set Manager:
  53. [jackpal.androidterm]
  54. Signing KeySets: 27
  55. Packages:
  56. Package [jackpal.androidterm] (c5bbae3):
  57. userId=10128
  58. pkg=Package{e5a569a jackpal.androidterm}
  59. codePath=/data/app/jackpal.androidterm-1
  60. resourcePath=/data/app/jackpal.androidterm-1
  61. legacyNativeLibraryDir=/data/app/jackpal.androidterm-1/lib
  62. primaryCpuAbi=arm64-v8a
  63. secondaryCpuAbi=null
  64. versionCode=66 targetSdk=11
  65. versionName=1.0.65
  66. splits=[base]
  67. applicationInfo=ApplicationInfo{5d8f70c jackpal.androidterm clone=0}
  68. flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
  69. pkgFlagsEx=[ ]
  70. dataDir=/data/user/0/jackpal.androidterm
  71. supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
  72. timeStamp=2022-07-24 20:02:40
  73. firstInstallTime=2022-07-24 20:02:40
  74. lastUpdateTime=2022-07-24 20:02:40
  75. signatures=PackageSignatures{7ef0855 [c0ea26a]}
  76. installPermissionsFixed=true installStatus=1
  77. pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
  78. declared permissions:
  79. jackpal.androidterm.permission.RUN_SCRIPT: prot=dangerous, INSTALLED
  80. jackpal.androidterm.permission.APPEND_TO_PATH: prot=dangerous, INSTALLED
  81. jackpal.androidterm.permission.PREPEND_TO_PATH: prot=dangerous, INSTALLED
  82. requested permissions:
  83. android.permission.INTERNET
  84. android.permission.READ_EXTERNAL_STORAGE
  85. android.permission.WRITE_EXTERNAL_STORAGE
  86. android.permission.ACCESS_SUPERUSER
  87. android.permission.WAKE_LOCK
  88. install permissions:
  89. android.permission.INTERNET: granted=true
  90. android.permission.READ_EXTERNAL_STORAGE: granted=true
  91. android.permission.WRITE_EXTERNAL_STORAGE: granted=true
  92. android.permission.WAKE_LOCK: granted=true
  93. User 0: installed=true hidden=false stopped=false notLaunched=false enabled
  94. =0
  95. gids=[3003]
  96. runtime permissions:
  97. shell@GIONEE_G1605A:/mnt/sdcard $

——————————

如何使用命令启动应用程序

%%%%%

在前台运行 app

        先让程序在前台显示 不要黑屏不要切换到后台:

先让程序在前台显示

%%%%%

获取包名和 activity 路径

        此时可以使用命令获取信息了

        如果你在 cmd :

adb shell dumpsys window windows | findstr “Current”

        如果你在终端中:

  1. shell@GIONEE_G1605A:/ $ dumpsys window windows | grep Current
  2. mCurrentFocus=Window{144ca1f u0 jackpal.androidterm/jackpal.androidterm.Term}
  3. 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 示例:

  1. shell@GIONEE_G1605A:/ $ am start jackpal.androidterm/jackpal.androidterm.Term
  2. Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
  3. AUNCHER] cmp=jackpal.androidterm/.Term }
  4. shell@GIONEE_G1605A:/ $

        或者

  1. shell@GIONEE_G1605A:/ $ am start -n jackpal.androidterm/jackpal.androidterm.Term
  2. Starting: Intent { cmp=jackpal.androidterm/.Term }
  3. Warning: Activity not started, its current task has been brought to the front
  4. shell@GIONEE_G1605A:/ $

        事实也确实成功了:

确实成功了

——————————

示例使用命令启动哔哩哔哩 TV 版

         启动小破站后截一下屏

  1. cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png /* 截个屏 */
  2. screencap 3
  3. screencap start. screen_type: 1
  4. file path: /sdcard/sc/1.png
  5. new ScreenCatch ok
  6. got video+osd data: 1280 x 720
  7. SkEncodeImage success
  8. screencap end
  9. cmcc_jiangsu:/ #

小破站

        查看当前窗口的 activity 信息:

  1. cmcc_jiangsu:/ # dumpsys window windows | grep Current
  2. mCurrentFocus=Window{d898b33 u0 com.xiaodianshi.tv.yst/com.xiaodianshi.tv.yst.
  3. ui.introduction.IntroductionActivity}
  4. cmcc_jiangsu:/ #

        好家伙是真的长:

com.xiaodianshi.tv.yst.ui.introduction.IntroductionActivity

        通过命令启动 bilibili tv 版:

  1. cmcc_jiangsu:/ # am start com.xiaodianshi.tv.yst/com.xiaodianshi.tv.yst.ui.introduction.IntroductionActivity
  2. Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
  3. AUNCHER] cmp=com.xiaodianshi.tv.yst/.ui.introduction.IntroductionActivity }
  4. cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png
  5. screencap 3
  6. screencap start. screen_type: 1
  7. file path: /sdcard/sc/1.png
  8. new ScreenCatch ok
  9. got video+osd data: 1280 x 720
  10. SkEncodeImage success
  11. screencap end
  12. cmcc_jiangsu:/ #

        结果笑死人 启动的只是那个协议对话框:

协议对话框

        无奈只好从应用详细信息中筛选:

  1. cmcc_jiangsu:/ # dumpsys package com.xiaodianshi.tv.yst | grep com.xiaodianshi.tv.yst
  2. 86a175e com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity filter
  3. d6fb37d
  4. Action: "com.xiaodianshi.tv.yst.uri"
  5. Authority: "com.xiaodianshi.tv.yst": -1
  6. 86a175e com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity filter
  7. edb272
  8. Authority: "com.xiaodianshi.tv.yst": -1
  9. 8fec73f com.xiaodianshi.tv.yst/com.yst.projection.ProjectionPlayerActivi
  10. tyV2 filter fc90a79
  11. 8fec73f com.xiaodianshi.tv.yst/com.yst.projection.ProjectionPlayerActivi
  12. tyV2 filter c6083be
  13. Action: "com.xiaodianshi.tv.yst.uri"
  14. com.xiaodianshi.tv.yst:
  15. eea380c com.xiaodianshi.tv.yst/.ui.main.MainActivity filter 7bfe6c3
  16. Action: "com.xiaodianshi.tv.yst"
  17. com.xiaodianshi.tv.yst.external:
  18. 86a175e com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity filter
  19. ea235d4
  20. Action: "com.xiaodianshi.tv.yst.external"
  21. com.xiaodianshi.tv.yst.projection.entry:
  22. c15b555 com.xiaodianshi.tv.yst/com.yst.projection.entry.ProjectionEntryA
  23. ctivity filter 302c1f
  24. Action: "com.xiaodianshi.tv.yst.projection.entry"
  25. eea380c com.xiaodianshi.tv.yst/.ui.main.MainActivity filter 7bfe6c3
  26. Action: "com.xiaodianshi.tv.yst"
  27. eea380c com.xiaodianshi.tv.yst/.ui.main.MainActivity filter 2d6db40
  28. 73c4b6a com.xiaodianshi.tv.yst/com.bilibili.opd.app.bizcommon.sentinel.s
  29. ession.ChildProcessSessionBroadcastReceiver filter 8147f27
  30. 1a2985b com.xiaodianshi.tv.yst/.ui.transition.PreassembleBroadcastReceiv
  31. er filter c071441
  32. e08c8f8 com.xiaodianshi.tv.yst/.video.service.YstMediaButtonReceiver fil
  33. ter 2759de6
  34. 1a2985b com.xiaodianshi.tv.yst/.ui.transition.PreassembleBroadcastReceiv
  35. er filter c071441
  36. ec951d1 com.xiaodianshi.tv.yst/.video.service.YstMediaService filter bd3
  37. 4f28
  38. Permission [com.xiaodianshi.tv.yst.permission.BLKV] (8352e34):
  39. sourcePackage=com.xiaodianshi.tv.yst
  40. perm=Permission{b4bb436 com.xiaodianshi.tv.yst.permission.BLKV}
  41. packageSetting=PackageSetting{7e85f37 com.xiaodianshi.tv.yst/10030}
  42. com.xiaodianshi.tv.yst/.provider.TvSearchSuggestionProvider:
  43. Provider{67d7ca4 com.xiaodianshi.tv.yst/.provider.TvSearchSuggestionProvider
  44. }
  45. com.xiaodianshi.tv.yst/com.bilibili.lib.media.resolver.resolve.MediaResolvePro
  46. vider:
  47. Provider{a403a0d com.xiaodianshi.tv.yst/com.bilibili.lib.media.resolver.reso
  48. lve.MediaResolveProvider}
  49. com.xiaodianshi.tv.yst/androidx.lifecycle.ProcessLifecycleOwnerInitializer:
  50. Provider{216ddc2 com.xiaodianshi.tv.yst/androidx.lifecycle.ProcessLifecycleO
  51. wnerInitializer}
  52. com.xiaodianshi.tv.yst/androidx.core.content.FileProvider:
  53. Provider{159b7d3 com.xiaodianshi.tv.yst/androidx.core.content.FileProvider}
  54. com.xiaodianshi.tv.yst/com.bilibili.lib.okdownloader.internal.db.DownloadDatab
  55. aseProvider:
  56. Provider{967bf10 com.xiaodianshi.tv.yst/com.bilibili.lib.okdownloader.intern
  57. al.db.DownloadDatabaseProvider}
  58. com.xiaodianshi.tv.yst/com.bilibili.lib.mod.ModResourceProvider:
  59. Provider{3c36a09 com.xiaodianshi.tv.yst/com.bilibili.lib.mod.ModResourceProv
  60. ider}
  61. com.xiaodianshi.tv.yst/com.bilibili.xpref.XprefProvider:
  62. Provider{79140e com.xiaodianshi.tv.yst/com.bilibili.xpref.XprefProvider}
  63. com.xiaodianshi.tv.yst/com.bilibili.base.ipc.IPCActivityStateProvider:
  64. Provider{87dfe2f com.xiaodianshi.tv.yst/com.bilibili.base.ipc.IPCActivitySta
  65. teProvider}
  66. com.xiaodianshi.tv.yst/com.bilibili.lib.account.AuthProvider:
  67. Provider{871bc3c com.xiaodianshi.tv.yst/com.bilibili.lib.account.AuthProvide
  68. r}
  69. com.xiaodianshi.tv.yst/com.bilibili.app.lib.modx.ModImageContentProvider:
  70. Provider{22f9dc5 com.xiaodianshi.tv.yst/com.bilibili.app.lib.modx.ModImageCo
  71. ntentProvider}
  72. com.xiaodianshi.tv.yst/com.coocaa.historylib.HistoryContentProvider:
  73. Provider{bb6631a com.xiaodianshi.tv.yst/com.coocaa.historylib.HistoryContent
  74. Provider}
  75. com.xiaodianshi.tv.yst/com.coocaa.historylib.CollectContentProvider:
  76. Provider{ef64e4b com.xiaodianshi.tv.yst/com.coocaa.historylib.CollectContent
  77. Provider}
  78. com.xiaodianshi.tv.yst/com.bilibili.infra.base.provider.InfraInitProvider:
  79. Provider{3bc6028 com.xiaodianshi.tv.yst/com.bilibili.infra.base.provider.Inf
  80. raInitProvider}
  81. [com.xiaodianshi.tv.yst.provider.xpref]:
  82. Provider{79140e com.xiaodianshi.tv.yst/com.bilibili.xpref.XprefProvider}
  83. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  84. [com.xiaodianshi.tv.yst.fileprovider]:
  85. Provider{159b7d3 com.xiaodianshi.tv.yst/androidx.core.content.FileProvider}
  86. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  87. [com.xiaodianshi.tv.yst.lifecycle-process]:
  88. Provider{216ddc2 com.xiaodianshi.tv.yst/androidx.lifecycle.ProcessLifecycleO
  89. wnerInitializer}
  90. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  91. [com.xiaodianshi.tv.yst.provider.modimage]:
  92. Provider{22f9dc5 com.xiaodianshi.tv.yst/com.bilibili.app.lib.modx.ModImageCo
  93. ntentProvider}
  94. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  95. [com.xiaodianshi.tv.yst.provider.modresource]:
  96. Provider{3c36a09 com.xiaodianshi.tv.yst/com.bilibili.lib.mod.ModResourceProv
  97. ider}
  98. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  99. [com.xiaodianshi.tv.yst.provider.resolver]:
  100. Provider{a403a0d com.xiaodianshi.tv.yst/com.bilibili.lib.media.resolver.reso
  101. lve.MediaResolveProvider}
  102. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  103. [com.xiaodianshi.tv.yst.okdownloader.provider]:
  104. Provider{967bf10 com.xiaodianshi.tv.yst/com.bilibili.lib.okdownloader.intern
  105. al.db.DownloadDatabaseProvider}
  106. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  107. [com.xiaodianshi.tv.yst.coocaa.history]:
  108. Provider{bb6631a com.xiaodianshi.tv.yst/com.coocaa.historylib.HistoryContent
  109. Provider}
  110. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  111. [com.xiaodianshi.tv.yst.coocaa.collect]:
  112. Provider{ef64e4b com.xiaodianshi.tv.yst/com.coocaa.historylib.CollectContent
  113. Provider}
  114. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  115. [com.xiaodianshi.tv.yst.provider.TvSearchSuggestionProvider]:
  116. Provider{67d7ca4 com.xiaodianshi.tv.yst/.provider.TvSearchSuggestionProvider
  117. }
  118. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  119. [com.xiaodianshi.tv.yst.provider.InfraInitProvider]:
  120. Provider{3bc6028 com.xiaodianshi.tv.yst/com.bilibili.infra.base.provider.Inf
  121. raInitProvider}
  122. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  123. [com.xiaodianshi.tv.yst.provider.IPCActivityStateProvider]:
  124. Provider{87dfe2f com.xiaodianshi.tv.yst/com.bilibili.base.ipc.IPCActivitySta
  125. teProvider}
  126. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  127. [com.xiaodianshi.tv.yst.provider.auth]:
  128. Provider{871bc3c com.xiaodianshi.tv.yst/com.bilibili.lib.account.AuthProvide
  129. r}
  130. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  131. [com.xiaodianshi.tv.yst]
  132. Package [com.xiaodianshi.tv.yst] (7e85f37):
  133. pkg=Package{74796e6 com.xiaodianshi.tv.yst}
  134. codePath=/data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5gw==
  135. resourcePath=/data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5gw==
  136. legacyNativeLibraryDir=/data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5
  137. gw==/lib
  138. applicationInfo=ApplicationInfo{3715141 com.xiaodianshi.tv.yst}
  139. dataDir=/data/user_de/0/com.xiaodianshi.tv.yst
  140. com.xiaodianshi.tv.yst.permission.BLKV: prot=signature, INSTALLED
  141. com.xiaodianshi.tv.yst.permission.BLKV
  142. com.xiaodianshi.tv.yst.permission.BLKV: granted=true
  143. [com.xiaodianshi.tv.yst]
  144. path: /data/app/com.xiaodianshi.tv.yst-Gq1cdiX3Aho20N4EPrC5gw==/base.apk
  145. [com.xiaodianshi.tv.yst]
  146. cmcc_jiangsu:/ #

        没想到运气这么好 才试了第一个就成功了:

  1. cmcc_jiangsu:/ # am start com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity
  2. Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
  3. AUNCHER] cmp=com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity }
  4. cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png
  5. screencap 3
  6. screencap start. screen_type: 1
  7. file path: /sdcard/sc/1.png
  8. new ScreenCatch ok
  9. got video+osd data: 1280 x 720
  10. SkEncodeImage success
  11. screencap end
  12. cmcc_jiangsu:/ #

am start com.xiaodianshi.tv.yst/.ui.transition.TransitionActivity

##################################################

使用 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 位置 这是系统级别的应用

        示例请看注释:

  1. cmcc_jiangsu:/ # ls /data/user/0/ /* root 用户的应用数据存储位置 */
  2. android com.android.sharedstoragebackup
  3. android.ext.services com.android.shell
  4. android.ext.shared com.android.statementservice
  5. com.android.backupconfirm com.android.superuser
  6. com.android.bluetooth com.android.systemui
  7. com.android.certinstaller com.android.vpndialogs
  8. com.android.companiondevicemanager com.android.webview
  9. com.android.defcontainer com.cmcc.mid.softdetector
  10. com.android.externalstorage com.dangbei.tvlauncher
  11. com.android.inputdevices com.dangbeimarket
  12. com.android.inputmethod.latin com.droidlogic
  13. com.android.keychain com.droidlogic.BluetoothRemote
  14. com.android.location.fused com.droidlogic.inputmethod.remote
  15. com.android.managedprovisioning com.fengyun.live
  16. com.android.packageinstaller com.iflytek.bt.auto
  17. com.android.pacprocessor com.iflytek.xiri
  18. com.android.providers.downloads com.iflytek.xiri2.system
  19. com.android.providers.media com.mylejia.store
  20. com.android.providers.settings com.tv.kuaisou
  21. com.android.proxyhandler com.xiaodianshi.tv.yst
  22. com.android.se jackpal.androidterm
  23. com.android.settings me.thomastv.rebootupdate
  24. cmcc_jiangsu:/ # ls /data/user/0/com.android.settings/ -alh /* com.android.settings 的数据目录 */
  25. total 14K
  26. drwx------ 6 system system 4.0K 2015-01-01 08:00 .
  27. drwxrwx--x 46 system system 4.0K 2022-07-25 11:24 ..
  28. drwxrws--x 2 system system 4.0K 2015-01-01 08:00 cache
  29. drwxrws--x 2 system system 4.0K 2015-01-01 08:00 code_cache
  30. drwxrwx--x 2 system system 4.0K 2015-01-01 08:00 files
  31. lrwxrwxrwx 1 root root 52 2015-01-01 08:00 lib -> /system/app/SkySettingA
  32. 9_jiangsuCMCC_release/lib/arm
  33. drwxrwx--x 2 system system 4.0K 2022-07-25 11:29 shared_prefs
  34. cmcc_jiangsu:/ # ls /data/app /* 用户安装的第三方应用 */
  35. com.dangbeimarket-GvchZCDlwKegHBtoXBQhwg==
  36. com.fengyun.live-829NViyOdL42DNDyYJhxWw==
  37. com.iflytek.xiri-WgYGkZvi6pwHhlca9dWSJw==
  38. com.mylejia.store--X53YUFZXKN1XMhyN9prZw==
  39. com.tv.kuaisou-fI0vFrNXcO_5RNCnl5c-7A==
  40. com.xiaodianshi.tv.yst-KrOFFpsDIBXvgmut74jw_Q==
  41. jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==
  42. me.thomastv.rebootupdate-4SVHakbq9YXs3X7ozxyY0w==
  43. cmcc_jiangsu:/ # ls /system/app /* 系统预装应用 */
  44. Bluetooth
  45. BtAutoConn_release_9.0_V1.0_19_20210827_chinamobile
  46. CertInstaller
  47. CompanionDeviceManager
  48. Dangbei2.apk
  49. ExtShared
  50. GDYD-IPTVSettings-AN9-ALL-DEBUG-1.0.0-20210805-1058.apk
  51. KeyChain
  52. LatinIME
  53. PacProcessor
  54. SecureElement
  55. SkySettingA9_jiangsuCMCC_release
  56. SoftDetector_V5.1.0_20210721_35101_x025_encrypt
  57. Superuser
  58. SystemXiri_release-2.0.4-unsigned_signed_Aligned
  59. Tr069_Service.apk
  60. TvSettings
  61. xiri
  62. cmcc_jiangsu:/ # ls /system/priv-app /* 系统特权应用 */
  63. BackupRestoreConfirmation ManagedProvisioning Shell
  64. DefaultContainerService MediaProvider SkySettings
  65. DownloadProvider PackageInstaller StatementService
  66. ExtServices ProxyHandler SystemUI
  67. ExternalStorageProvider Settings VpnDialogs
  68. FusedLocation SettingsProvider
  69. InputDevices SharedStorageBackup
  70. cmcc_jiangsu:/ #

%%%%%

查看包的系统状态信息

        语法:

pm dump 子命令 包名

        子命令:

  1. pm dump package [包名] /* 打印服务信息 */
  2. pm dump activity [包名] /* 打印 Activity 信息 */
  3. pm dump meminfo [包名] /* 打印当前内存使用信息 */
  4. pm dump procstats [包名] /* 打印系统内存使用与一段时间内存汇总 */
  5. pm dump usagestats [包名] /* 打印服务器使用状态信息 */
  6. pm dump batterystats [包名] /* 打印电池状态信息 */

        不过我的盒子总报错 只好使用 dumpsys 命令:

  1. dumpsys package [包名] /* 打印服务信息 */
  2. dumpsys activity [包名] /* 打印 Activity 信息 */
  3. dumpsys meminfo [包名] /* 打印当前内存使用信息 */
  4. dumpsys procstats [包名] /* 打印系统内存使用与一段时间内存汇总 */
  5. dumpsys usagestats [包名] /* 打印服务器使用状态信息 */
  6. dumpsys batterystats [包名] /* 打印电池状态信息 */

        示例查看 终端模拟器 的包信息:

  1. cmcc_jiangsu:/ # dumpsys package jackpal.androidterm
  2. Activity Resolver Table:
  3. Full MIME Types:
  4. */*:
  5. 2c3ec43 jackpal.androidterm/.TermHere filter 4201189
  6. Action: "android.intent.action.SEND"
  7. Category: "android.intent.category.DEFAULT"
  8. Type: "*"
  9. mPriority=0, mOrder=0, mHasPartialTypes=true
  10. e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 801b9cb
  11. Action: "android.intent.action.GET_CONTENT"
  12. Category: "android.intent.category.DEFAULT"
  13. Category: "android.intent.category.OPENABLE"
  14. Type: "*"
  15. mPriority=0, mOrder=0, mHasPartialTypes=true
  16. Wild MIME Types:
  17. *:
  18. 2c3ec43 jackpal.androidterm/.TermHere filter 4201189
  19. Action: "android.intent.action.SEND"
  20. Category: "android.intent.category.DEFAULT"
  21. Type: "*"
  22. mPriority=0, mOrder=0, mHasPartialTypes=true
  23. e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 801b9cb
  24. Action: "android.intent.action.GET_CONTENT"
  25. Category: "android.intent.category.DEFAULT"
  26. Category: "android.intent.category.OPENABLE"
  27. Type: "*"
  28. mPriority=0, mOrder=0, mHasPartialTypes=true
  29. Non-Data Actions:
  30. jackpal.androidterm.RUN_SHORTCUT:
  31. abe4bf9 jackpal.androidterm/.RunShortcut filter a41b1af
  32. Action: "jackpal.androidterm.RUN_SHORTCUT"
  33. Category: "android.intent.category.DEFAULT"
  34. jackpal.androidterm.private.SWITCH_WINDOW:
  35. 9c2673e jackpal.androidterm/.TermInternal filter 7613353
  36. Action: "jackpal.androidterm.private.SWITCH_WINDOW"
  37. Category: "android.intent.category.DEFAULT"
  38. jackpal.androidterm.OPEN_NEW_WINDOW:
  39. b2f099f jackpal.androidterm/.RemoteInterface filter 7385490
  40. Action: "jackpal.androidterm.OPEN_NEW_WINDOW"
  41. Category: "android.intent.category.DEFAULT"
  42. android.intent.action.MAIN:
  43. 7efbaec jackpal.androidterm/.Term filter b79698d
  44. Action: "android.intent.action.MAIN"
  45. Category: "android.intent.category.LAUNCHER"
  46. Category: "android.intent.category.MULTIWINDOW_LAUNCHER"
  47. a8eaeb5 jackpal.androidterm/.shortcuts.AddShortcut filter e7629bc
  48. Action: "android.intent.action.MAIN"
  49. android.intent.action.PICK:
  50. e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 8664c9a
  51. Action: "android.intent.action.PICK"
  52. Category: "android.intent.category.DEFAULT"
  53. jackpal.androidterm.RUN_SCRIPT:
  54. cf9b94a jackpal.androidterm/.RunScript filter ff5658e
  55. Action: "jackpal.androidterm.RUN_SCRIPT"
  56. Category: "android.intent.category.DEFAULT"
  57. jackpal.androidterm.private.OPEN_NEW_WINDOW:
  58. 9c2673e jackpal.androidterm/.TermInternal filter e91742
  59. Action: "jackpal.androidterm.private.OPEN_NEW_WINDOW"
  60. Category: "android.intent.category.DEFAULT"
  61. android.intent.action.CREATE_SHORTCUT:
  62. a8eaeb5 jackpal.androidterm/.shortcuts.AddShortcut filter c6f3d45
  63. Action: "android.intent.action.CREATE_SHORTCUT"
  64. MIME Typed Actions:
  65. android.intent.action.SEND:
  66. 2c3ec43 jackpal.androidterm/.TermHere filter 4201189
  67. Action: "android.intent.action.SEND"
  68. Category: "android.intent.category.DEFAULT"
  69. Type: "*"
  70. mPriority=0, mOrder=0, mHasPartialTypes=true
  71. android.intent.action.GET_CONTENT:
  72. e3a32c0 jackpal.androidterm/.shortcuts.FSNavigator filter 801b9cb
  73. Action: "android.intent.action.GET_CONTENT"
  74. Category: "android.intent.category.DEFAULT"
  75. Category: "android.intent.category.OPENABLE"
  76. Type: "*"
  77. mPriority=0, mOrder=0, mHasPartialTypes=true
  78. Service Resolver Table:
  79. Non-Data Actions:
  80. jackpal.androidterm.action.START_TERM.v1:
  81. 604a0bb jackpal.androidterm/.TermService filter 427ba24
  82. Action: "jackpal.androidterm.action.START_TERM.v1"
  83. Category: "android.intent.category.DEFAULT"
  84. Permissions:
  85. Permission [jackpal.androidterm.permission.PREPEND_TO_PATH] (49399d8):
  86. sourcePackage=jackpal.androidterm
  87. uid=10031 gids=null type=0 prot=dangerous
  88. perm=Permission{c88131 jackpal.androidterm.permission.PREPEND_TO_PATH}
  89. packageSetting=PackageSetting{9a22016 jackpal.androidterm/10031}
  90. Permissions:
  91. Permission [jackpal.androidterm.permission.RUN_SCRIPT] (6d28d97):
  92. sourcePackage=jackpal.androidterm
  93. uid=10031 gids=null type=0 prot=dangerous
  94. perm=Permission{8947b84 jackpal.androidterm.permission.RUN_SCRIPT}
  95. packageSetting=PackageSetting{9a22016 jackpal.androidterm/10031}
  96. Permissions:
  97. Permission [jackpal.androidterm.permission.APPEND_TO_PATH] (f2ff6d):
  98. sourcePackage=jackpal.androidterm
  99. uid=10031 gids=null type=0 prot=dangerous
  100. perm=Permission{c9827a2 jackpal.androidterm.permission.APPEND_TO_PATH}
  101. packageSetting=PackageSetting{9a22016 jackpal.androidterm/10031}
  102. Key Set Manager:
  103. [jackpal.androidterm]
  104. Signing KeySets: 17
  105. Packages:
  106. Package [jackpal.androidterm] (9a22016):
  107. userId=10031
  108. pkg=Package{2286c33 jackpal.androidterm}
  109. codePath=/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==
  110. resourcePath=/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==
  111. legacyNativeLibraryDir=/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ=
  112. =/lib
  113. primaryCpuAbi=armeabi
  114. secondaryCpuAbi=null
  115. versionCode=71 minSdk=4 targetSdk=22
  116. versionName=1.0.70
  117. splits=[base]
  118. apkSigningVersion=1
  119. applicationInfo=ApplicationInfo{e9fcbf0 jackpal.androidterm}
  120. flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
  121. privateFlags=[ DEFAULT_TO_DEVICE_PROTECTED_STORAGE DIRECT_BOOT_AWARE ]
  122. dataDir=/data/user_de/0/jackpal.androidterm
  123. supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
  124. usesLibraries:
  125. org.apache.http.legacy
  126. usesLibraryFiles:
  127. /system/framework/org.apache.http.legacy.boot.jar
  128. timeStamp=2022-07-23 23:53:02
  129. firstInstallTime=2022-07-23 23:53:02
  130. lastUpdateTime=2022-07-23 23:53:02
  131. signatures=PackageSignatures{5cd2569 version:1, signatures:[e7b54ff0], past
  132. signatures:[]}
  133. installPermissionsFixed=true
  134. pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
  135. declared permissions:
  136. jackpal.androidterm.permission.RUN_SCRIPT: prot=dangerous, INSTALLED
  137. jackpal.androidterm.permission.APPEND_TO_PATH: prot=dangerous, INSTALLED
  138. jackpal.androidterm.permission.PREPEND_TO_PATH: prot=dangerous, INSTALLED
  139. requested permissions:
  140. android.permission.INTERNET
  141. android.permission.READ_EXTERNAL_STORAGE
  142. android.permission.WRITE_EXTERNAL_STORAGE
  143. android.permission.ACCESS_SUPERUSER
  144. android.permission.WAKE_LOCK
  145. install permissions:
  146. android.permission.INTERNET: granted=true
  147. android.permission.READ_EXTERNAL_STORAGE: granted=true
  148. android.permission.WRITE_EXTERNAL_STORAGE: granted=true
  149. android.permission.WAKE_LOCK: granted=true
  150. User 0: ceDataInode=-4294966708 installed=true hidden=false suspended=false
  151. stopped=false notLaunched=false enabled=0 instant=false virtual=false
  152. gids=[3003]
  153. runtime permissions:
  154. Package Changes:
  155. Sequence number=0
  156. Dexopt state:
  157. [jackpal.androidterm]
  158. path: /data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==/base.apk
  159. arm: [status=speed-profile] [reason=install]
  160. Compiler stats:
  161. [jackpal.androidterm]
  162. (No recorded stats)
  163. cmcc_jiangsu:/ #

        示例查看进程中的 sh 信息:

  1. cmcc_jiangsu:/ # dumpsys procstats sh
  2. CURRENT STATS:
  3. System memory usage:
  4. SOn /Norm: 1 samples:
  5. Cached: 176MB min, 176MB avg, 176MB max
  6. Free: 705MB min, 705MB avg, 705MB max
  7. ZRam: 12KB min, 12KB avg, 12KB max
  8. Kernel: 145MB min, 145MB avg, 145MB max
  9. Native: 388MB min, 388MB avg, 388MB max
  10. Low : 1 samples:
  11. Cached: 136MB min, 136MB avg, 136MB max
  12. Free: 860MB min, 860MB avg, 860MB max
  13. ZRam: 0.00 min, 0.00 avg, 0.00 max
  14. Kernel: 129MB min, 129MB avg, 129MB max
  15. Native: 311MB min, 311MB avg, 311MB max
  16. Summary:
  17. Run time Stats:
  18. SOn /Norm: +36m9s929ms (running)
  19. Mod : +24s266ms
  20. Low : +5s211ms
  21. Crit: +4s583ms
  22. TOTAL: +36m43s989ms
  23. Memory usage:
  24. Kernel : 137MB (16 samples)
  25. Native : 350MB (16 samples)
  26. Persist: 154MB (110 samples)
  27. Top: 121MB (35 samples)
  28. ImpFg: 134MB (193 samples)
  29. ImpBg: 7.1MB (15 samples)
  30. Service: 62MB (168 samples)
  31. Receivr: 22KB (63 samples)
  32. LastAct: 466KB (25 samples)
  33. CchEmty: 117MB (151 samples)
  34. Cached : 156MB (16 samples)
  35. Free : 783MB (16 samples)
  36. Z-Ram : 6.0KB (16 samples)
  37. TOTAL : 2.0GB
  38. ServRst: 556KB (28 samples)
  39. PSS collection stats:
  40. Internal Single: 113x over +6s76ms
  41. Internal All Procs (Memory Change): 0x over 0
  42. Internal All Procs (Polling): 2x over +147ms
  43. External: 0x over 0
  44. External Slow: 63x over +6s830ms
  45. Start time: 2015-01-01 08:00:10
  46. Total uptime: +36m44s154ms
  47. Total elapsed time: +36m44s154ms (partial) (swapped-out-pss) libart.so
  48. Available pages by page size:
  49. Zone 0 Unmovable 1 0 13 10 17 14 14 9 3
  50. 2 0
  51. Zone 0 Movable 0 1 1 1 4 10 3 0 2
  52. 4 159
  53. Zone 0 Reclaimable 1 1 0 1 0 1 0 0 1
  54. 1 0
  55. Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
  56. 0 0
  57. Zone 0 CMA 0 0 0 0 0 0 0 0 1
  58. 0 0
  59. Zone 0 Isolate 0 0 0 0 0 0 0 0 0
  60. 0 0
  61. Zone 0 Unmovable 0 1 0 0 1 1 0 0 0
  62. 1 0
  63. Zone 0 Movable 1 0 0 1 1 1 1 1 1
  64. 0 66
  65. Zone 0 Reclaimable 0 0 0 0 0 0 0 0 0
  66. 0 0
  67. Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
  68. 0 0
  69. Zone 0 CMA 3 3 3 1 4 0 1 0 1
  70. 1 148
  71. Zone 0 Isolate 0 0 0 0 0 0 0 0 0
  72. 0 0
  73. AGGREGATED OVER LAST 24 HOURS:
  74. System memory usage:
  75. SOn /Norm: 8 samples:
  76. Cached: 168MB min, 275MB avg, 340MB max
  77. Free: 463MB min, 639MB avg, 893MB max
  78. ZRam: 0.00 min, 9.0KB avg, 12KB max
  79. Kernel: 125MB min, 140MB avg, 149MB max
  80. Native: 338MB min, 380MB avg, 407MB max
  81. Low : 2 samples:
  82. Cached: 136MB min, 233MB avg, 330MB max
  83. Free: 568MB min, 714MB avg, 860MB max
  84. ZRam: 0.00 min, 6.0KB avg, 12KB max
  85. Kernel: 129MB min, 135MB avg, 142MB max
  86. Native: 311MB min, 358MB avg, 405MB max
  87. Summary:
  88. Run time Stats:
  89. SOn /Norm: +5h52m19s853ms
  90. Mod : +22m13s287ms
  91. Low : +2h0m22s180ms
  92. Crit: +4s583ms
  93. TOTAL: +8h14m59s903ms
  94. Memory usage:
  95. Kernel : 140MB (78 samples)
  96. Native : 379MB (78 samples)
  97. Persist: 157MB (241 samples)
  98. Top: 128MB (88 samples)
  99. ImpFg: 123MB (1195 samples)
  100. ImpBg: 13MB (40 samples)
  101. Service: 49MB (947 samples)
  102. Receivr: 4.0KB (422 samples)
  103. LastAct: 373KB (72 samples)
  104. CchAct: 14MB (17 samples)
  105. CchEmty: 79MB (391 samples)
  106. Cached : 272MB (78 samples)
  107. Free : 643MB (78 samples)
  108. Z-Ram : 8.7KB (78 samples)
  109. TOTAL : 1.9GB
  110. ServRst: 48KB (89 samples)
  111. PSS collection stats:
  112. Internal Single: 315x over +17s246ms
  113. Internal All Procs (Memory Change): 81x over +3s988ms
  114. Internal All Procs (Polling): 63x over +3s189ms
  115. External: 0x over 0
  116. External Slow: 519x over +1m2s809ms
  117. Start time: 2015-01-01 08:00:10
  118. Total uptime: +8h15m0s252ms
  119. Total elapsed time: +8h15m0s253ms (partial) (swapped-out-pss) libart.so
  120. Available pages by page size:
  121. Zone 0 Unmovable 1 0 13 10 17 14 14 9 3
  122. 2 0
  123. Zone 0 Movable 0 1 1 1 4 10 3 0 2
  124. 4 159
  125. Zone 0 Reclaimable 1 1 0 1 0 1 0 0 1
  126. 1 0
  127. Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
  128. 0 0
  129. Zone 0 CMA 0 0 0 0 0 0 0 0 1
  130. 0 0
  131. Zone 0 Isolate 0 0 0 0 0 0 0 0 0
  132. 0 0
  133. Zone 0 Unmovable 0 1 0 0 1 1 0 0 0
  134. 1 0
  135. Zone 0 Movable 1 0 0 1 1 1 1 1 1
  136. 0 66
  137. Zone 0 Reclaimable 0 0 0 0 0 0 0 0 0
  138. 0 0
  139. Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
  140. 0 0
  141. Zone 0 CMA 3 3 3 1 4 0 1 0 1
  142. 1 148
  143. Zone 0 Isolate 0 0 0 0 0 0 0 0 0
  144. 0 0
  145. AGGREGATED OVER LAST 3 HOURS:
  146. System memory usage:
  147. SOn /Norm: 1 samples:
  148. Cached: 176MB min, 176MB avg, 176MB max
  149. Free: 705MB min, 705MB avg, 705MB max
  150. ZRam: 12KB min, 12KB avg, 12KB max
  151. Kernel: 145MB min, 145MB avg, 145MB max
  152. Native: 388MB min, 388MB avg, 388MB max
  153. Low : 2 samples:
  154. Cached: 136MB min, 233MB avg, 330MB max
  155. Free: 568MB min, 714MB avg, 860MB max
  156. ZRam: 0.00 min, 6.0KB avg, 12KB max
  157. Kernel: 129MB min, 135MB avg, 142MB max
  158. Native: 311MB min, 358MB avg, 405MB max
  159. Summary:
  160. Run time Stats:
  161. SOn /Norm: +36m9s997ms
  162. Mod : +24s266ms
  163. Low : +2h0m21s599ms
  164. Crit: +4s583ms
  165. TOTAL: +2h37m0s445ms
  166. Memory usage:
  167. Kernel : 139MB (24 samples)
  168. Native : 368MB (24 samples)
  169. Persist: 155MB (129 samples)
  170. Top: 143MB (29 samples)
  171. ImpFg: 154MB (414 samples)
  172. ImpBg: 17MB (14 samples)
  173. Service: 73MB (314 samples)
  174. Receivr: 5.1KB (81 samples)
  175. LastAct: 109KB (29 samples)
  176. CchEmty: 65MB (151 samples)
  177. Cached : 214MB (24 samples)
  178. Free : 711MB (24 samples)
  179. Z-Ram : 8.0KB (24 samples)
  180. TOTAL : 2.0GB
  181. ServRst: 139KB (37 samples)
  182. PSS collection stats:
  183. Internal Single: 136x over +7s324ms
  184. Internal All Procs (Memory Change): 0x over 0
  185. Internal All Procs (Polling): 23x over +1s208ms
  186. External: 0x over 0
  187. External Slow: 183x over +21s381ms
  188. Start time: 2015-01-01 08:00:10
  189. Total uptime: +2h37m0s615ms
  190. Total elapsed time: +2h37m0s615ms (partial) (swapped-out-pss) libart.so
  191. Available pages by page size:
  192. Zone 0 Unmovable 1 0 13 10 17 14 14 9 3
  193. 2 0
  194. Zone 0 Movable 0 1 1 1 4 10 3 0 2
  195. 4 159
  196. Zone 0 Reclaimable 1 1 0 1 0 1 0 0 1
  197. 1 0
  198. Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
  199. 0 0
  200. Zone 0 CMA 0 0 0 0 0 0 0 0 1
  201. 0 0
  202. Zone 0 Isolate 0 0 0 0 0 0 0 0 0
  203. 0 0
  204. Zone 0 Unmovable 0 1 0 0 1 1 0 0 0
  205. 1 0
  206. Zone 0 Movable 1 0 0 1 1 1 1 1 1
  207. 0 66
  208. Zone 0 Reclaimable 0 0 0 0 0 0 0 0 0
  209. 0 0
  210. Zone 0 HighAtomic 0 0 0 0 0 0 0 0 0
  211. 0 0
  212. Zone 0 CMA 3 3 3 1 4 0 1 0 1
  213. 1 148
  214. Zone 0 Isolate 0 0 0 0 0 0 0 0 0
  215. 0 0
  216. cmcc_jiangsu:/ #

%%%%%

查看系统功能与支持库信息

        查看系统功能:

pm list feature    /* 打印系统的所有功能/列出所有硬件相关信息 */

        查看支持库信息:

pm list libraries    /* 打印当前设备所支持的所有库 */

        示例查看支持库:

  1. cmcc_jiangsu:/ # pm list libraries
  2. library:android.ext.services
  3. library:android.ext.shared
  4. library:android.test.base
  5. library:android.test.mock
  6. library:android.test.runner
  7. library:com.android.future.usb.accessory
  8. library:com.android.location.provider
  9. library:com.android.media.remotedisplay
  10. library:com.android.mediadrm.signer
  11. library:droidlogic.software.core
  12. library:droidlogic.tv.software.core
  13. library:javax.obex
  14. library:org.apache.http.legacy
  15. cmcc_jiangsu:/ #

%%%%%

测试包与 APK 路径查询

        测试包:

  1. pm list instrymentation /* 列出所有的 instrumentation 测试包 */
  2. pm list instrymentation 包名 /* 指定某个 app 的测试包 */
  3. pm list instrymentation -f /* 列出 apk 文件位置 */

        APK 路径查询:

pm path 包名	/* 列出指定包的 APK 路径 */

        示例:

  1. cmcc_jiangsu:/ # pm path jackpal.androidterm
  2. package:/data/app/jackpal.androidterm-sAgHElvcbHuZtUuQdCSIdQ==/base.apk
  3. cmcc_jiangsu:/ #

——————————

查询

%%%%%

常用查询语法及常用参数

        pm 查询语法:

pm list packages 参数 包名

        pm 查询常用参数:

  1. -i 查看应用的安装者
  2. -f 显示每个包的文件位置
  3. -d 搭配过滤器 只显示禁用的应用的包名
  4. -e 搭配过滤器 只显示可用的应用的包名
  5. -s 搭配过滤器 只显示系统应用的包名
  6. -3 搭配过滤器 只显示第三方应用的包名

%%%%%

列出所有包

  1. cmcc_jiangsu:/tmp # pm list packages
  2. package:com.iflytek.xiri
  3. package:com.droidlogic.inputmethod.remote
  4. package:com.android.providers.media
  5. package:com.mylejia.store
  6. package:com.android.externalstorage
  7. package:com.android.companiondevicemanager
  8. package:com.android.providers.downloads
  9. package:com.fengyun.live
  10. package:com.droidlogic
  11. package:com.dangbei.tvlauncher
  12. package:com.android.defcontainer
  13. package:com.android.pacprocessor
  14. package:com.android.certinstaller
  15. package:me.thomastv.rebootupdate
  16. package:android
  17. package:com.android.backupconfirm
  18. package:com.android.statementservice
  19. package:com.android.superuser
  20. package:com.android.providers.settings
  21. package:com.android.sharedstoragebackup
  22. package:com.iflytek.xiri2.system
  23. package:com.android.webview
  24. package:com.android.se
  25. package:com.android.inputdevices
  26. package:com.droidlogic.BluetoothRemote
  27. package:android.ext.shared
  28. package:com.android.keychain
  29. package:android.ext.services
  30. package:com.android.packageinstaller
  31. package:com.android.proxyhandler
  32. package:com.android.inputmethod.latin
  33. package:com.android.managedprovisioning
  34. package:com.iflytek.bt.auto
  35. package:com.android.settings
  36. package:com.android.vpndialogs
  37. package:com.android.shell
  38. package:com.dangbeimarket
  39. package:com.android.location.fused
  40. package:com.android.systemui
  41. package:com.android.bluetooth
  42. package:com.cmcc.mid.softdetector
  43. cmcc_jiangsu:/tmp #

%%%%%

-i 查看包的安装者

  1. cmcc_jiangsu:/tmp # pm list packages -i
  2. package:com.iflytek.xiri installer=null
  3. package:com.droidlogic.inputmethod.remote installer=null
  4. package:com.android.providers.media installer=null
  5. package:com.mylejia.store installer=null
  6. package:com.android.externalstorage installer=null
  7. package:com.android.companiondevicemanager installer=null
  8. package:com.android.providers.downloads installer=null
  9. package:com.fengyun.live installer=null
  10. package:com.droidlogic installer=null
  11. package:com.dangbei.tvlauncher installer=null
  12. package:com.android.defcontainer installer=null
  13. package:com.android.pacprocessor installer=null
  14. package:com.android.certinstaller installer=null
  15. package:me.thomastv.rebootupdate installer=null
  16. package:android installer=null
  17. package:com.android.backupconfirm installer=null
  18. package:com.android.statementservice installer=null
  19. package:com.android.superuser installer=null
  20. package:com.android.providers.settings installer=null
  21. package:com.android.sharedstoragebackup installer=null
  22. package:com.iflytek.xiri2.system installer=null
  23. package:com.android.webview installer=null
  24. package:com.android.se installer=null
  25. package:com.android.inputdevices installer=null
  26. package:com.droidlogic.BluetoothRemote installer=null
  27. package:android.ext.shared installer=null
  28. package:com.android.keychain installer=null
  29. package:android.ext.services installer=null
  30. package:com.android.packageinstaller installer=null
  31. package:com.android.proxyhandler installer=null
  32. package:com.android.inputmethod.latin installer=null
  33. package:com.android.managedprovisioning installer=null
  34. package:com.iflytek.bt.auto installer=null
  35. package:com.android.settings installer=null
  36. package:com.android.vpndialogs installer=null
  37. package:com.android.shell installer=null
  38. package:com.dangbeimarket installer=null
  39. package:com.android.location.fused installer=null
  40. package:com.android.systemui installer=null
  41. package:com.android.bluetooth installer=null
  42. package:com.cmcc.mid.softdetector installer=null
  43. cmcc_jiangsu:/tmp #

%%%%%

-u 列出包和未安装包信息

  1. cmcc_jiangsu:/tmp # pm list packages -u
  2. package:com.iflytek.xiri
  3. package:com.droidlogic.inputmethod.remote
  4. package:com.android.providers.media
  5. package:com.mylejia.store
  6. package:com.android.externalstorage
  7. package:com.android.companiondevicemanager
  8. package:com.android.providers.downloads
  9. package:com.fengyun.live
  10. package:com.droidlogic
  11. package:com.dangbei.tvlauncher
  12. package:com.android.defcontainer
  13. package:com.android.pacprocessor
  14. package:com.android.certinstaller
  15. package:me.thomastv.rebootupdate
  16. package:android
  17. package:com.android.backupconfirm
  18. package:com.android.statementservice
  19. package:com.android.superuser
  20. package:com.android.providers.settings
  21. package:com.android.sharedstoragebackup
  22. package:com.iflytek.xiri2.system
  23. package:com.android.webview
  24. package:com.android.se
  25. package:com.android.inputdevices
  26. package:com.droidlogic.BluetoothRemote
  27. package:android.ext.shared
  28. package:com.android.keychain
  29. package:android.ext.services
  30. package:com.android.packageinstaller
  31. package:com.android.proxyhandler
  32. package:com.android.inputmethod.latin
  33. package:com.android.managedprovisioning
  34. package:com.iflytek.bt.auto
  35. package:com.android.settings
  36. package:com.android.vpndialogs
  37. package:com.android.shell
  38. package:com.dangbeimarket
  39. package:com.android.location.fused
  40. package:com.android.systemui
  41. package:com.android.bluetooth
  42. package:com.cmcc.mid.softdetector
  43. cmcc_jiangsu:/tmp #

%%%%%

-e 列出启用包

  1. cmcc_jiangsu:/tmp # pm list packages -e
  2. package:com.iflytek.xiri
  3. package:com.droidlogic.inputmethod.remote
  4. package:com.android.providers.media
  5. package:com.mylejia.store
  6. package:com.android.externalstorage
  7. package:com.android.companiondevicemanager
  8. package:com.android.providers.downloads
  9. package:com.fengyun.live
  10. package:com.droidlogic
  11. package:com.dangbei.tvlauncher
  12. package:com.android.defcontainer
  13. package:com.android.pacprocessor
  14. package:com.android.certinstaller
  15. package:me.thomastv.rebootupdate
  16. package:android
  17. package:com.android.backupconfirm
  18. package:com.android.statementservice
  19. package:com.android.superuser
  20. package:com.android.providers.settings
  21. package:com.android.sharedstoragebackup
  22. package:com.iflytek.xiri2.system
  23. package:com.android.webview
  24. package:com.android.se
  25. package:com.android.inputdevices
  26. package:com.droidlogic.BluetoothRemote
  27. package:android.ext.shared
  28. package:com.android.keychain
  29. package:android.ext.services
  30. package:com.android.packageinstaller
  31. package:com.android.proxyhandler
  32. package:com.android.inputmethod.latin
  33. package:com.android.managedprovisioning
  34. package:com.iflytek.bt.auto
  35. package:com.android.settings
  36. package:com.android.vpndialogs
  37. package:com.android.shell
  38. package:com.dangbeimarket
  39. package:com.android.location.fused
  40. package:com.android.systemui
  41. package:com.android.bluetooth
  42. package:com.cmcc.mid.softdetector
  43. cmcc_jiangsu:/tmp #

%%%%%

-d 列出禁用包

  1. cmcc_jiangsu:/tmp # pm list packages -d
  2. cmcc_jiangsu:/tmp #

%%%%%

-s 列出系统包

  1. cmcc_jiangsu:/tmp # pm list packages -s
  2. package:com.iflytek.xiri
  3. package:com.droidlogic.inputmethod.remote
  4. package:com.android.providers.media
  5. package:com.android.externalstorage
  6. package:com.android.companiondevicemanager
  7. package:com.android.providers.downloads
  8. package:com.droidlogic
  9. package:com.dangbei.tvlauncher
  10. package:com.android.defcontainer
  11. package:com.android.pacprocessor
  12. package:com.android.certinstaller
  13. package:android
  14. package:com.android.backupconfirm
  15. package:com.android.statementservice
  16. package:com.android.superuser
  17. package:com.android.providers.settings
  18. package:com.android.sharedstoragebackup
  19. package:com.iflytek.xiri2.system
  20. package:com.android.webview
  21. package:com.android.se
  22. package:com.android.inputdevices
  23. package:com.droidlogic.BluetoothRemote
  24. package:android.ext.shared
  25. package:com.android.keychain
  26. package:android.ext.services
  27. package:com.android.packageinstaller
  28. package:com.android.proxyhandler
  29. package:com.android.inputmethod.latin
  30. package:com.android.managedprovisioning
  31. package:com.iflytek.bt.auto
  32. package:com.android.settings
  33. package:com.android.vpndialogs
  34. package:com.android.shell
  35. package:com.android.location.fused
  36. package:com.android.systemui
  37. package:com.android.bluetooth
  38. package:com.cmcc.mid.softdetector
  39. cmcc_jiangsu:/tmp #

%%%%%

-3 列出所有第三方包

  1. cmcc_jiangsu:/tmp # pm list packages -3
  2. package:com.mylejia.store
  3. package:com.fengyun.live
  4. package:me.thomastv.rebootupdate
  5. package:com.dangbeimarket
  6. cmcc_jiangsu:/tmp #

%%%%%

-f 查看包的安装位置

        列出包和包相关联的文件:

  1. cmcc_jiangsu:/tmp # pm list packages -f
  2. package:/data/app/com.iflytek.xiri-WgYGkZvi6pwHhlca9dWSJw==/base.apk=com.iflytek.xiri
  3. package:/vendor/app/RemoteIME/RemoteIME.apk=com.droidlogic.inputmethod.remote
  4. package:/system/priv-app/MediaProvider/MediaProvider.apk=com.android.providers.media
  5. package:/data/app/com.mylejia.store--X53YUFZXKN1XMhyN9prZw==/base.apk=com.mylejia.store
  6. package:/system/priv-app/ExternalStorageProvider/ExternalStorageProvider.apk=com.android.externalstorage
  7. package:/system/app/CompanionDeviceManager/CompanionDeviceManager.apk=com.android.companiondevicemanager
  8. package:/system/priv-app/DownloadProvider/DownloadProvider.apk=com.android.providers.downloads
  9. package:/data/app/com.fengyun.live-829NViyOdL42DNDyYJhxWw==/base.apk=com.fengyun.live
  10. package:/product/priv-app/droidlogic-res/droidlogic-res.apk=com.droidlogic
  11. package:/system/app/Dangbei2.apk=com.dangbei.tvlauncher
  12. package:/system/priv-app/DefaultContainerService/DefaultContainerService.apk=com.android.defcontainer
  13. package:/system/app/PacProcessor/PacProcessor.apk=com.android.pacprocessor
  14. package:/system/app/CertInstaller/CertInstaller.apk=com.android.certinstaller
  15. package:/data/app/me.thomastv.rebootupdate-4SVHakbq9YXs3X7ozxyY0w==/base.apk=me.thomastv.rebootupdate
  16. package:/system/framework/framework-res.apk=android
  17. package:/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk=com.android.backupconfirm
  18. package:/system/priv-app/StatementService/StatementService.apk=com.android.statementservice
  19. package:/system/app/Superuser/Superuser.apk=com.android.superuser
  20. package:/system/priv-app/SettingsProvider/SettingsProvider.apk=com.android.providers.settings
  21. package:/system/priv-app/SharedStorageBackup/SharedStorageBackup.apk=com.android.sharedstoragebackup
  22. package:/system/app/SystemXiri_release-2.0.4-unsigned_signed_Aligned/SystemXiri_release-2.0.4-unsigned_signed_Aligned.apk=com.iflytek.xiri2.system
  23. package:/product/app/webview/webview.apk=com.android.webview
  24. package:/system/app/SecureElement/SecureElement.apk=com.android.se
  25. package:/system/priv-app/InputDevices/InputDevices.apk=com.android.inputdevices
  26. package:/vendor/app/BluetoothRemote/BluetoothRemote.apk=com.droidlogic.BluetoothRemote
  27. package:/system/app/ExtShared/ExtShared.apk=android.ext.shared
  28. package:/system/app/KeyChain/KeyChain.apk=com.android.keychain
  29. package:/system/priv-app/ExtServices/ExtServices.apk=android.ext.services
  30. package:/system/priv-app/PackageInstaller/PackageInstaller.apk=com.android.packageinstaller
  31. package:/system/priv-app/ProxyHandler/ProxyHandler.apk=com.android.proxyhandler
  32. package:/system/app/LatinIME/LatinIME.apk=com.android.inputmethod.latin
  33. package:/system/priv-app/ManagedProvisioning/ManagedProvisioning.apk=com.android.managedprovisioning
  34. package:/system/app/BtAutoConn_release_9.0_V1.0_19_20210827_chinamobile/BtAutoConn_release_9.0_V1.0_19_20210827_chinamobile.apk=com.iflytek.bt.auto
  35. package:/system/app/SkySettingA9_jiangsuCMCC_release/SkySettingA9_jiangsuCMCC_release.apk=com.android.settings
  36. package:/system/priv-app/VpnDialogs/VpnDialogs.apk=com.android.vpndialogs
  37. package:/system/priv-app/Shell/Shell.apk=com.android.shell
  38. package:/data/app/com.dangbeimarket-GvchZCDlwKegHBtoXBQhwg==/base.apk=com.dangbeimarket
  39. package:/system/priv-app/FusedLocation/FusedLocation.apk=com.android.location.fused
  40. package:/system/priv-app/SystemUI/SystemUI.apk=com.android.systemui
  41. package:/system/app/Bluetooth/Bluetooth.apk=com.android.bluetooth
  42. package:/system/app/SoftDetector_V5.1.0_20210721_35101_x025_encrypt/SoftDetector_V5.1.0_20210721_35101_x025_encrypt.apk=com.cmcc.mid.softdetector
  43. cmcc_jiangsu:/tmp #

%%%%%

搜索包

        搜索包很简单 在引号中输入包包含的字符 所有匹配的信息都列出来:

  1. shell@GIONEE_G1605A:/ $ pm list packages "androidterm" /* 寻找包含 androidterm 的包 */
  2. package:jackpal.androidterm
  3. shell@GIONEE_G1605A:/ $

        也可以根据多个参数配合查找:

  1. cmcc_jiangsu:/tmp # pm list packages -3 "live" /* 在第三方软件中搜索包含 live 字样的包 */
  2. package:com.fengyun.live
  3. cmcc_jiangsu:/tmp #

——————————

卸载

        卸载时如果加上 -k 参数表示保留配置和缓存文件:

  1. pm uninstall -k 应用名 /* 卸载应用且保留数据与缓存 */
  2. pm uninstall 应用名 /* 如果不加 -k 参数则全部删除 */

        卸载安卓预装软件的话我们经常使用该命令:

pm uninstall -k –user 包名

        示例卸载终端模拟器:

  1. shell@GIONEE_G1605A:/ $ pm list packages -3
  2. package:com.uei.quicksetsdk.mtkirmgr
  3. package:jackpal.androidterm
  4. package:com.iflytek.translate
  5. shell@GIONEE_G1605A:/ $ pm uninstall jackpal.androidterm
  6. Success
  7. shell@GIONEE_G1605A:/ $ pm list packages -3
  8. package:com.uei.quicksetsdk.mtkirmgr
  9. package:com.iflytek.translate
  10. shell@GIONEE_G1605A:/ $

%%%%%

根据 UID 卸载指定账户应用

        还可以卸载指定用户的软件

pm uninstall --user 0 应用    /* 卸载默认用户的 应用 */

        示例搭配用户 UID 卸载指定软件:

  1. cmcc_jiangsu:/ # pm list packages -3 /* 查看第三方应用 */
  2. package:com.xiaodianshi.tv.yst
  3. package:com.mylejia.store
  4. package:com.fengyun.live
  5. package:me.thomastv.rebootupdate
  6. package:jackpal.androidterm
  7. package:com.dangbeimarket
  8. cmcc_jiangsu:/ # pm uninstall --user 0 com.xiaodianshi.tv.yst /* 卸载机主的小破站 */
  9. Success
  10. cmcc_jiangsu:/ # pm list packages -3 /* 查看第三方应用 卸载成功 */
  11. package:com.mylejia.store
  12. package:com.fengyun.live
  13. package:me.thomastv.rebootupdate
  14. package:jackpal.androidterm
  15. package:com.dangbeimarket
  16. cmcc_jiangsu:/ #

——————————

安装

        需要注意的是 pm install 与 adb install 不同

        adb install 安装的 .apk 是在你的电脑上!

        而 pm install 安装的 .apk 是存储在你的手机中!

        所以手下你需要将 .apk 文件上传到手机目录中 常用的目录如:

/data/local/tmp

        安装 apk 最常用的两种方式:

  1. pm install apk /* 安装指定 apk */
  2. pm install -r APK /* -r 参数表示重新安装指定 apk 会保留应用数据 */

        其她参数 可能以后会用到:

  1. -l 锁定应用程序
  2. -t 允许测试 apk 被安装
  3. -i 指定安装包的包名!!!
  4. -s 安装到 sd 卡
  5. -f 默认安装到系统内置存储中
  6. -d 允许降级安装 同一应用低级换高级

        示例安装终端模拟器:

  1. cmcc_jiangsu:/ # pm list packages -3
  2. package:com.xiaodianshi.tv.yst
  3. package:com.mylejia.store
  4. package:com.fengyun.live
  5. package:me.thomastv.rebootupdate
  6. package:com.dangbeimarket
  7. cmcc_jiangsu:/ # ls /tmp/Term.apk -alh
  8. -rw-r--r-- 1 root root 551K 2022-05-28 23:35 /tmp/Term.apk
  9. cmcc_jiangsu:/ # pm install /tmp/Term.apk
  10. avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:su
  11. _tmpfs:s0 tclass=file permissive=1
  12. Success
  13. cmcc_jiangsu:/ # pm list packages -3
  14. package:com.xiaodianshi.tv.yst
  15. package:com.mylejia.store
  16. package:com.fengyun.live
  17. package:me.thomastv.rebootupdate
  18. package:jackpal.androidterm
  19. package:com.dangbeimarket
  20. cmcc_jiangsu:/ #

%%%%%

将 APP 安装到指定 UID 用户下

        语法格式:

pm install –user USER_ID name.apk

        示例将当贝市场安装到机主用户下:

  1. cmcc_jiangsu:/ # pm list users /* 列出用户信息 */
  2. Users:
  3. UserInfo{0:机主:13} running
  4. cmcc_jiangsu:/ # ls /sdcard/Android/data/com.dangbei.tvlauncher/files/Download/zm_fileupload /* 查看安装包在哪里 */
  5. Term-1.0.65.apk bilibiliTV_1.5.1_dangbei.apk
  6. Term.apk dangbeishichang1_3.11.9.2_dangbei.apk
  7. cmcc_jiangsu:/ # pm list packages -3 /* 查看第三方应用列表 */
  8. package:com.xiaodianshi.tv.yst
  9. package:com.mylejia.store
  10. package:com.fengyun.live
  11. package:me.thomastv.rebootupdate
  12. package:jackpal.androidterm
  13. package:com.dangbeimarket
  14. cmcc_jiangsu:/ # cd /sdcard/Android/data/com.dangbei.tvlauncher/files/Download/zm_fileupload /* 进入安装包目录 */
  15. cmcc_jiangsu:/sdcard/Android/data/com.dangbei.tvlauncher/files/Download/zm_fileupload # pwd /* 查看当前位置 */
  16. /sdcard/Android/data/com.dangbei.tvlauncher/files/Download/zm_fileupload
  17. cmcc_jiangsu:/sdcard/Android/data/com.dangbei.tvlauncher/files/Download/zm_fileupload # pm install --user 0 dangbeishichang1_3.11.9.2_dangbei.apk /* 将指定 apk 安装到 UID 为 0 的用户上 */
  18. avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:sd
  19. cardfs:s0 tclass=file permissive=1
  20. Success
  21. cmcc_jiangsu:/sdcard/Android/data/com.dangbei.tvlauncher/files/Download/zm_fileupload # cd / /* 回到根目录 */
  22. cmcc_jiangsu:/ # pm list packages -3 /* 查看第三方应用列表 发现多出来 com.dangbeimarket */
  23. package:com.xiaodianshi.tv.yst
  24. package:com.mylejia.store
  25. package:com.fengyun.live
  26. package:me.thomastv.rebootupdate
  27. package:jackpal.androidterm
  28. package:com.dangbeimarket
  29. package:com.tv.kuaisou
  30. cmcc_jiangsu:/ #

        安装成功:

com.dangbeimarket

——————————

控制

%%%%%

清除应用数据

        语法如下:

pm clear 包名

        示例 清除终端模拟器的数据:

  1. shell@GIONEE_G1605A:/mnt/sdcard $ pm clear jackpal.androidterm
  2. Success
  3. shell@GIONEE_G1605A:/mnt/sdcard $

%%%%%

停用/禁用/启用

        需要注意的是只有系统应用才可以禁用 第三方应用不可以哦

        主要是对 package/包 或 component/组件 进行操作:

  1. pm enable 包名/组件名 /* 使 package 或 component 可用 */
  2. pm disenable 包名/组件名 /* 使 package 或 component 不可用 直接就找不到应用了 */
  3. pm disenable-user 包名/组件名 /* 使 package 或 component 不可用 会显示已停用 */

        示例禁用 com.android.webview 包 介绍一个这个包:

        WebView 是 Android 系统提供的一个能显示网页的系统控件

        是一个特殊的 View 同时也是一个 ViewGroup 可以有很多其她子 View
        该控件的作用是用来展示一个 web 页面

        她使用的内核是 webkit 引擎
        在低版本和高版本采用了不同的 webkit 版本内核

        在版本更新到 4.4 后直接使用了 Chrome 作为内置网页浏览器

  1. cmcc_jiangsu:/ # pm list packages -d /* 没有禁用包 */
  2. cmcc_jiangsu:/ # pm list packages -s /* 查看系统包 */
  3. package:com.iflytek.xiri
  4. package:com.droidlogic.inputmethod.remote
  5. package:com.android.providers.media
  6. package:com.android.externalstorage
  7. package:com.android.companiondevicemanager
  8. package:com.android.providers.downloads
  9. package:com.droidlogic
  10. package:com.dangbei.tvlauncher
  11. package:com.android.defcontainer
  12. package:com.android.pacprocessor
  13. package:com.android.certinstaller
  14. package:android
  15. package:com.android.backupconfirm
  16. package:com.android.statementservice
  17. package:com.android.superuser
  18. package:com.android.providers.settings
  19. package:com.android.sharedstoragebackup
  20. package:com.iflytek.xiri2.system
  21. package:com.android.webview
  22. package:com.android.se
  23. package:com.android.inputdevices
  24. package:com.droidlogic.BluetoothRemote
  25. package:android.ext.shared
  26. package:com.android.keychain
  27. package:android.ext.services
  28. package:com.android.packageinstaller
  29. package:com.android.proxyhandler
  30. package:com.android.inputmethod.latin
  31. package:com.android.managedprovisioning
  32. package:com.iflytek.bt.auto
  33. package:com.android.settings
  34. package:com.android.vpndialogs
  35. package:com.android.shell
  36. package:com.android.location.fused
  37. package:com.android.systemui
  38. package:com.android.bluetooth
  39. package:com.cmcc.mid.softdetector
  40. cmcc_jiangsu:/ # pm disable-user com.android.webview /* 停用该包 这是一个浏览器控件 */
  41. Package com.android.webview new state: disabled-user
  42. cmcc_jiangsu:/ # pm list packages -d /* 查看禁用包 成功禁用 */
  43. package:com.android.webview
  44. cmcc_jiangsu:/ # pm disable com.android.bluetooth /* 禁用该包 这是蓝牙 */
  45. Package com.android.bluetooth new state: disabled
  46. cmcc_jiangsu:/ # pm list packages -d /* 查看禁用包 蓝牙也被禁了 */
  47. package:com.android.webview
  48. package:com.android.bluetooth
  49. cmcc_jiangsu:/ #

        WebView 组件是安卓系统中内置的一款基于 webkit 引擎、展现 web 页面的控件
        WebView 能够对 Web 页面进行显示和渲染
        网络上或本地可以直接使用 html 文件作布局 更可以和 JavaScript 交互调用

        WebView 控件功能强大

        除了具有一般 View 的属性和设置外 还可以对 url 请求、页面加载、渲染、页面交互进行强大的处理

  1. 总的来说 WebView 是用于展示网络请求后的结果
  2. 比如开发者开发一款 APP 如果想要用她访问网络 但是不想使用手机安装的浏览器
  3. 而是想在自己 APP 内部打开展示网页 此时就可以使用 WebView 这个组件来展示网页

        蓝牙就不需要介绍了吧 懂的都懂

        下面示例一下怎么启用应用:

  1. cmcc_jiangsu:/ # pm enable com.android.webview /* 恢复 WebView 控件 */
  2. Package com.android.webview new state: enabled
  3. cmcc_jiangsu:/ # pm list packages -d /* 查看禁用包列表 WebView 已经恢复 */
  4. package:com.android.bluetooth
  5. cmcc_jiangsu:/ # pm enable com.android.bluetooth /* 恢复蓝牙 */
  6. Package com.android.bluetooth new state: enabled
  7. cmcc_jiangsu:/ # pm list packages -d /* 已经没有禁用包了 */
  8. cmcc_jiangsu:/ # pm list packages -s
  9. package:com.iflytek.xiri
  10. package:com.droidlogic.inputmethod.remote
  11. package:com.android.providers.media
  12. package:com.android.externalstorage
  13. package:com.android.companiondevicemanager
  14. package:com.android.providers.downloads
  15. package:com.droidlogic
  16. package:com.dangbei.tvlauncher
  17. package:com.android.defcontainer
  18. package:com.android.pacprocessor
  19. package:com.android.certinstaller
  20. package:android
  21. package:com.android.backupconfirm
  22. package:com.android.statementservice
  23. package:com.android.superuser
  24. package:com.android.providers.settings
  25. package:com.android.sharedstoragebackup
  26. package:com.iflytek.xiri2.system
  27. package:com.android.webview
  28. package:com.android.se
  29. package:com.android.inputdevices
  30. package:com.droidlogic.BluetoothRemote
  31. package:android.ext.shared
  32. package:com.android.keychain
  33. package:android.ext.services
  34. package:com.android.packageinstaller
  35. package:com.android.proxyhandler
  36. package:com.android.inputmethod.latin
  37. package:com.android.managedprovisioning
  38. package:com.iflytek.bt.auto
  39. package:com.android.settings
  40. package:com.android.vpndialogs
  41. package:com.android.shell
  42. package:com.android.location.fused
  43. package:com.android.systemui
  44. package:com.android.bluetooth
  45. package:com.cmcc.mid.softdetector
  46. cmcc_jiangsu:/ #

%%%%%

隐藏与恢复应用

        被隐藏应用在应用管理中变得不可见 桌面图标也会消失:

  1. pm hide 应用 /* 隐藏 package 或 component */
  2. pm unhide 应用 /* 将 package 或 component 恢复可见 */

        示例隐藏小破站:

  1. cmcc_jiangsu:/ # pm list packages -3 /* 查看第三方应用 */
  2. package:com.xiaodianshi.tv.yst
  3. package:com.mylejia.store
  4. package:com.fengyun.live
  5. package:me.thomastv.rebootupdate
  6. package:jackpal.androidterm
  7. package:com.dangbeimarket
  8. cmcc_jiangsu:/ # pm hide com.xiaodianshi.tv.yst /* 隐藏 B 站 TV 版 */
  9. Package com.xiaodianshi.tv.yst new hidden state: true
  10. cmcc_jiangsu:/ # pm list packages -3 /* 再次查看第三方应用 发现消失了 */
  11. package:com.mylejia.store
  12. package:com.fengyun.live
  13. package:me.thomastv.rebootupdate
  14. package:jackpal.androidterm
  15. package:com.dangbeimarket
  16. cmcc_jiangsu:/ # pm list packages -d /* 并没有禁用 */
  17. cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png /* 截个屏 */
  18. screencap 3
  19. screencap start. screen_type: 1
  20. file path: /sdcard/sc/1.png
  21. new ScreenCatch ok
  22. got video+osd data: 1280 x 720
  23. SkEncodeImage success
  24. screencap end
  25. cmcc_jiangsu:/ #

        发现桌面图标消失掉了:

screencap -p /sdcard/sc/1.png

        示例恢复小破站:

  1. cmcc_jiangsu:/ # pm unhide com.xiaodianshi.tv.yst /* 恢复小破站 */
  2. Package com.xiaodianshi.tv.yst new hidden state: false
  3. cmcc_jiangsu:/ # pm list packages -3 /* 查看第三方应用 bilibili tv 回来了 */
  4. package:com.xiaodianshi.tv.yst
  5. package:com.mylejia.store
  6. package:com.fengyun.live
  7. package:me.thomastv.rebootupdate
  8. package:jackpal.androidterm
  9. package:com.dangbeimarket
  10. cmcc_jiangsu:/ # screencap -p /sdcard/sc/1.png /* 截个屏 */
  11. screencap 3
  12. screencap start. screen_type: 1
  13. file path: /sdcard/sc/1.png
  14. new ScreenCatch ok
  15. got video+osd data: 1280 x 720
  16. SkEncodeImage success
  17. screencap end
  18. cmcc_jiangsu:/ #

回来了

%%%%%

默认安装位置

        返回当前应用的安装位置:

pm get-install-localtion

        会返回 0/1/2 三种值 分别表示 自动/内部/外部

        示例:

  1. cmcc_jiangsu:/ # pm get-install-location
  2. 0[auto]
  3. cmcc_jiangsu:/ #

        我这边是让系统自动安装

        控制应用的默认安装位置

pm set-install-location 位置    /* 更改默认的安装位置 */

        参数如下:

  1. 0 自动 让系统决定最好的位置
  2. 1 内部存储 安装在内部设备上的存储
  3. 2 外部存储 安装在外部媒体

        示例更改安装位置 注意:

只适用于调试 不要瞎搞!

  1. cmcc_jiangsu:/ # pm set-install-location 2
  2. cmcc_jiangsu:/ # pm get-install-location
  3. 2[external]
  4. cmcc_jiangsu:/ # pm set-install-location 1
  5. cmcc_jiangsu:/ # pm get-install-location
  6. 1[internal]
  7. cmcc_jiangsu:/ # pm set-install-location 0
  8. cmcc_jiangsu:/ # pm get-install-location
  9. 0[auto]
  10. cmcc_jiangsu:/ #

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/134394
推荐阅读
相关标签
  

闽ICP备14008679号