- 问题背景
- 解决方法
- 总结
阅读之前注意:
本文阅读建议用时:5min
问题背景
有时候要找一个应用的apk,但可能这个应用是系统应用,或者以前的下载链接已经不可用,此时怎么拿到apk呢?以下提供解决方法,前提是你手机上已经安装了这个应用。
解决方法
- 启动手机上的应用,Mac打开终端输入
adb shell dumpsys window windows | grep 'mCurrentFocus'
,即通过adb的shell命令来获取系统中的窗口信息,并使用grep来匹配当前显示在屏幕的窗口。 - 根据之前终端显示的信息,再输入
adb shell pm path com.sony.walkman.mediaplayers.wm2
,这样就能获取到apk所在的路径。
- 最后,终端输入
adb pull apkFilePath yourMacFilePath
,即拉取apk到你的Mac上。
事实上,如果是系统应用的apk,你很有可能需要再拉取同名的odex文件,因为你拉取下来的apk中不包含classes.dex文件。这算是系统应用的一定程度上的反盗版措施了吧。
这种情况下,如果你直接adb install xxx.apk的话,应该会提示xxxx-1/base.apk code is missing。
总结
一句话总结:使用adb相关指令可以获取安卓系统已安装应用的apk包。
如果本文对你有帮助,不如请我一罐可乐吧 🍺