我有以下设备来测试这款应用:
安卓Google Pixel 7a Android版本14
应用程序是用Delphi 12 Patch 1创建的. 应用程序是在更新到Android 13之前安装的.
这款应用程序包括一个SQLite数据库."初始安装"包括通过在.\Assets\Internal中进行配置来加载一个空数据库(没有数据,只有表和字段). 然后,使用以下命令将其与应用程序结合:
Connection.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath,<DatabaseName>)
到目前为止,并不引人注目.
现在,数据库 struct 发生了变化.应用程序还没有运行(否则,我会通过更新脚本处理它).我已经对通过资源调配提供的数据库进行了调整.
我天真的假设是,我可以简单地卸载设备上的应用程序,并通过Delphi重新安装它,然后有新的数据库.不幸的是,事实并非如此.我以前遇到过这种行为(可能是Pixel特有的?看起来数据被缓存在某个地方).通常,我可以通过打开应用程序设置,然后在"存储和缓存"下清除缓存和存储来解决它.它甚至可以在Android 13下可靠地工作.由于Android 14在设备上,似乎这不再工作.我try 删除所有内容,甚至try 从部署中删除数据库作为测试,但在再次分发应用程序时,很久以前分发的旧数据库又回到了系统中.
我完全不知道它是从哪里拉出来的,也不知道如何摆脱它.你以前有过这样的经历吗?任何解决方案或见解都将不胜感激.