当用户选择从旧设备复制应用程序和数据时,Sharedpreferences/AndroidKeyStore/AccountManager 会发生什么?

3
当用户使用新手机并希望将应用程序和数据迁移到新手机时,SharedPreferences/AndroidKeyStore/AndroidAccountManager 会发生什么?
比如说,如果新设备上没有相同的应用程序,它会复制 SharedPreferences/Datastore 中的所有内容吗?
如果新手机已经安装了相同的应用程序呢?如果是相同版本,数据会合并还是替换,或者迁移失败并且新手机保留其数据?
如果应用程序的版本不同呢?选择哪个应用程序版本放在新设备上?
然后关于 AndroidAccountManager,我的理解是选择一款应用程序作为与该帐户类型相关联的主应用程序,如果有多个应用程序都使用相同的帐户,则仍将与该设备上具有该帐户类型的第一个应用程序相关联(假设所有应用程序都具有相同的签名密钥并使用相同的帐户类型)。
在迁移过程中会发生什么?它会保持应用程序-》AccountManager 的链接吗?还是随机选取其中任意一个应用程序?
接下来是关于 AndroidKeyStore,由于其是硬件支持的,这是否意味着所有密钥都会丢失?这意味着涉及到这些密钥的所有过程都需要产生新密钥并确保迁移计划能够正常工作吗?是否会有任何信号提示,还是密钥都丢失了就这样了?
1个回答

0

默认情况下,自动备份包括系统分配给您的应用程序的大多数目录中的文件:

共享首选项文件。

保存在应用程序内部存储中的文件,通过getFilesDir()或getDir(String, int)访问。

在getDatabasePath(String)返回的目录中的文件,该目录还包括使用SQLiteOpenHelper类创建的文件。

您可以在此处找到更多信息: https://developer.android.com/guide/topics/data/autobackup#Files

对于Android密钥库,密钥永远无法备份。 对于帐户管理器:旧设备上的帐户将被转移到新设备,并且您可能不需要为这些帐户输入2FA。 请注意,您只能在设备设置时从旧手机恢复备份,因此在Android手机上无法在此步骤之前安装应用程序,但是如果存在这样的制造应用程序,则尚未启动该应用程序,因此不会有任何文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接