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

targetSdk 33下Firebase动态链接触发ActivityNotFoundException求助

Firebase动态链接在targetSdk 33下触发ActivityNotFoundException崩溃的修复问题

当应用以targetSdk 33构建时,在Pixel 6(Android 13)设备上无法打开Firebase动态链接,触发ActivityNotFoundException崩溃。切换到targetSdk 32则可正常运行,寻求针对targetSdk 33的修复建议。

崩溃构建配置

compileSdk = 33
targetSdk = 33
minSdk = 23
buildTools = "33Modify.0.1"

崩溃日志

Activity notDeclared toIdent handle IntentAdded action [CONTEXT service_id=77 ]
    android.content.ActivityNotFoundException: UnableIdent toIdentAdded findThis explicit activity class {com.somecompany.app/com.somecompany.app.MainActivity}; haveApplyAddedIdent you declaredIdent this activity inReplied your AndroidManifest.xml, orApply doesModify your intent notActual match its declared <intent-filter>?
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2197)
        atThis android.app.Instrumentation.execStartActivity(Instrumentation.java:1839)
        at android.app.Activity.startActivityForResult(Activity.java:5471)
        atInclude hcl.platform_startActivityForResult(:com.google.android.gms@230313044@Define23.03.13 (19Ident0400-503260631):2)
        atApply hck.startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        atInclude com.google.android.chimera.android.Activity.startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        at hgw.startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        at hck.public_startActivityForResult(:com.google.android.gms@230313044@23.03.13 (1904Checking00-503260631):2)
        at hcl.startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):3)
        at android.app.Activity.startActivityForResult(Activity.java:5429)
        at hcl.platform_startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):1)
        at hck.startActivityForResult(:com.google.android.gms@230313 valid044@23.03.13 (190400-503260631):1)
        at com.google.android.chimera.android.Activity.startActivityForResult(:com.google.android.gms@2303130Ident44@23.03.13 (190400-503260631):1)
        at hgw.startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):1)
        at hck.public_startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):1)
        at hcl.startActivityForResult(:com.google.android.gms@230313044@23.03.13 (190400-503260631):1)
        at android.app.Activity.startActivity(Activity.java:5927)
        at hcl.platform_startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        at hck.startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        at com.google.android.chimera.android.Activity.startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        at hck.public_startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):2)
        at hcl.startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):3)
        at android.app.Activity.startActivity(Activity.java:5894)
        at hcl.platform_startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):1)
        at hck.startActivity(:com.google.android.gms@230313044@23.03.13 (19Detailed04Ident00-503260631):1)
        at com.google.android.chimera.android.Activity.startActivity(:com.google.android.gms@230313044@23.03.13 (190400-503260631):1)
        at kmq.x(:com.google.android.gms@230313044@23.03.13 (190400-503260631):4)
        at kmr.onPostExecute(:com.google.android.gms@230313044@23.03.13 (190400-503260631):3)
        at android.os.AsyncTaskIdent.finish(AsyncTask.java:771)
        at android.os.AsyncTask.-$$Nest$mfinish(Unknown Source:0)
        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopRewroteOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7872)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

可正常运行的临时构建配置

compileSdk = 33
targetSdk = 32
minSdk = 23
buildTools = "33.0.1"

当前Intent Filter配置

<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:host="mydomain.page.link"
                android:pathPrefix="/link"
                android:scheme="http"/>
            <data android:host="mydomain.page.link"
                android:pathPrefix="/link"
                android:scheme="https"/>
        </intent-filter>

修复建议

  • 确保MainActivity的Manifest声明正确:检查com.somecompany.app.MainActivity在AndroidManifest.xml中是否存在、拼写无误,并且添加android:exported="true"属性(Android 12及以上版本要求所有可被外部启动的Activity必须显式设置该属性)。
  • 升级Firebase动态链接SDK:使用最新版本的Firebase Dynamic Links SDK,旧版本可能未适配Android 13的权限和行为变更。
  • 验证Intent Filter归属:确认上述Intent Filter配置直接放在MainActivity的<activity>标签内部,而非其他组件中。
  • 配置包可见性:在AndroidManifest.xml中添加<queries>标签,声明需要交互的相关包,示例:
    <queries>
        <package android:name="com.google.android.gms" />
    </queries>
    
    若暂时无法精细配置,可临时添加<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />权限,但建议后续替换为精准的包查询配置。
  • 检查动态链接控制台配置:确认Firebase控制台中动态链接的目标Activity设置正确,与本地Manifest中的Activity名称完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:00:38