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

拆分目录后Manifest注册的Activity无法启动,是否需与类文件同目录?

核心结论

Manifest文件不需要和对应的Dialog Activity类文件存放在同一目录。Android平台是通过Manifest中注册的Activity全限定类名来查找对应组件的,和源码的物理存储路径没有强制绑定关系,只要配置正确、类被正常编译进安装包即可正常运行。

常见问题排查方向

你拆分目录后弹窗无法触发,优先检查以下几个配置错误:

  • 确认Manifest中android:name属性配置正确:假设你的项目根包名是com.example.showdialog,拆分前Dialog的全类名为com.example.showdialog.Dialog,拆分后对应的全类名应为com.example.showdialog.dialog.Dialog,注意路径不要漏写子包段,也不要有冗余前缀。如果你写的是相对路径,要确保相对Manifest根节点package属性拼接后和实际类的全限定名一致。
  • 检查BUCK构建规则:拆分后dialog和controller目录都有独立的BUCK文件,要确保dialog目录的BUCK配置正确声明了对应的Java/Android库规则,同时controller模块、主模块正确依赖了dialog模块,避免Dialog类没有被编译进最终APK,运行时类找不到。
  • 检查Controller中的启动代码:确认你构造PendingIntent时传入的ComponentName用的是Dialog的最新全限定类名,不要还保留拆分前的旧类路径,仅改Manifest没改业务代码也会导致找不到Activity。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:57:04