【Android】提取Android中已安装app的apk
提取Android中已安裝的apk,這個需求很多時候都會遇到。比如從google play上安裝過apk后,如何提取出來給別人用?
本文1. 先介紹轉(zhuǎn)載的apk提取方法并 2. 驗證提取出來的apk和安裝之前的apk的一致性。
0x01原文:adb 取出安裝在手機(jī)中的 apk
參考:http://wiki.jikexueyuan.com/project/android-actual-combat-skills/adb-remove-the-apk-installed-on-the-phone.html
場景:
朋友看見你 Android 手機(jī)中的游戲或應(yīng)用很好玩,也想裝一個此程序,但限于網(wǎng)絡(luò)條件不能從網(wǎng)上下載。那么最簡單的辦法就是直接從你手機(jī)中將此 apk 扣出來給他安裝上。
pm 命令
第一步,找到程序的包名
借助 adb shell pm 命令,將安裝的所有應(yīng)用包名列出來:
$ adb shell pm list packagespackage:androidpackage:cn.wps.mofficepackage:com.android.backupconfirmpackage:com.android.bluetoothpackage:com.android.browserpackage:com.android.calculator2package:com.android.camerapackage:com.android.certinstallerpackage:com.android.contacts第二步,找到 apk 的位置
$ adb shell pm path com.tence01.mmpackage:/data/app/com.tence01.mm-1.apk第三步,pull 出來
$ adb pull /data/app/com.tence01.mm-1.apk ~/apks2407 KB/s (25567735 bytes in 10.370s)root 的手機(jī)會更好辦
$ adb shellshell@android:/ $ sushell@android:/ # cd data/appshell@android:/data/app # lscom.android.update.dmp-2.apkcom.baidu.superservice-1.apkcom.tence01.mm-1.apkcom.tencent.mm-1.apk或者直接搜索你要的 apk:
shell@android:/ # find -name *.apk./udisk/我的下載/download/我的應(yīng)用/aqgj_1365562277812.apk0x02驗證
先通過adb install的apk,提取處來diff,發(fā)現(xiàn)和之前的apk是一致的:
?
?
PS:
20200509 apkpure下載的文件簽名都驗證不了了,大家下載的時候注意一點吧。
apksigner verify -v --print-certs ?Google\ Chrome\ Fast\ Secure_v81.0.4044.138_apkpure.com.xapk
總結(jié)
以上是生活随笔為你收集整理的【Android】提取Android中已安装app的apk的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2月VR大数据:硬件份额变化不大,PS
- 下一篇: c 语言运行库组件下载地址,VC++运行