luckybilly / CC

业界首个支持渐进式组件化改造的Android组件化开源框架,支持跨进程调用。Componentize your android project gradually.
https://luckybilly.github.io/CC-website/
Apache License 2.0
4.04k stars 636 forks source link

启动页放入独立模块 #40

Closed JarvisBuop closed 6 years ago

JarvisBuop commented 6 years ago

启动页放入独立组件后,app的启动会报错 ; 如果启动页不能放入组件,可能后期的app壳就一定要保持一个act了

luckybilly commented 6 years ago

主app module中没有启动页时,在android studio中点击运行按钮会存在提示Error:Default Activity not found无法编译的问题。

原因是:通过addComponent添加对组件的依赖时,进行了代码隔离(即:只在打apk包时才真正将组件添加到主app的依赖列表中)。由于启动页是在组件的AndroidManifest.xml中声明的,主app的AndroidManifest.xml没有启动页,点击运行按钮时android studio默认设置下会查找注册的启动页,但此时找不到,从而报错。

可以在如下几种方式中选择一种来处理:

  1. 用命令行编译,如:./gradlew :app:assembleDebug
  2. 按照这篇文章介绍的方式来编译
  3. 将启动页放到主app module
  4. 在主app module的build.gradle中用implementation替代addComponent来添加对启动页所在组件module的依赖