Android Deep Link默认未启用,如何实现安装时自动开启?
Android Deep Link 安装自动启用方案
我已经给应用实现了支持Web地址的Android Deep Link,但该功能默认并未启用,得手动进入应用设置开启才能正常工作,想知道怎么实现安装时自动启用这个功能?我的Manifest配置如下:
<intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" /> <data android:scheme="https" /> <data android:host="winwinapp.net" /> </intent-filter>
核心原因
你现在的配置已经加了android:autoVerify="true",但要让系统自动启用Deep Link,必须完成**数字资产链接(Digital Asset Links)**的验证。没通过验证的话,系统不会自动授予应用链接处理权限,就只能手动开启。
具体实现步骤
1. 生成并部署Digital Asset Links文件
- 获取签名证书SHA-256指纹:
- 调试环境用Android Studio默认签名的话,终端执行命令:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android - 正式环境替换为你的发布keystore路径,输入对应密码,提取输出里的
SHA-256值,去掉冒号后全部转小写。
- 调试环境用Android Studio默认签名的话,终端执行命令:
- 创建
assetlinks.json文件:[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "你的应用包名", "sha256_cert_fingerprints": ["提取到的SHA-256指纹"] } }] - 上传到域名服务器:把这个文件放到
winwinapp.net域名下的.well-known目录里,确保能通过https://winwinapp.net/.well-known/assetlinks.json直接访问(必须是HTTPS,不能有跳转)。
2. 确认Manifest配置正确性
你的现有配置已经符合要求,注意两点:
- 这个
<intent-filter>要添加在处理Deep Link的目标Activity上。 host和scheme要准确覆盖你需要处理的Web地址。
3. 验证配置是否生效
应用安装后,系统会自动拉取并验证assetlinks.json,通过验证的话Deep Link就会自动启用,无需手动设置。也可以用Android Studio的App Links Assistant(路径:Tools > App Links Assistant)一键检查配置是否正确。
常见问题排查
如果还是无法自动启用,检查以下几点:
assetlinks.json的路径是否在.well-known目录下,文件名不能出错。- 域名必须使用有效的HTTPS证书,自签名证书系统不认可。
- SHA-256指纹要和当前应用使用的签名证书完全匹配(调试和正式签名的指纹不同,别搞混)。
- 应用包名要和
assetlinks.json里的package_name完全一致。
内容的提问来源于stack exchange,提问作者Mahmoud Ayman
相关产品推荐
相关产品推荐

