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


当前回答

完成@Yojimbo的回答,这是我所做的(只适用于Linux/Mac,不会在Windows上开箱工作……可能在git的bash shell中):

for i in $(adb shell pm list packages -f -3 | cut -d= -f 1 | cut -d ":" -f 2); do adb pull $i; done

这是一个丑陋的bash,但工作:)

编辑: 它不再适用于AndroidM:所有文件都命名为“base.apk”在另一个目录下。应该是“微不足道的”修复。

其他回答

这对那些寻求非技术性答案的人很有帮助

这是一个简单的hack

从谷歌播放商店下载App Share/Send Pro选择要发送的应用程序和方法发送应用程序。

我通常使用蓝牙将应用程序发送到我的电脑或其他手机上。

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

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

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

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

希望这对你们有用

如果你知道(或者你能“猜”到)。apk的路径(它的格式似乎是/data/app/com.example.someapp-{1,2,..}.apk to),那么你也可以从/data/app中复制它。这个功能甚至在我的非根安卓手机上也能运行。

只需使用终端模拟器应用程序(比如这个)并运行:

# step 1: confirm path
ls /data/app/com.example.someapp-1.apk
# if it doesn't show up, try -2, -3. Note that globbing (using *) doesn't work here.
# step 2: copy (make sure you adapt the path to match what you discovered above)
cp /data/app/com.example.someapp-1.apk /mnt/sdcard/

然后你可以把它从sd卡移到任何你想要的地方(或附加到电子邮件等)。最后一点在技术上可能是可选的,但它使您在尝试使用.apk文件时更加轻松。

想要非常非常舒服的一分钟解决方案吗?

只需你这个应用程序https://play.google.com/store/apps/details?id=com.cvinfo.filemanager(智能文件管理器从谷歌发挥)。

点击“应用程序”,选择一个,然后点击“备份”。它将在你的文件系统的app_backup文件夹;)

如上所述,您可以通过使用adb中的pull命令来获得apk。

由于您正在讨论已安装的应用程序,请继续查看Android文件系统的/data/app目录。你会在那里找到APK。

然后使用adb命令- adb pull /data/data/appname.apk