【问题标题】:Android App Link : Difference Build APK and Generate Signed APKAndroid 应用链接:构建 APK 和生成签名 APK 的区别
【发布时间】:2019-11-22 10:10:56
【问题描述】:

我对两种不同的行为有点困惑,我需要一些帮助。
我正在开发一个实现了 App Links 的 android 应用程序。

我已将我的项目配置为使用已发布构建版本的密钥库。

当我使用 Android Studio 发布版本的 RUN Application 时,我的应用程序将作为深层链接打开(单击链接时会打开消歧对话框)。
当我使用相同的密钥库生成 SIGNED APK 时,我的应用程序会作为应用程序链接打开(直接指向应用程序而无需对话框)。
我分析了这两个应用程序(Build APK & SIGNED APK):

  • RUN Application : 安装应用时App Link状态为询问模式;
  • Signed APK : 安装应用时,App Link 状态为始终模式;

有谁能解释一下 RUN Application 和 Generate Signed APK 之间的区别可能导致这两种不同的行为吗?
谢谢

【问题讨论】:

    标签: android applinks


    【解决方案1】:

    Build APK:你可以说这是测试APK。在这个中,我们不需要使用Keystore。在此构建中,密钥不受我们在 Google 地图或 Facebook SDK 中使用的限制。不大

    签名的 APK: 这纯粹是你可以说的实时构建。我们在此构建中使用实时凭据我们通常不会使用此构建进行测试。我们在完成测试普通 APK 后生成签名 APK。

    最大的不同是 Play 商店只接受 SIGNED APK。

    因此,当我们必须将应用提交到 Play 商店时,我们通常会生成签名的 APK。

    【讨论】:

      【解决方案2】:

      我假设您使用 release keystore 创建了assetlinks.json。

      实际上,关于应用链接,RUN Application(release build)Signed APK没有区别。

      assetlinks.json 文件的验证在应用安装期间完成。当您从 android studio 运行应用程序时,会显示消歧对话框,因为在设备中,您可能已经预装了应用程序的版本。因此,当您运行该应用程序时,该应用程序不会被卸载然后安装。它只是刷新代码。所以assetlinks.json验证没有做完。

      所以要在 android studio 运行时测试应用链接,首先从设备/模拟器中卸载应用,然后尝试触发应用链接。不会显示消歧对话框。

      您不必在每次想要运行应用程序时都卸载该应用程序。但是,如果您更改了assetlinks.json 文件(在服务器端)或清单文件中的清单条目,请卸载应用程序,然后从 android studio 运行应用程序(发布版本)。不会显示消歧对话框。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-10
        • 1970-01-01
        • 2016-02-29
        • 2021-08-29
        • 2023-03-11
        • 2013-12-14
        • 1970-01-01
        相关资源
        最近更新 更多