相关疑难解决方法(0)

Android 12 上的应用链接“legacy_failure”验证错误

我已进行设置assetlinks.jsonAndroidManifest.xml以便在所有以前版本的 Android 中验证所需的应用程序链接。但是,该验证在 Android 12(当前为 Beta 2)中不再起作用。adb shell pm get-app-links <PACKAGE_NAME>返回legacy_failure

Android 12 中的 App Links 验证似乎有一些更改,但文档并没有非常明确地说明需要更改哪些内容以及更改是否向后兼容。

android android-deep-link android-app-links

17
推荐指数
4
解决办法
2万
查看次数

默认情况下,应用程序链接在 Android 12 中无法打开。可能的 SHA256 问题

我已通过在此处上传 assetlinks.json 文件来设置深度链接

https://example.com/.well-known/assetlinks.json
Run Code Online (Sandbox Code Playgroud)

它在 Android 11 之前都可以正常工作。如果不是从 Playstore 下载的,它也可以在 Android 12 中工作(即从我的 android studio 或我从 android studio 制作的 apk 文件安装,即使我使用 Keystore 签署 apk 文件也能工作。)

在 Android 12 上从 Playstore 下载时,如果您进入应用程序设置 -> 默认打开 -> 在应用程序中打开的链接。我们可以看到我的域默认被禁用。我认为这与我在 assetlinks.json 中使用的 sha256 有关

我从 Android studio 中的 App Link Assistant 获取了 assetlinks.json。(我在生成 assetlinks 时也选择了密钥库文件)。

如果我去我的play console->Setup->App integrity->App signing

我可以在数字资产 Json 部分中看到不同的 Sha256(也在应用程序签名密钥证书部分中)

我可以在上传密钥证书部分看到我上传的 Sha256。

我的问题是我应该在 assetlinks.json 中使用哪种 sha256?

我在这里看到我应该同时使用两者。如果应该的话,如何将 sha256 添加到我的 assetlink.json 中。我可以将其添加为像这样的逗号分隔值吗?

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example", …
Run Code Online (Sandbox Code Playgroud)

android deep-linking android-deep-link android-app-links

16
推荐指数
2
解决办法
3万
查看次数