我需要将所有可用数据(包括已记录的用户信息等)从Android中的应用迁移到其他设备。基本上,我需要将整个App从一台设备导出到另一台设备(可能超过一台设备),包括所有应用程序的数据
如果这不是您自己的应用程序,那么,如果该应用程序不是“可调试的”,您将遇到一些麻烦...
为了避免这种情况,您必须打开APK的包装,为此,我建议使用Apktools,其工作方式像一个超级按钮:Apktools
在解压缩的APK内,修改AndroidManifest.xml:
在<application>
条目内,将值添加或替换为:android:debuggable="true"
之后,您将需要rebuild该应用程序并再次对其签名以避免冲突] >>。 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/.
此后,所有数据均正确放置,并且应用程序应按预期配置,应用程序不应实现设备更改。
我希望这能解决您的问题。您好!