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

TAG:Android,提取,apk,adb,pm,root,导出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)

至此,提取成功,可以发送/复制到手机上进行安装了。

附加:

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

阅读原文



作者:steve18
链接:https://www.jianshu.com/p/2ff633361605
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

展开阅读全文

没有更多推荐了,返回首页