我需要将所有可用数据(包括记录的用户信息等)从 Android 中的应用迁移到其他设备。基本上我需要的是将整个应用程序从一台设备导出到另一台设备(可能超过 1 台设备),包括所有应用程序的数据
最佳答案
如果这不是您自己的应用程序,并且该应用程序不可“调试”,您将会遇到一些麻烦...
为了避免这种情况,您必须解压 APK, 为此,我建议使用 Apktools,它的作用就像一个魅力:Apktools
在解压后的APK中,修改AndroidManifest.xml:
<application>
内输入,将值添加或替换为:android:debuggable="true"
之后,您需要重建应用程序并重新签名以避免冲突。 Apktools 将再次完成这项工作。
现在,您将能够使用 adb shell
浏览所有数据文件夹。命令然后 run-as <package name>
只需复制 /data/data/<package name>
中的所有文件即可至/sdcard/.
(这是一个免费访问位置)。
然后退出 adb shell 并使用 pull 命令,如下所示:adb pull /sdcard/<package name>
这将下载当前目录内的所有数据,此时,我们已经拥有了所需的所有数据,现在我们必须执行相反的过程,让一切准备就绪。
安装新的 APK(我们刚刚构建的可调试的 APK):
adb install -r newAPK.apk
使用以下命令将之前下载的数据推送到新设备:
adb push <package name> /sdcard/<package name>
现在设备内有可访问的数据,然后运行:
adb shell run-as <package name> mv /sdcard/<package name> /data/data/.
此后,所有数据均已正确放置,并且应用程序不应意识到设备更改,所有内容均按预期配置。
我希望这能解决您的问题。问候!
关于android - 如何将所有应用程序数据迁移到不同的设备。无根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58120481/