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

React Native Android应用Universal Link pathPrefix配置不生效问题

React Native安卓端App Links路径匹配异常排查方案

核心问题

配置了android:pathPrefix="/123callback/",但仅https://www.companyname.com/callback/something能唤起应用,修改路径前缀后无效果,已尝试清理构建目录、模拟器数据仍未解决。

排查与解决步骤

1. 检查是否存在重复/冲突的Intent Filter

全局搜索android/app/src/main/AndroidManifest.xml及所有依赖库的Manifest文件,确认是否有其他<intent-filter>包含以下配置:

  • android:pathPrefix="/callback/"
  • android:pathPattern=".*callback.*"
  • 其他能匹配到/callback/路径的规则

如果存在旧的未删除的Intent Filter,会优先匹配或导致规则冲突,需删除冗余配置。

2. 验证构建产物中的Manifest是否生效

本地修改的Manifest可能被构建脚本覆盖,前往以下路径查看最终生成的Manifest文件:
android/app/build/intermediates/manifests/full/[debug/release]/AndroidManifest.xml

检查其中的Intent Filter是否确实包含android:pathPrefix="/123callback/",如果不是,需排查:

  • gradle配置中的manifestPlaceholders是否覆盖了路径前缀
  • react-native.config.js或其他RN链接配置是否强制设置了旧路径

3. 强制刷新系统App Links缓存

仅清除模拟器数据可能无法彻底清理系统缓存的App Links规则,执行以下adb命令强制刷新:

adb shell pm clear-domain-preferences
adb shell pm get-app-links com.companyname.mobileapp

执行第二条命令可以查看当前系统识别的应用链接规则,确认是否显示了/123callback/路径。

虽然路径匹配由本地Manifest控制,但服务器端的assetlinks.json(位于https://www.companyname.com/.well-known/assetlinks.json)如果存在配置错误,可能导致系统无法正确识别新路径。确认文件中包名、签名指纹与当前应用一致,无旧路径的残留配置。

避免直接在浏览器地址栏输入链接(部分浏览器会直接跳转而非触发App Links),采用以下方式测试:

  • 使用adb命令直接唤起:
    adb shell am start -a android.intent.action.VIEW -d "https://www.companyname.com/123callback/test"
    
  • 在短信、备忘录中添加链接并点击测试,模拟用户实际操作场景

用户当前的AndroidManifest配置片段:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="com.companyname.mobileapp">

    <application
            ....
        <activity
                .....>
.....
            <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" />

                <data
                    android:scheme="https"
                    android:host="www.companyname.com"
                    android:pathPrefix="/123callback/"
                />
            </intent-filter>

内容的提问来源于stack exchange,提问作者Esben von Buchwald

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:44:53