使用ADB命令查看手机已安装应用详细信息,包含应用名称

最近有个需求需要获取手机上已安装应用列表,需要包含应用名称(非包名)、版本号、包名等信息,记录一下解决过程。

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命令解析

adb shell /data/local/tmp/aapt-arm-pie d badging [apk路径]

这样就可以直接在shell命令中获取apk的详细信息了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值