如何优化EAS EXPO构建的Android空项目App Bundle包体积?
减小EAS构建的Android App Bundle体积的方法
1. 启用ProGuard/R8代码压缩与混淆
Expo默认未开启全量代码优化,在app.json或app.config.js中添加以下配置,移除未使用代码并混淆类名:
{ "expo": { "android": { "enableProguardInReleaseBuilds": true, "useProguard": true, "enableDexingInReleaseBuilds": true } } }
2. 清理未使用的Expo模块
空Expo项目默认集成了大量通用模块(如相机、定位等),即使未实际使用也会被打包。可以:
- 运行
expo install --fix自动清理未用到的依赖 - 手动在
package.json中删除不需要的expo-*包(如expo-camera、expo-location)后重新构建
3. 优化资源打包策略
在app.json中开启资源压缩与按需加载,减少冗余资源:
{ "expo": { "android": { "compressResources": true, "resourceQualifiers": ["ldpi", "mdpi", "hdpi", "xhdpi", "xxhdpi", "xxxhdpi"] } } }
该配置会自动压缩资源文件,并仅打包对应设备分辨率的资源。
4. 运行Expo资源优化工具
执行npx expo optimize,工具会自动压缩项目中的图片、字体等资源,移除未被引用的资源文件。
5. 过滤不必要的CPU架构
如果无需支持全量CPU架构,可在app.json中指定仅打包常用ABI:
{ "expo": { "android": { "abis": ["armeabi-v7a", "arm64-v8a"] } } }
默认打包的x86等架构可按需移除,进一步缩减体积。
6. 排查第三方依赖冗余
部分npm包会自带冗余原生库,可通过expo doctor检查项目依赖,替换为轻量替代方案或移除不必要的第三方包。
内容的提问来源于stack exchange,提问作者Bruno Verçosa
相关产品推荐
相关产品推荐

