Intent 调试
表单化生成 adb shell am start 命令:action、data URI、component、extras 全支持;内置常用系统 Intent 模板,Deeplink 生成二维码扫码直测,附 App Links 检查要点。
常用模板
Extras
未添加 extra 参数
adb shell am start -a android.intent.action.VIEWDeeplink 测试
adb shell am start -W -a android.intent.action.VIEW -d "myapp://home/detail?id=42"App Links 检查要点
- intent-filter 中同时声明 <action VIEW>、<category DEFAULT> 与 <category BROWSABLE>,并设置 android:autoVerify="true"。
- <data> 标签的 scheme 为 https,host 与线上域名完全一致(子域名需单独声明)。
- 域名根路径部署 /.well-known/assetlinks.json,Content-Type 为 application/json,可公开访问且不重定向。
- assetlinks.json 中 package_name 与签名 SHA256 指纹和实际安装包一致(指纹可用本站 APK 分析器查看)。
- 用 adb shell pm verify-app-links --re-verify <包名> 触发重新验证,adb shell pm get-app-links <包名> 查看验证状态(Android 12+)。
扫码直测
输入链接后生成二维码
用手机系统相机或扫码工具扫描,即可在真机上直接触发该 Deeplink
使用步骤
- 1在表单中填写 action、data URI、component、extras 等字段,下方 am start 命令实时更新,复制到终端即可执行。
- 2也可以直接点击「常用模板」快速填充打开设置页、拨号、应用详情页等系统 Intent。
- 3测试 Deeplink 时,在下方输入 scheme://host/path 形式的链接,复制验证命令或用手机扫二维码直接跳转。
- 4若扫码后没有弹出你的应用,请对照「App Links 检查要点」逐项排查 Manifest 配置。
常见问题
- am start 提示 Activity not started 或权限错误怎么办?
- 目标 Activity 需要 exported="true"(或与调用方同签名)才能被外部启动;Android 12+ 要求所有带 intent-filter 的组件显式声明 exported 属性。
- 扫二维码为什么没有唤起应用?
- 大多数扫码工具只识别 http/https 链接,自定义 scheme 可能被当作文本。建议用系统相机或支持深链的扫码工具;http(s) 链接需要正确配置 App Links(assetlinks.json)才会直接打开应用。
- extras 支持哪些类型?
- 本工具支持 string(--es)、int(--ei)、boolean(--ez)、long(--el)、float(--ef)五种常用类型,与 am start 的参数一一对应。
- Deeplink 与 App Links 有什么区别?
- 自定义 scheme 的 Deeplink 任何应用都能注册,可能弹出应用选择器;App Links 是经过 assetlinks.json 域名验证的 http(s) 链接,验证通过后无需选择器直接打开你的应用。