如何从android设备获取apk文件?或者如何将apk文件从设备传输到系统?


当前回答

最简单的是: 在手机上安装“ShareIt”应用。 现在在PC或其他手机上安装shareIt应用程序。 现在,在安装了应用程序的手机上,打开ShareIt并发送。 在其他手机或电脑上打开ShareIt并接收。

其他回答

这些建议对我都不起作用,因为Android在包名后面附加了一个序列号来生成最终的APK文件名。在最新版本的Android (Oreo和Pie)上,会追加一个不可预测的随机字符串。下面的命令序列是我在非root设备上使用的:

1)确定应用程序的包名。“com.example.someapp”。如果存在以下情况,请跳过此步骤 您已经知道包的名称。

adb shell pm list packages

查看包名列表,并尝试在有问题的应用程序和包名之间找到匹配项。这通常很简单,但请注意,包的名称可以与应用程序的名称完全无关。如果您无法从包名列表中识别该应用程序,请尝试使用浏览器在谷歌Play中找到该应用程序。谷歌Play中应用程序的URL包含包名。

2)获取所需包的APK文件的完整路径名称。

adb shell pm path com.example.someapp

输出看起来像这样 包:/数据/应用/ com.example.someapp apk——2. 或 包:/数据/ 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

对于从设备检索的每个apk文件,所有这些答案都需要多个步骤。1. 2.确定包名。找到文件,然后3。下载它。我构建了一个简单的apk_grabber python脚本,用于匹配给定正则表达式的任何应用程序,然后将这些apks反编译到jar文件中。

我已经见过很多解决这个问题的方法,要么你必须在你的手机上安装根程序,要么你必须安装一个应用程序。然后在谷歌搜索了很多之后,我找到了这个解决方案,适用于非根/根手机。

列出你目前获得的应用程序。

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

在此之后,你所要做的就是提取焦油含量,这就完成了。

希望这对你们有用

C:\Users\xyz>adb shell pm list packages -f | findstr whatsapp
package:/data/app/com.whatsapp-1/base.apk=com.whatsapp

C:\Users\xyz>adb pull /data/app/com.whatsapp-1/base.apk Desktop
/data/app/com.whatsapp-1/base.apk: 1 f.... 13.8 MB/s (32803925 bytes in 
2.269s)

不需要root:

这段代码将获得第三方包的路径和名称,以便您可以轻松识别您的APK

adb shell pm list packages -f -3

输出将是

包:/ / app / XX.XX.XX.apk = YY.YY.YY数据

现在使用下面的代码拉出这个包:

adb pull /data/app/XX.XX.XX.apk

如果你在C:>\中执行上面的cmd命令,那么你会在那里找到这个包。