Skip to content

Repository files navigation

infra-core

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:提供 BaseActivityBaseFragmentBaseViewModelBaseRepository 等基础结构。
  • datastore:封装 Preferences DataStore 的读写入口和 key 管理。
  • dialog:提供统一的 Dialog 构建能力。
  • ext:提供 ContextResourcesStringTextViewView 常用扩展。
  • image:提供图片加载、预览、压缩、裁剪、上传和文件存储能力。
  • media:封装相机、相册、系统媒体选择等请求流程。
  • navigation:封装 Activity / Fragment 启动、参数读取和结果回传。
  • permission:封装运行时权限申请流程,并支持 Compose 场景。
  • tab:封装 ViewPager2 与 Tab 的绑定策略。

Android 要求

  • minSdk:24
  • compileSdk:36
  • Java 兼容版本:11

注意事项

  • 模块内包含 FileProvider,authority 使用 ${applicationId}.infra.fileprovider,通常不需要业务侧额外声明。
  • 图片裁剪依赖 uCrop,模块已在 Manifest 中声明 UCropActivity
  • 权限、媒体、图片相关能力涉及 Android 版本差异,业务侧仍需要结合自己的场景处理用户拒绝权限、取消选择、文件不可访问等结果。

本地发布验证

./gradlew :infra-core:assembleRelease
./gradlew :infra-core:publishReleasePublicationToMavenLocal

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages