【问题标题】:Detect the source of apk download检测apk下载源
【发布时间】:2017-11-08 05:00:52
【问题描述】:

我有一个 apk 文件存在于 2 个独立服务器中,这两个服务器都有单独的下载链接。

我想知道在安装和打开应用程序后是否可以检测到从哪个链接下载了 apk。 通过浏览器下载,其中一项要求是构建必须保持不变。

【问题讨论】:

  • 我之前使用的一个解决方案是在构建期间为每个下载门户生成不同的 APK。 APK中有不同的标签。
  • 是的,我之前也使用过相同的版本,但我的要求之一是构建必须保持不变,我会适当地编辑问题,谢谢。

标签: java android server


【解决方案1】:

如果您只是将 APK 作为链接直接安装在文件服务器上,并且 APK 完全相同,那么不,没有办法这样做。

这里有一些解决方法:

  1. Google Play 提供a way for you to do this,但他们通过在成功安装后向应用程序广播意图来做到这一点。您可以通过 Beta/Alpha 通道私下通过 Google Play 发布 APK,并可能利用此功能。不过,您将无法使用私有文件服务器。
  2. 您可以创建自己的应用程序来下载和安装 我描述的 APK 和模仿 Google Play 的功能 以上。这对你来说可能很荒谬,我不建议这样做。
  3. 您可以通过某种方式区分 APK。您可以保持内容完全相同,但使用 buildConfigField 通过 Gradle 在构建逻辑中配置一些字段。如果您愿意,您还可以拆分 apk、使用风味或许多其他不同的创意解决方案。
  4. 因此,如果由于某种原因上述建议不符合您的要求,另一种非常老套的解决方案是使用不同的 APK 文件名。浏览器会将APK下载到download文件夹,打开应用后你可能会看到Android的downloads文件夹并查看文件名。但这无论如何都不可靠,因为用户可以在实际打开您的应用程序之前轻松删除文件,或者也可能存在旧下载。您必须查找基本文件名,并根据创建日期识别最新文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 2020-12-04
    相关资源
    最近更新 更多