项目中的MainActivity是tablayout+viewpager组成,将各个模块拆分出来,因为由viewpager,所以各个模块展示是以Fragment为主。
拆分出来后,单独的module是可以运行的,而Fragment是不能直接展示的,简单一点也需要一个Activity作为载体,而这个Activity又不能在整体打包时添加到项目中。
需要的解决问题:
1.独立运行时,需要一个Activity将Fragment加载
2.整体项目打包时,这个Activity不会被打包进去
方法:
组件module->build.gradle
android{
sourceSets {
main {
java {
// isBuildModule是是否整体打包的开关,定义在gradle.properties中
if (isBuildModule.toBoolean()) {
// 独立运行时的AndroidManifest文件位置
manifest.srcFile 'src/main/debug/AndroidManifest.xml'
} else {
// 整体打包AndroidManifest位置
manifest.srcFile 'src/main/AndroidManifest.xml'
// 排除独立运行时作为载体的Activity
exclude 'com/du/itest/debug'
}
}
}
}
}

本文介绍了一种在模块化项目中,如何实现Fragment与特定Activity的隔离打包策略,使得该Activity仅在独立运行模块时存在,而在整体项目打包时被排除,以解决模块独立运行与整体集成之间的冲突。
981

被折叠的 条评论
为什么被折叠?



