从Android手机中取出已安装的app包,导出apk

假设有这样一个场景,A君看到你手机上一个实用APP,想要安装到自己手机上,限于下载浪费流量,那么最简单的就是从你的手机中拷贝一个,不过你安装过的apk包已经删除了,不能直接复制出来进行安装。
办法来了,就是从手机中制造一个出来或者说找他的备份版。
导出步骤:
1)找到应用的包名 执行命令:
$ adb shell pm list package

输出结果:
package:com.xiaomi.miui.screenrecorder package:com.android.providers.telephony package:com.miui.powerkeeper package:com.android.providers.calendar package:com.ximi.vipaccount package:com.android.providers.media package:com.milink.service package:com.securespaces.android.sscm.service package:com.ximi.account package:com.game.play.gogogo package:com.sohu.inputmethod.sogou

2)找到应用备份包的位置,比如要找com.game.play.gogogo 执行命令:
$ adb shell pm path com.istone.xdf

输出结果:
package:/data/app/com.game.play.gogogo-1/base.apk

3)提取安装包 执行命令:
$ adb pull /data/app/com.game.play.gogogo-1/base.apk

执行结果:
/data/app/com.game.play.gogogo-1/base.apk: 1 file pulled. 3.9 MB/s (57503627 bytes in 14.164s)

【从Android手机中取出已安装的app包,导出apk】至此,提取成功,可以发送/复制到手机上进行安装了。
附加:
ROOT下的手机就更好提取了。
执行命令:
$adb shell shell@android:/ $ su shell@android:/ # cd data/app shell@android:/data/app # ls com.android.camera-2.apk com.sohu.inputmethod.sogou-2.apk com.game.play.gogogo-1.apk

那么直接采用上边第三步提取,再安装即可。
当然新版本的路径有了稍许变化,如下:
/data/app/com.game.play.gogogo-1/base.apk (变成了包下的base.apk)

其他搜索命令,仅供参考
$ find -name 名称.apk

阅读原文 别睡太晚,学习如三餐,适当活动,日日有盼头,生活有精彩。
-- by steve
作者:steve18
链接:https://www.jianshu.com/p/2ff633361605
來源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    推荐阅读