如何从android设备获取apk文件?或者如何将apk文件从设备传输到系统?
当前回答
适用于所有Android版本的一行代码:
adb shell 'cat `pm path com.example.name | cut -d':' -f2`' > app.apk
其他回答
使用亚行。当设备连接USB时,adb可以将文件从设备复制到系统中。
当然,您还需要正确的权限来访问文件所在的目录。如果没有,则需要先对设备进行根操作。
如果您发现许多apk命名为“base.apk”,您还可以使用这一行命令从您可以访问的电话中提取所有apk,同时将任何“base.apk”名称重命名为包名。这也修复了名称后看似随机字符的APK路径找不到目录的问题:
for i in $(adb shell pm list packages | awk -F':' '{print $2}'); do
adb pull "$(adb shell pm path $i | awk -F':' '{print $2}')"
mv base.apk $i.apk &> /dev/null
done
如果你得到“adb: error: failed to stat remote object”,这表明你没有所需的权限。我在一台非根Moto Z2上运行了这个程序,并且能够下载所有我没有卸载的apk(见下文),除了youtube。
adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver <--- kills presidential alert app!
(查看用户运行adb shell PM列表用户) 这是一种删除/卸载(不是从手机出厂复位)几乎任何没有根的应用程序,包括系统应用程序(提示,烦人的更新应用程序更新你的电话线它或不可以通过grepping“ccc”找到)
我得到了一个不存在的错误
我是这么做的
adb shell pm list packages -f | findstr zalo
package:/data/app/com.zing.zalo-1/base.apk=com.zing.zalo
adb shell
mido:/ $ cp /data/app/com.zing.zalo-1/base.apk /sdcard/zalo.apk
mido:/ $ exit
adb pull /sdcard/zalo.apk Desktop
/sdcard/zalo.apk: 1 file pulled. 7.7 MB/s (41895394 bytes in 5.200s)
试试这个bash命令来备份你所有的应用程序:
for package in $(adb shell pm list packages -3 | tr -d '\r' | sed 's/package://g'); do apk=$(adb shell pm path $package | tr -d '\r' | sed 's/package://g'); echo "Pulling $apk"; adb pull -p $apk "$package".apk; done
这个命令来自于Firelord的脚本。我只是将所有apks重命名为它们的包名,以解决elcuco的脚本问题,即相同的base.apk文件被覆盖在Android 6.0“棉花糖”及以上。
注意,这个命令只备份第三方应用,因为我不认为备份内置应用有什么意义。但如果你也想备份系统应用程序,只需省略-3选项。
我没有使用代码从移动设备中提取。apk文件,但我一直在使用软件从移动设备中提取。apk文件,我使用的软件如下:谷歌播放链接:
ES文件管理器文件管理器 ASTRO云和文件管理器 3.软件数据线
希望它能帮助你。
这对那些寻求非技术性答案的人很有帮助
这是一个简单的hack
从谷歌播放商店下载App Share/Send Pro选择要发送的应用程序和方法发送应用程序。
我通常使用蓝牙将应用程序发送到我的电脑或其他手机上。
推荐文章
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- Openssl不被视为内部或外部命令
- 无法执行dex:在Eclipse中超过GC开销限制
- 如何以编程方式将视图添加到视图
- 单击url会打开默认浏览器
- 使用Retrofit刷新OAuth令牌,而不修改所有调用