应用升级时未升级Android资产文件

时间:2015-06-04 18:47:57

标签: android

在我的Android应用程序中,我对名为library.cfg的文本文件中的库进行了一些配置。此文件位于我的Android Studio项目中的assets\library。 (应用程序和库都是专有的,所以我不能透露更多细节。)

我在我们的目标设备上安装了应用程序(运行2.3.4 Gingerbread,如果相关的话)。 library.cfg文件正确显示。

我编辑library.cfg文件以包含新的设置值。

然后我使用相同的签名配置再次安装应用程序,但增加的版本名称/代码。新APK包含资产文件中的新设置。

如果我只安装该应用,则library.cfg的更改不会反映/data/data/com.myapp.package/library/library.cfg上的文件副本。该文件与原始安装中的文件相同。

如果我卸载应用程序,然后使用更新的配置文件安装应用程序的第二个版本,/data/data/com.myapp.package/library/library.cfg包含添加的值。

为什么升级应用时不更新文件而不是卸载/重新安装?我需要做些什么来确保在升级期间更新文件?

1 个答案:

答案 0 :(得分:3)

在应用程序的每次启动时使用Context.getAssets()打开文件,升级应用程序时,首先启动它,然后检查文件是否有更改。

似乎在您访问该文件之前,它不会从apk中提取到/data/data/<your-package>/