如何移除未使用字体以减小Release构建包体积
移除未使用字体以减小Release构建包体积的方法
一、清理自定义本地字体
- 用Apk Analyzer分析当前Release包,找出未被使用的字体文件。
- 打开项目的
package.json,找到rnpm字段下的字体资源配置:"rnpm": {"assets": ["./assets/fonts"]} - 进入
./assets/fonts目录,删除所有确认未使用的字体文件。 - 重新执行资源链接(RN 0.60+版本可跳过自动链接步骤),然后重新构建Release包。
二、优化react-native-vector-icons的字体体积
针对你使用的react-native-vector-icons@9.2.0,默认会打包全量图标字体,可通过以下方式只保留用到的部分:
- 安装babel插件实现按需导入:
npm install babel-plugin-import --save-dev - 在项目的
.babelrc或babel.config.js中添加配置:module.exports = { plugins: [ [ 'import', { libraryName: 'react-native-vector-icons', libraryDirectory: 'Fonts', camel2DashComponentName: false, }, ], ], }; - 代码中仅导入实际用到的图标组件,避免全量导入:
// 正确用法 import Ionicons from 'react-native-vector-icons/Ionicons'; // 避免这种写法 // import * as Icons from 'react-native-vector-icons'; - 重新构建Release版本,此时只会打包项目中用到的图标字体。
内容的提问来源于stack exchange,提问作者Vishal Kushwaha
相关产品推荐
相关产品推荐

