如何从Android设备获取apk文件? 或者如何将apk文件从设备传输到系统?
#1楼
如上所述,您可以使用adb中的pull命令获取apk。
由于您正在谈论已安装的应用程序,因此请继续查看Android文件系统的/ data / app目录。 您会在其中找到APK。
然后使用adb命令-adb pull /data/data/appname.apk
#2楼
我已经看到许多解决此问题的方法,要么您必须扎根手机,要么必须安装应用程序。 然后经过大量的搜索,我得到了针对非root / root用户的电话的解决方案。
列出您到目前为止获得的应用程序。
adb shell pm list packages
然后您可以选择一个应用程序,例如twitter
adb backup -apk com.twitter.android
这里重要的是不要设置用于加密备份的密码
这将创建一个名为backup.ap的文件,但是您仍然无法打开它。 为此,您必须使用dd命令再次将其提取。
dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar
在此之后,您要做的就是提取tar内容并完成。
希望它对你们有用
#3楼
这些建议对我都不起作用,因为Android会在包名称后附加序列号以产生最终的APK文件名。 在较新的Android版本(Oreo和Pie)上,附加了不可预测的随机字符串。 以下命令序列对非root用户的设备有效 :
1)确定应用程序的软件包名称,例如“ com.example.someapp”。 如果您已经知道软件包名称,请跳过此步骤。
adb shell pm list packages
浏览软件包名称列表,并尝试在有问题的应用程序和软件包名称之间找到匹配项。 通常这很容易,但是请注意,程序包名称可能与应用程序名称完全无关。 如果您无法从包名称列表中识别该应用,请尝试使用浏览器在Google Play中找到该应用。 Google Play中应用程序的网址包含程序包名称。
2)获取所需软件包的APK文件的完整路径名。
adb shell pm path com.example.someapp
输出看起来像
包:/data/app/com.example.someapp-2.apk
要么
包:/data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ == / base.apk
3)使用第2步中的完整路径名,将APK文件从Android设备拉至开发框。
adb pull /data/app/com.example.someapp-2.apk path/to/desired/destination
#4楼
我没有使用代码从移动设备中提取.apk文件,但是我一直在使用从移动设备中提取.apk文件的软件,而我使用的软件在下面带有google play链接:
希望对您有帮助。
#5楼
不需要root:
此代码将获得名称为3rd party的包路径,以便您轻松识别APK
adb shell pm list packages -f -3
输出将是
包:/data/app/XX.XX.XX.apk=YY.YY.YY
现在,使用以下代码提取该软件包:
adb pull /data/app/XX.XX.XX.apk
如果您在C:>\\
cmd上方执行,那么您将在那里找到该程序包。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3161384