为什么下载的 apk 文件会被缓冲并给用户提供旧版本

why download apk file is buffered and gives user old version

我们在 Azure 上保留着陆页,供用户下载 Android apk 文件。此着陆页是一个 html 文件。这是供用户下载的标记:

<a href="android/[MyAndroidApp].apk" class="...">download here</a>

到目前为止一切正常。用户开始抱怨他们下载的应用无法正常运行。但是当我们测试时,它工作正常。

最后我们发现,虽然link是

http://www.[mysite].com/android/[MyAndroidApp].apk

但有时当用户点击它时,它会转到

http://101.44.1.131/cloud/223.210.55.28/files/9216...636//www.[mysite].com/android/[MyAndroidApp].apk

这是一个缓冲区,包含我们应用程序的旧版本!

谁能告诉我为什么会这样,我怎样才能防止它缓冲我们的旧版本?

你多久更新一次这个 apk 文件?

可能是缓存问题,但不确定。

您是否尝试过使用 Azure 存储?将文件上传到那里,然后直接link。

在长期 运行 中应该花费更少,并且不会引起任何 buffering/cache 问题

我建议您尝试将版本号放在文件名之后。这也是 .js 文件的一个好习惯。一个问题通常是它被缓存并且缓存没有正确更新。这是网络中的普遍问题。 所以。尝试将版本号放在文件名后,如果可行请告诉我们。

谢谢大家的建议。

我们找到原因了。查看重定向 url,实际上是一些 ISP 缓存了我们的 apk 文件。他们这样做是为了节省金钱和带宽。这是一些国家的普遍做法,并且有据可查。

多邪恶

因此,我们的解决方案是在部署新版本时更改文件名。