单域名多模块对应多安卓应用时,如何配置assetlinks.json?
如何为同一域名下的多模块安卓应用配置assetlinks.json
嗨,这个场景其实挺典型的——同一域名下对应多个独立的安卓应用,每个应用负责一个模块。你只需要在同一个assetlinks.json文件里,为每个应用添加单独的配置条目就行,不需要拆分文件或者做额外的复杂操作。
具体配置示例
下面是适配你场景的完整assetlinks.json模板,你只需要替换每个条目的package_name和sha256_cert_fingerprints为对应模块应用的实际信息即可:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourdomain.news", "sha256_cert_fingerprints": ["AA:BB:CC:..."] } }, { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourdomain.car_reviews", "sha256_cert_fingerprints": ["DD:EE:FF:..."] } }, { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourdomain.digital_reviews", "sha256_cert_fingerprints": ["GG:HH:II:..."] } }, { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourdomain.astrology", "sha256_cert_fingerprints": ["JJ:KK:LL:..."] } }, { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourdomain.cooking", "sha256_cert_fingerprints": ["MM:NN:OO:..."] } }, { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.yourdomain.live_tv", "sha256_cert_fingerprints": ["PP:QQ:RR:..."] } }]
关键说明
- 每个数组元素对应一个独立的安卓应用,不管模块是什么,
relation字段都保持["delegate_permission/common.handle_all_urls"]不变——这个字段是告诉系统该应用有权处理对应域名下的URL。 package_name是每个应用在Google Play或AndroidManifest里定义的唯一包名,必须和应用实际包名完全一致。sha256_cert_fingerprints是应用签名证书的SHA256指纹(注意是发布版签名证书,测试时可以用debug证书,但上线必须换成正式的),可以通过Android Studio的签名流程查看,或者用命令行生成。
重要注意事项
- 这个文件必须放在你域名的根目录下的
.well-known文件夹里,最终访问路径是https://yourdomain.com/.well-known/assetlinks.json。 - 确保你的服务器返回这个文件时,Content-Type头是
application/json,否则系统可能无法正确识别。 - 配置完成后,可以通过安卓系统自带的应用关联验证方式检查配置是否生效,避免因为指纹或包名错误导致关联失败。
内容的提问来源于stack exchange,提问作者app explorer
相关产品推荐
相关产品推荐

