Kivy在Android上:应用更新后保留本地存储文件

0 投票
1 回答
1434 浏览
提问于 2025-04-18 18:19

我有一个用Kivy(Python)写的安卓应用,它需要存储一些本地文件,这些文件在应用更新后应该还存在(通过adb install -r命令更新)。

如果我把文件存储在当前目录的一个子目录里(比如“data/data/app_name/files”),我发现更新后这些文件会被删除。

不过经过一些实验,我发现可以把文件存储在“data/data/app_name/shared_prefs”目录下,这样更新后文件就不会被删除了。顺便说一下,我没有检查过,但可能“data/data/app_name/databases”目录里的文件也会保留。

有没有更好的方法呢?我想测试一下能不能在“data/data/app_name”下创建一个既不是shared_prefs也不是databases的新文件夹,并且看看它是否能保留。

(这听起来有点像是变通做法,因为这些目录有其他专门的用途,尽管我现在的应用并没有用到这些用途)

(注意:我不想把文件放在应用私有目录外面)

1 个回答

0

现在没有简单的方法(比如构建钩子之类的),但是我们最近几天专门讨论过这个问题,因为目前的情况已经变成了一个直接的问题。我不太确定解决方案是什么,但很可能在python-for-android中会很快进行一些改动来解决这个问题。

如果你想了解最新情况,可以在kivy的邮件列表或者IRC上询问。特别是,knapper_tech正在进行这些改动。

撰写回答