android - 如何将所有应用程序数据迁移到不同的设备。无根

标签 android apk

我需要将所有可用数据(包括记录的用户信息等)从 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/

相关文章:

android - 调试 APK 以在不重新编译的情况下发布 APK

java - 每当单击按钮时,都会在屏幕上多次放置相同的图像

android - 图书馆订单条目无效

android - Android Native Sip 堆栈中的 AudioCodecs

android - 如何摆脱 Android N 上 RemoteInput 通知的进度指示器?

android - cordova 无法生成 apk,说配置项目 ':CordovaLib' 时发生了一些事情

Android APK 的静默安装

android - 避免高 overdraw 和长View绘制

android - 无法将 APK 安装到设备

java - 如何针对不同的 Android 架构?