我正在使用react native with expo开发一个小字典应用程序.

当我编译成Apk文件时.它的大小可以达到30mb,在安装到设备上后,可以达到80mb.

这正常吗?

有没有办法缩小应用程序的大小?

谢谢你们.

推荐答案

expo 是为了开发你应该迁移到react native进行生产的应用程序

  • 制作一个新的react应用程序"react-native init"

  • 从Expo project复制源文件

  • 安装除特定于expo 的库之外的所有expo 项目依赖项.

  • app.json文件进行必要的调整

  • 使用exp从Expo下载Android应用程序的签名密钥

  • 获取:安卓:密钥库并设置它



buildTypes {
    release {
        debuggable false
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
 }



欲了解更多信息,请访问https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by-86-27be72bba640

使用expo组件

完成后,如果您希望以较小的大小发布,或者只是不想使用本机库expo,请提供一个名为ExpoKit的选项,该选项也可用于已生成的本机代码react项目

1-运行命令expo eject添加ExpoKit( Select "ExpoKit"选项)

React-native相关问答推荐

ITMS—91053:缺少API声明—ReactNative

如何在使用嵌套的堆栈导航器在选项卡之间导航后弹出到堆栈顶部?

替换数组中的一个元素就是替换数组中的所有元素?

在我的 React Native 应用程序中获取数据返回 [object Object] 而不是 renderSectionHeader

什么是 expoClientId?

Javascript setTimeout 立即在 React Native 中运行

React-Native 是单线程执行还是多线程执行?

在 React Native 中计算两个 lat+lng 坐标之间的距离?

如何在 React-Native Android 中检测拖动事件的结束

使用 create-react-native-app 创建了一个应用程序,如何将其发布到 Google Play store ?

更新 this.state.dataSource 不会更新 ListView

FlatList vs map react-native

React Native + React (for web) 种子元素

区别需要MainQueueSetup 和dispatch_get_main_queue?

expo 已过期卸载并再次运行以升级

如何在 React Native 中等待 Alert 对话框的响应?

ExpoKit 和 React Native 元素的区别

Tools > Android 菜单在 Android Studio 中不存在

react-native如何导入元素根目录?

StackNavigator中如何改变动画的方向?