Android组件化中拆分出Fragment单独运行

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

项目中的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'
                }
            }
        }
    }
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值