You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio如何仅引入Material依赖中的CircularProgressIndicator组件

解决方案

你设想的按单个组件引入MDC依赖的写法目前官方不支持,Google并未对Material Components库做单个组件的单独发布,所有组件都整合在同一个依赖包中,无法仅通过依赖配置筛选引入部分组件。

以下是两种可实现需求的可行方案:

方案1:开启R8/ProGuard代码压缩(最便捷)

你只需要在release构建配置中开启代码压缩,打包时R8会自动剥离所有未被调用的MDC组件代码,最终只会保留CircularProgressIndicator相关的逻辑,最终包体积增量和单独引入组件几乎无差异。

  • 配置示例:
android {
    buildTypes {
        release {
            // 开启代码压缩
            minifyEnabled true
            // 开启无用资源裁剪
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    // 正常引入全量依赖即可
    implementation 'com.google.android.material:material:1.5.0-alpha02'
}
  • 注意:debug构建为了保证编译速度默认不开启压缩,所以debug包体积会包含全量MDC代码,正式发布包会自动完成裁剪。

方案2:手动拷贝组件源码(适合对体积控制要求极高的场景)

如果确实不需要引入全量MDC依赖,可以直接拷贝CircularProgressIndicator以及它依赖的所有工具类、父类、主题属性源码到你的项目中,本地直接使用即可。但这种方式后续组件有bug修复、版本更新需要你手动同步维护,成本相对更高。

  • 注意拷贝时要覆盖该组件的所有依赖文件,避免出现运行时类缺失、属性找不到的异常。

内容的提问来源于stack exchange,提问作者linker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:48:05