首页 > 解决方案 > Android - sharedpreferences 数据正在与 apk 一起上传到 Play 商店

问题描述

你没看错,我不是在开玩笑。我尝试非常详细地解释它:

应用程序正在检查useridsharedpreferences,如果有,那么 API 正在询问用户数据userid

现在我清除应用程序数据/缓存并卸载它

然后我创建一个应用程序版本并将其上传到谷歌播放

然后我下载这个应用程序,当它启动时,它以某种方式将我用于测试的用户 ID 存储为共享首选项,并从服务器请求用户数据以获取此 ID,我不是在开玩笑。

这怎么可能?android 操作系统是否只是被窃听并且没有真正正确地清除 sharedpreferences 数据?

我还重复了这些步骤并创建了一个新版本,以确保我没有犯任何愚蠢的错误。

我使用了谷歌开发者聊天,但他们对编程一无所知,但只负责评论等。

提前致谢!

标签: androidgoogle-playsharedpreferencesapk

解决方案


这种 Android 行为很不寻常,因为每当您将 Android 项目设置为目标版本 >= 23 时,都会启用自动备份功能。您可以在使用自动备份备份用户数据中看到它。这里摘录:

应用程序自动备份会自动备份用户数据,这些应用程序以 Android 6.0(API 级别 23)或更高版本为目标并在其上运行。Android 通过将应用数据上传到用户的 Google 云端硬盘来保存应用数据,该数据受到用户的 Google 帐户凭据的保护。您的应用程序的每位用户的数据量限制为 25MB,并且不收取存储备份数据的费用。您的应用可以自定义备份过程或通过禁用备份来选择退出。

每当您使用 Android Studio 创建新项目时,AndroidManifest.xml总是在启用自动备份的情况下创建。带android:allowBackup="true"属性:

<manifest ... >
    ...
    <application android:allowBackup="true" ... >
        ...
    </application>
</manifest>

您需要将其设置为 false withandroid:allowBackup="false"以禁用备份。开发时,您应该将其关闭。仅当您在 Play 商店中发布应用程序时启用它。


推荐阅读