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
相关产品推荐
相关产品推荐

