androidfiledelphiprovisioning

Android 14 unable to get rid of provisioned files


I have the following device for testing the app:

Android Google Pixel 7a Android Version 14

App is created with delphi 12 Patch 1. App was installed before updateing to Android 13.

The app includes an SQLite database. The "initial installation" involves loading an empty database (without data, only tables and fields) via provisioning in .\assets\internal. Then, it's coupled with the application using:

Connection.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath,<DatabaseName>)

So far, so unspectacular.

Now, there are changes to the database structure. The application is not yet live (otherwise, I would handle it via an update script). I have made the adjustments to the database that is provided via provisioning.

My naive assumption was that I could simply uninstall the app on the device and reinstall it through Delphi, and then have the new DB. Unfortunately, that's not the case. I've encountered this behavior before (possibly Pixel-specific? It seems like the data is cached somewhere). Usually, I could resolve it by opening the app settings and then clearing both the cache and storage under "Storage and Cache". This used to work reliably even under Android 13. Since Android 14 on the device, it seems that this no longer works. I've tried deleting everything, even removing the database from the deployment as a test, but upon distributing the application again, the old database that was distributed long ago is back in the system.

I have absolutely no idea where it's pulling this from and how to get rid of it. Have you experienced this before? Any solutions or insights would be greatly appreciated.


Solution

  • allow backup manifest is to be removed.