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

无源码情况下如何检测已安装Android应用的Deep Links?已知其一能否辅助

如何在无源码情况下找出Android应用的所有Deep Links及已知Link的辅助作用

无源码时提取应用Deep Links的方法

  • 用ADB命令直接解析应用信息
    先通过adb shell pm list packages找到目标应用的包名,接着执行adb shell dumpsys package <目标包名>,在输出结果里找包含android.intent.action.VIEW和android.intent.category.BROWSABLE的<intent-filter>块,里面的<data>标签就定义了Deep Links的规则,比如scheme、host、path等。嫌输出太杂的话,可以用过滤命令缩小范围:adb shell pm dump <目标包名> | grep -A 10 -B 2 "android.intent.action.VIEW"。

  • 导出APK后反编译查看清单
    先用adb shell pm path <目标包名>获取应用APK的存储路径,再用adb pull <APK路径> ./把APK导出到电脑。之后用apktool工具反编译APK:apktool d <导出的APK文件名>,打开反编译后的AndroidManifest.xml,直接搜索所有带有BROWSABLE category的intent-filter,从中提取所有Deep Links规则。

  • 借助第三方调试工具扫描
    安装一些Android调试类应用(比如App Inspector),打开后选择目标应用,这类工具会自动解析应用的清单文件,直接展示所有已注册的Deep Links,操作起来比命令行更直观。

已知一个Deep Link的辅助检测方法

  • 反向推导规则模式
    先验证已知Deep Link是否能唤起目标应用:adb shell am start -W -a android.intent.action.VIEW -d "<已知Deep Link>",输出里能看到对应的应用包名和Activity信息。接着基于这个Link的scheme、host格式,去搜索应用清单里同scheme或同host的其他规则——比如已知myapp://profile/123,就可以在dumpsys输出里找scheme="myapp"的所有<data>项,大概率能发现同scheme下的其他Deep Links。

  • 构造相似规则测试
    参照已知Link的结构,构造类似的链接进行测试。比如已知myapp://home,可以尝试myapp://settings、myapp://message等,用adb shell am start -d "<构造的链接>"测试是否能唤起对应页面,这种方法能快速发现一些结构相似的Deep Links。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:40:35