博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android】提取Android中已安装app的apk
阅读量:4208 次
发布时间:2019-05-26

本文共 1308 字,大约阅读时间需要 4 分钟。

提取Android中已安装的apk,这个需求很多时候都会遇到。比如从google play上安装过apk后,如何提取出来给别人用?

本文1. 先介绍转载的apk提取方法并 2. 验证提取出来的apk和安装之前的apk的一致性。

0x01原文:adb 取出安装在手机中的 apk

参考:

场景:

朋友看见你 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

你可能感兴趣的文章
【IOS游戏开发】之测试发布(Distribution)
查看>>
【IOS游戏开发】之IPA破解原理
查看>>
【一天一道LeetCode】#45. Jump Game II
查看>>
【一天一道LeetCode】#46. Permutations
查看>>
【一天一道LeetCode】#47. Permutations II
查看>>
【一天一道LeetCode】#48. Rotate Image
查看>>
【一天一道LeetCode】#56. Merge Intervals
查看>>
【一天一道LeetCode】#57. Insert Interval
查看>>
【一天一道LeetCode】#58. Length of Last Word
查看>>
【一天一道LeetCode】#59. Spiral Matrix II
查看>>
【一天一道LeetCode】#30. Substring with Concatenation of All Words
查看>>
【一天一道LeetCode】#60. Permutation Sequence.
查看>>
【一天一道LeetCode】#113. Path Sum II
查看>>
【一天一道LeetCode】#114. Flatten Binary Tree to Linked List
查看>>
【unix网络编程第三版】阅读笔记(二):套接字编程简介
查看>>
【一天一道LeetCode】#115. Distinct Subsequences
查看>>
【一天一道LeetCode】#116. Populating Next Right Pointers in Each Node
查看>>
【一天一道LeetCode】#117. Populating Next Right Pointers in Each Node II
查看>>
【一天一道LeetCode】#118. Pascal's Triangle
查看>>
【一天一道LeetCode】#119. Pascal's Triangle II
查看>>