能否通过adb命令将Android应用设为链接默认打开应用?
问题解答
是否需要预先设置为默认应用?
不需要强制预先设置。首次访问指定链接并点击“在应用中打开”时,系统会弹出应用选择器,选择该Alpha版本应用即可完成跳转。但如果要避免每次操作都弹出选择器(尤其适合多设备批量测试),预先将其设为对应链接的默认处理应用会更高效。
用adb命令实现默认链接设置
可以通过adb命令完成手动设置的流程,步骤如下:
1. 获取应用包名
先确定Alpha版本应用的包名(可通过adb shell pm list packages | grep alpha筛选查找),假设包名为com.example.app.alpha。
2. 查看应用支持的链接规则
执行命令查看应用声明的可处理链接(域名或Scheme):
adb shell dumpsys package com.example.app.alpha | grep -E "Domain|Scheme"
输出示例:
Domain: example.com
Scheme: myapp
3. 设置为默认链接处理应用
根据链接类型选择对应命令:
- 针对HTTP/HTTPS域名(如
example.com):adb shell cmd package set-app-links --package com.example.app.alpha true example.com - 针对自定义Scheme(如
myapp://):adb shell am set-default-app --package com.example.app.alpha --scheme myapp
4. 验证设置是否生效
执行命令检查默认应用配置:
adb shell dumpsys package domain-preferred-apps | grep com.example.app.alpha
如果输出包含目标域名/Scheme,说明设置成功。
注意事项
- 确保设备已开启USB调试,且adb能正常连接设备。
- Android 11及以上版本对App Links有额外验证要求,若应用配置了App Links(需对应域名的
assetlinks.json文件),可通过以下命令跳过验证(仅用于测试场景):adb shell cmd package set-app-links --package com.example.app.alpha --user 0 verify false - 多设备批量操作可编写shell脚本,遍历
adb devices输出的设备ID,逐个执行命令。
内容的提问来源于stack exchange,提问作者Facundo Casaccio
相关产品推荐
相关产品推荐

