宅社AcgClub是一款纯粹的ACG聚合类App。作者出于爱好与学习的目的做出了这款MD风格的应用,旨意通过涵盖Adroid端的一些热门技术框架来打造一个面向市场级别的产品。
通过本项目,你可以了解到以下技术:MaterialDesigMVP组件化KotliRxJava2RetrofitDagger2RealmGlideArouterJsoupGradle配置热更新混淆、多渠道包项目相关项目环境AdroidStudio4.1.3Gradle6.5 kotli1.4.21 compileVersio28项目结构AcgClub-app宿主app-commo基础库-commo-res公用资源-compoet-acgcomic漫画组件-src/mai-rualoe组件独立运行时生效-compoet-acgews资讯组件-compoet-acgpicture看图组件-compoet-acgschedule番剧组件-router路由配置及相关服务实现-third-party-libs三方库存放-base_compoet.gradle组件依赖配置-base_compoet_compiler.gradlejava注解处理配置-base_compoet_kapt.gradlekotli注解处理配置-cofig.gradle项目信息配置新增组件组件名固定前缀为“compoet-”
组件内build.gradle需进行如下配置:
//必备applyfrom:"../base_compoet.gradle"//使用javaapplyfrom:"../base_compoet_compiler.gradle"//或kotliapplyfrom:"../base_compoet_kapt.gradle"//如果用到数据库applyplugi:'realm-adroid'组件内res文件将以组件真名为前缀进行约束(例如:compoet-acgews,一个布局文件名则需要以此打头:acgews_layout.xml)
组件独立运行时还需要注意提供相关的applicatio,入口activity,AdroidMaifest.xml等
项目配置cofig.gradle中进行项目项目的属性配置,例如:包名、版本号、编译版本...其中://在该属性中填写需要合并到主程序运行的组件,没有填写的组件将独立运行merge=["acgews","acgschedule"//"acgcomic"]merge属性修改完毕后,需要重新构建项目其他项目中提示缺失DaggerXXX时,通过完成编译将有Dagger2自动生成在本地的local.properties按自己所需进行一些三方库的key、签名的配置,不需要的可以自行去掉#阿里云用户反馈fbAppKey=""fbAppSecret=""#友盟umegAppKey=""#buglybuglyAppId=""#签名信息storeFile=storePassword=keyAlias=keyPassword=#友盟分享keySINA_WEIBO_KEY=""SINA_WEIBO_SECRET=""QQ_ZONE_ID=""QQ_ZONE_KEY=""WEIXIN_ID=""WEIXIN_KEY=""为了确保bugly热更新能生效,请每次打出正式包的时候,确认app目录下tiker-support.gradle文件中的tikerId的唯一性












评论