该方法基于adb shell, 理论上适用于所有机型.
原理
-
实际上, Android端所有app都会在某个安装目录下留存一个
base.apk
, 重要的是找到这个对应的目录. -
可能用到的adb shell命令:
pm list packages #####查看当前连接设备或者虚拟机的所有包 pm list packages -f #####输出包和包相关联的.apk文件 pm path 包名 #####输出包对应.apk所在路径 pm list packages -[option] keyword #####按照要求搜索包 pm list packages -[option] | grep keyword #####按照要求搜索包
虽然
pm list
似乎仍然有效, 但根据NOTE, 可能未来会被移除, 失效时尝试用cmd package
代替NOTE: 'pm list' commands have moved! Run 'adb shell cmd package'
具体步骤
以哔哩哔哩App为例:
- 以bili为关键词, 找到哔哩哔哩对应的路径所在:
adb shell pm list packages -f bili
结果如下:
C:\Users\xxx>adb shell pm list packages -f bili package:/data/app/tv.danmaku.bili-n2DAdd4sya5UlwQudEFQew==/base.apk=tv.danmaku.bili
- 将对应apk导出至PC端:
adb pull /data/app/tv.danmaku.bili-n2DAdd4sya5UlwQudEFQew==/base.apk .
大功告成.