如何通过ADB命令为应用默认启用指定域名的链接打开权限?
Android 12/13 用ADB启用应用支持的网址
我在测试一款应用的调试版本时,需要验证特定场景下链接是否会跳转至该应用。已经用以下命令将应用设为默认链接打开应用:
adb shell pm set-app-links-allowed --user 0 --package app.package.name true
但在Android 12和13上,这个操作只是把应用设为默认,所有“支持的网址”并未启用。试过下面的命令也无效:
adb shell pm set-app-links-allowed --user 0 --domain www.domainName.com --package app.package.name true
手动操作步骤是:设置 > 应用 > 应用名称 > 设为默认 > 开启“打开支持的链接” > 支持的网址 > 启用目标域名/启用所有域名。想知道有没有办法用ADB Shell完成这个操作?
解决方案
1. 启用单个指定域名
使用pm set-app-link命令强制指定域名用目标应用打开,对应手动“启用目标域名”的操作:
adb shell pm set-app-link --user 0 app.package.name www.domainName.com always
参数说明:
always:设置该域名始终通过目标应用打开,等同于手动启用状态--user 0:针对系统主用户(多用户场景可替换为对应用户ID)
2. 批量启用应用声明的所有域名
如果要一次性开启应用Manifest中声明的所有支持域名,对应手动“启用所有域名”的操作,用以下命令:
adb shell pm set-app-links --user 0 app.package.name true --enable-all-domains
验证设置是否生效
可以用以下命令查看单个域名的配置状态:
adb shell pm get-app-link --user 0 app.package.name www.domainName.com
或者查看该应用所有支持域名的状态:
adb shell pm get-app-links --user 0 app.package.name
内容的提问来源于stack exchange,提问作者Facundo Casaccio
相关产品推荐
相关产品推荐

