You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Manifest PathAdvancedPattern支持可选字符吗?App Links正则匹配及测试工具咨询

Android App Links正则匹配与测试工具问题解答

PatternMatcher是否支持/(url-1|url-2)/写法?

Android的PatternMatcher本身支持标准正则表达式,但在App Links的intent-filter配置中,默认使用的是简单通配符(PATTERN_SIMPLE_GLOB)模式,而非标准正则语法。你写的/(url-1|url-2)/属于标准正则的分组匹配,在glob模式下不生效。

如果需要匹配多个路径字符串,正确的做法是在intent-filter中添加多个<data>标签,每个标签对应一个目标路径规则,示例如下:

<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" />

    <!-- 匹配包含url-1的路径 -->
    <data
        android:scheme="https"
        android:host="your-domain.com"
        android:pathPattern=".*url-1.*" />

    <!-- 匹配包含url-2的路径 -->
    <data
        android:scheme="https"
        android:host="your-domain.com"
        android:pathPattern=".*url-2.*" />
</intent-filter>

如果一定要使用标准正则,需要在代码中手动创建PatternMatcher并指定PATTERN_REGEX模式,但这种方式不适用于manifest中的intent-filter配置。

适配Android格式的测试工具

  1. Android Studio App Links Assistant
    打开Android Studio,通过Tools > App Links Assistant进入工具界面,选择"Test App Links"选项,输入要测试的URL即可验证是否能匹配你的intent-filter配置,还能查看跳转逻辑是否正常。

  2. ADB命令测试
    使用adb命令直接模拟跳转请求,验证App Links是否生效,示例命令:

    adb shell am start -W -a android.intent.action.VIEW -d "https://your-domain.com/url-1" com.your.package.name
    

    执行后如果能正常唤起你的应用,说明配置有效。

内容的提问来源于stack exchange,提问作者narliecholler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 03:40:15