Gaea
Gaea是一个基于Atlas实现Android项目组件化和插件化的脚手架. 可以根据此脚手架快速开发一款具有插件化特性的App, 也可以提供参考和帮助现有项目实现插件化.
项目模块
模块命名规约
目录名
描述
app
宿主模块, 负责启动应用和启动页.
lib_*
插件和宿主都依赖的中间件, 打包进宿主中.
plugin_*
插件模块, 会在编译阶段编译成so打包进apk.
plugin_*_lib_*
插件依赖库, 会打包进插件中.
remote_*
远程插件模块, 编译成so不打包进apk.
remote_*_lib_*
远程插件依赖库, 会打包进远程插件中.
Gaea 项目结构
目录名
描述
app
宿主模块, 启动application和启动页.
lib_base
所有模块都需要依赖的工具类, UI组件等(不包含业务).
lib_common
所有模块都需要依赖的公共业务资源等(只包含业务).
lib_network
网络组件, 提供网络接口相关操作.
lib_accessibility
android 辅助组件, 提供系统辅助操作.
plugin_main
main插件, 提供App主页等.
plugin_user
user插件, 提供用户中心登录等.
remote_scanner
scanner远程插件, 动态提供图形扫描功能.
插件间交互
插件间交互主要涉及两个组件. 由于common组件是跟业务相关的