使用ADB提取安卓已装应用的安装包

Published: Tags: ANDROID

笔者前些天不小心在清理手机垃圾时,忘了取消勾选安装包的选项,然后我备份的APK文件都没了。 坑爹的是连笔者的备份硬盘里面,也没保留副本,这对笔者来说是个双重打击,主要是精神上的。

重新找是不可能的,这辈子都不能把时间浪费在这上面的,毕竟有些破解包可不是这么容易找到的。 因此笔者上网查了下,发现安卓系统在安装应用之后,会把原始的安装包保留在/data/app/目录下。

所以只要把安装包提取出来就可以啦,进入手机的开发者选项并打开USB调试,接着使用命令:

$ adb shell pm list packages #列出所有应用程序的包名(可用grep过滤)
$ adb shell pm path com.termuxcom.termux #显示指定应用的包体所在路径

其实以上的命令可以合二为一,并且只列出自行安装的应用,方便排除

$ adb shell pm list packages -3 -f #只列出第三方的包名和对应路径

得到的路径类似如下格式:

package:/data/app/com.termuxcom.termux-1.apk #旧版系统的路径格式
package:/data/app/com.termuxcom.termux-6ZqP5py655qE5a2X56ym5Liy/base.apk #新版格式

最后,我们再用adb命令pull文件到本地目录,就完成啦:

$ adb pull /data/app/com.termuxcom.termux-1.apk ./termux.apk