提取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 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 的手机会更好办

    $ 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/我的应用/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的apk相关推荐

  1. Android不同版本读取已安装应用列表权限相关问题

    转载自:https://blog.csdn.net/u010844304/article/details/111044338 如何在Android 11 上获取已安装应用列表在Android 11上, ...

  2. 判断android应用程序是否已安装

    2019独角兽企业重金招聘Python工程师标准>>> android应用程序是否已安装,查看是否此包的相关信息   PackageInfo packageInfo; try {   ...

  3. android备份:apk安装过程及原理,备份已安装应用的apk包技术实现方案

    安卓设备上备份已安装应用的apk包技术实现方案 需求的目的 在只有安装应用, 没有该应用的apk,而我们又想活取应用apk,用来分享给别人,或是应用的备份, 说是应用的增量升级的, 怎么办? 本文将告 ...

  4. VirtualApp中静默安装App

    最近学习看到android沙箱VirtualApp,小编资历尚浅,只是从VA运用的角度记录了下来如何在VA中静默安装app VirtualApp github地址https://github.com/ ...

  5. 如何获取IOS手机已安装app的bundleid

    获取IOS手机已安装app的bundleid 如果使用oc私有api获取不到ios11以上手机的app bundleid 那么可以使用安装其他工具来获取 那就是使用  libimobiledevice ...

  6. 查看python包_怎么查看python中已安装的包

    展开全部 使用命令 pip list 可以查看2113python中已安装的包5261:具体步骤如下: 1.打开4102python:在命令符模式下(运1653行→cmd)输入Python回车即可 2 ...

  7. 在VScode中导入anaconda中已安装好的库

    在VScode中导入anaconda中已安装好的库 写在前面 博主作为一个Python小白,在遇到一些网上的代码的时候,经常会遇到需要import一些库 如果我们有一个Anaconda就会变得很方便. ...

  8. 简单实现Android获取已安装APP清单列表显示

    activity代码: import android.app.ListActivity; import android.content.pm.ApplicationInfo; import andro ...

  9. android 安装包 权限,确定Android中已安装应用程序使用的权限列表

    我必须确定我的设备上已安装的应用程序使用的权限列表. 我已经安装了应用程序列表,并使用以下代码包名称: PackageManager pm = this.getPackageManager(); In ...

最新文章

  1. 撑起整个互联网的7大开源技术
  2. Webview页面的控件元素定位
  3. putty连接虚拟fedaro失败的解决方法
  4. 执行maven clean package 时报OutOfMemoryError的解决办法
  5. 《深入浅出nodejs》读书笔记(3)
  6. 张文宏直播再曝金句:我宁可戴口罩开空调
  7. pandas数据处理实践五(透视表pivot_table、分组和透视表实战Grouper和pivot_table)
  8. 爬取豌豆荚app数据(总结篇)
  9. 22种大数据分析可视化工具
  10. 像幅、像素数、像素尺寸关系
  11. 过滤掉Abp框架不需要记录的日志
  12. 企业支付宝 异名网银u盾快速充值功能开通方式(支付宝企业商户资金充值方法)
  13. django踩坑关于django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
  14. 中国睫毛生长液行业市场供需与战略研究报告
  15. 声呐技术学习---(1)
  16. 华为交换机删除配置命令access_华为交换机基本配置命令
  17. The table xxxx is full处理
  18. 富士康500万iphone遭退货
  19. 在动态规划的海洋中遨游(二)
  20. 学习笔记之语法中的五大基本句型

热门文章

  1. bat自动清理(girl的电脑桌面)
  2. 部署Tectonic服务到kubernetes集群
  3. react实现div隐藏_React 点击按钮显示div与隐藏div
  4. 调查显示四分之一孩子存在不同程度睡眠问题
  5. 初学者Photoshop:十秒钟内的黑白和红色照片效果
  6. tlias 教学过程_传智专修学院:“打开天窗说亮话”,让学生正确评价每一位教师...
  7. 鲜为人知且未充分利用的 CSS 功能
  8. HR问“你目前有几个offer”,你该如何巧妙回答?
  9. [MATLAB]基本操作与矩阵输入
  10. multiple definition of XXX情况分析