infra-core 是一个 Android 基础能力库,封装项目中常用的页面基类、权限申请、媒体选择、图片处理、页面跳转、DataStore、Dialog、Tab 绑定和常用扩展方法。
项目已发布到 JitPack。先在项目的仓库配置中加入 JitPack:
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven("https://jitpack.io")
}
}然后在业务模块中添加依赖:
dependencies {
implementation("com.github.guowenlong123.infra-core:infra-core:v1.0.0")
}base:提供BaseActivity、BaseFragment、BaseViewModel、BaseRepository等基础结构。datastore:封装 Preferences DataStore 的读写入口和 key 管理。dialog:提供统一的 Dialog 构建能力。ext:提供Context、Resources、String、TextView、View常用扩展。image:提供图片加载、预览、压缩、裁剪、上传和文件存储能力。media:封装相机、相册、系统媒体选择等请求流程。navigation:封装 Activity / Fragment 启动、参数读取和结果回传。permission:封装运行时权限申请流程,并支持 Compose 场景。tab:封装ViewPager2与 Tab 的绑定策略。
minSdk:24compileSdk:36- Java 兼容版本:11
- 模块内包含
FileProvider,authority 使用${applicationId}.infra.fileprovider,通常不需要业务侧额外声明。 - 图片裁剪依赖 uCrop,模块已在 Manifest 中声明
UCropActivity。 - 权限、媒体、图片相关能力涉及 Android 版本差异,业务侧仍需要结合自己的场景处理用户拒绝权限、取消选择、文件不可访问等结果。
./gradlew :infra-core:assembleRelease
./gradlew :infra-core:publishReleasePublicationToMavenLocal