android - 从 Playstore 下载内部测试版时,Android 12 beta 5 应用链接不会自动验证
问题描述
我有一个应用程序,当我使用文件管理器应用程序或使用 Android adb 工具将应用程序包(apk 文件)安装到 Android 12 设备时,应用程序链接正确地自动验证。
但是,当我从 Google Play 商店应用程序下载该应用程序的内部测试版时,应用程序链接不会自动验证。
这是已知的 Android 测试版错误还是有任何解决方法?其他开发人员是否在您的应用程序中遇到过此问题?
只是为了确认-我已经设置了assetlinks.json和AndroidManifest.xml,以便自动验证应用程序链接,并且在使用文件管理器或adb工具安装apk时它们可以正常工作。
解决方案
事实证明,问题是由于 Google Play 签名使用的证书与用于上传/签署上传到 Play 商店的 apk 的证书不同。
我从 Google Play 控制台的应用程序下载部分下载了原始应用程序包以及处理/分发的应用程序包。
然后,我使用 keytool 命令比较了两个包的应用程序签名证书的 SHA256 签名,例如“keytool -printcert -jarfile 46286-1.apk”。
我注意到分发 apk 的 SHA256 签名与最初上传的 apk 不同。托管在 assetslinks.json 中的 SHA256 签名与原始 apk 的签名相匹配。
这解释了为什么深层链接在原始 apk 文件上有效,但在从 Google Play 商店安装应用程序时无效。
推荐阅读
- format - xstring + 格式化十进制数 + scilab
- angular - Angular localize:每种语言的重复应用程序?
- makefile - 无论我尝试多少,从服务器编译都会导致未解决的问题。(MPI 连接...)
- pine-script - Pine 脚本 - 将 EMA 转换为“复选框”布尔输入?
- excel - 如何根据当前月份隐藏表格
- javascript - 为什么自定义 Slack 应用程序只显示一次 gif?
- java - 右对齐 .fxml 文件内 HBox 内的按钮
- sql - 在 Redshift 中永远运行的简单查询
- python - 在 AWS 上运行 doc2vec 的服务是什么?
- r - 在 ggplot 比例条形图上显示 p 值