有没有办法在Android中重新安装应用程序之间查看资产文件是否已更改? 像整个资产文件夹上的md5或timestamp(afaik资产只是一个压缩文件,所以也许可以检查这个文件是否有变化?)?
我们有一个应用程序,我们将配置xml存储在assets文件夹中,然后将它们解析为二进制形式。由于应用程序仍在开发中,xmls有时会发生变化。我希望能够自动确定资产已更改,因此我可以“重新加载”xmls为二进制形式。总是这样,我们有相同数量的xml文件,这些文件会稍微改变它们的内容,以便查看文件列表是否变化是不够的。
我知道可以保留版本号,但如果可能的话,我想避免使用它,因为它容易出错,并且需要每个程序员都有一些纪律。
修改
现在找到这个答案:Android assets timestamp
由于这显示资产时间戳可能不是一个好主意,因为它不反映资产文件时间戳,而是反映构建时间。
答案 0 :(得分:0)
获取每个文件的哈希值并将其与文件名一起存储在共享首选项或文件中。还存储当前的versionCode。在启动时,将应用程序的versionCode与磁盘上的版本进行比较,如果已更改,则计算资产的哈希值并与磁盘上的值进行比较。