概述
提取Android中已安装的apk,这个需求很多时候都会遇到。比如从google play上安装过apk后,如何提取出来给别人用?
本文1. 先介绍转载的apk提取方法并 2. 验证提取出来的apk和安装之前的apk的一致性。
0x01原文:adb 取出安装在手机中的 apk
参考:http://wiki.jikexueyuan.com/project/android-actual-combat-skills/adb-remove-the-apk-installed-on-the-phone.html
场景:
朋友看见你 Android 手机中的游戏或应用很好玩,也想装一个此程序,但限于网络条件不能从网上下载。那么最简单的办法就是直接从你手机中将此 apk 扣出来给他安装上。
pm 命令
第一步,找到程序的包名
借助 adb shell pm 命令,将安装的所有应用包名列出来:
$ adb shell pm list packages
package:android
package:cn.wps.moffice
package:com.android.backupconfirm
package:com.android.bluetooth
package:com.android.browser
package:com.android.calculator2
package:com.android.camera
package:com.android.certinstaller
package:com.android.contacts
第二步,找到 apk 的位置
$ adb shell pm path com.tence01.mm
package:/data/app/com.tence01.mm-1.apk
第三步,pull 出来
$ adb pull /data/app/com.tence01.mm-1.apk ~/apks
2407 KB/s (25567735 bytes in 10.370s)
root 的手机会更好办
$ adb shell
shell@android:/ $ su
shell@android:/ # cd data/app
shell@android:/data/app # ls
com.android.update.dmp-2.apk
com.baidu.superservice-1.apk
com.tence01.mm-1.apk
com.tencent.mm-1.apk
或者直接搜索你要的 apk:
shell@android:/ # find -name *.apk
./udisk/我的下载/download/我的应用/aqgj_1365562277812.apk
0x02验证
先通过adb install的apk,提取处来diff,发现和之前的apk是一致的:
PS:
20200509 apkpure下载的文件签名都验证不了了,大家下载的时候注意一点吧。
apksigner verify -v --print-certs Google Chrome Fast Secure_v81.0.4044.138_apkpure.com.xapk
最后
以上就是炙热大侠为你收集整理的【Android】提取Android中已安装app的apk0x01原文:adb 取出安装在手机中的 apk0x02验证 的全部内容,希望文章能够帮你解决【Android】提取Android中已安装app的apk0x01原文:adb 取出安装在手机中的 apk0x02验证 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复