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
阅读原文
别睡太晚,学习如三餐,适当活动,日日有盼头,生活有精彩。
-- by steve