android - Android - sharedpreferences 数据正在与 apk 一起上传到 Play 商店
问题描述
你没看错,我不是在开玩笑。我尝试非常详细地解释它:
应用程序正在检查userid
sharedpreferences,如果有,那么 API 正在询问用户数据userid
现在我清除应用程序数据/缓存并卸载它
然后我创建一个应用程序版本并将其上传到谷歌播放
然后我下载这个应用程序,当它启动时,它以某种方式将我用于测试的用户 ID 存储为共享首选项,并从服务器请求用户数据以获取此 ID,我不是在开玩笑。
这怎么可能?android 操作系统是否只是被窃听并且没有真正正确地清除 sharedpreferences 数据?
我还重复了这些步骤并创建了一个新版本,以确保我没有犯任何愚蠢的错误。
我使用了谷歌开发者聊天,但他们对编程一无所知,但只负责评论等。
提前致谢!
解决方案
这种 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 商店中发布应用程序时启用它。
推荐阅读
- python - 有没有一种方法可以计算镜像时相同的最长子字符串或子列表
- microsoft-graph-api - OnBehalfOfProfider 的工作示例,用于调用 MS Graph 的守护程序应用程序
- python - 如何将同一周的所有数字加到一个列表中?
- firebase - 在 Android 中安全地访问 Firebase 数据库
- indexing - Solr 搜索查询模式更改
- mysql - node.js mysql连接连接挂起30+秒
- google-apps-script - 当单元格值达到0时如何自动发送电子邮件并且邮件应该发送到相应的电子邮件ID
- flutter - Flutter 定义简单的 onTap 不会在嵌套类上触发
- c++ - 确定时间复杂度 C++
- oracle-cloud-infrastructure - 通过 rclone 和非经典 OCI 对象存储使用 swift 样式访问