最近有个需求需要获取手机上已安装应用列表,需要包含应用名称(非包名)、版本号、包名等信息,记录一下解决过程。
1. list
使用adb命令查看设备已安装应用列表很简单
adb shell pm list packages -3
但命令只能获取到应用包名
2.dumpsys
想要获取应用的详细信息需要使用以下命令
adb shell pm dumpsys package [pkgName]
但查看输出发现,该命令可以获取到包名、版本号、权限等字段,就是没有app名字
3.aapt工具
想要获取app名字需要使用aapt工具
//1.查询应用安装包路径
adb shell pm list packages -f
//2.将安装包pull到本地
adb pull [安装包路径] [本地路径]
//3.使用aapt工具解析安装包
aapt d badging [本地apk路径]
可以这个方法比较麻烦,每个app都需要先pull到本地再解析,而一般手机上几十个甚至上百个app,这种方法就不太适用了
4.终极方案
经过查询发现了一种终极解决方案,就是将appt push到手机中执行
参考文章:
system info - Obtain package name AND common name of apps via ADB - Android Enthusiasts Stack Exchangehttps://android.stackexchange.com/questions/90141/obtain-package-name-and-common-name-of-apps-via-adb首先下载手机上可以运行的aapt文件
APDE/APDE/src/main/assets/aapt-binaries/aapt-arm-pie at fdc22eb31048862e1484f4b6eca229accda61466 · Calsign/APDE · GitHubSource code for APDE: Create and run Processing sketches on an Android device. - APDE/APDE/src/main/assets/aapt-binaries/aapt-arm-pie at fdc22eb31048862e1484f4b6eca229accda61466 · Calsign/APDEhttps://github.com/Calsign/APDE/blob/fdc22eb31048862e1484f4b6eca229accda61466/APDE/src/main/assets/aapt-binaries/aapt-arm-pie将aapt文件push到手机内并赋予权限
adb push aapt-arm-pie /data/local/tmp
adb shell chmod 0755 /data/local/tmp/aapt-arm-pie
然后获取手机上应用安装包路径
adb shell pm list packages -f
执行aapt命令解析文章来源:https://www.toymoban.com/news/detail-608332.html
adb shell /data/local/tmp/aapt-arm-pie d badging [apk路径]
这样就可以直接在shell命令中获取apk的详细信息了文章来源地址https://www.toymoban.com/news/detail-608332.html
到了这里,关于使用ADB命令查看手机已安装应用详细信息,包含应用名称的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!