我是靠谱客的博主 炙热大侠,最近开发中收集的这篇文章主要介绍【Android】提取Android中已安装app的apk0x01原文:adb 取出安装在手机中的 apk0x02验证 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

提取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验证 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部