If you wanted to minimize this further, you could try ejecting to ExpoKit ( https://docs.expo.io/versions/v16.0.0/guides/detach.html#content ) and then ripping out some of the native parts you don’t need. This is probably a little bit tricky and I don’t think would save you that many MB so I wouldn’t advise it unless this is really important to you. We will make this easier to do in the future but we aren’t currently working on it.
Hi. I currently have the exact same issue; I don’t understand why a very simple app should be 24MB in size. In my react native code, I have this:
import {Notifications, Permissions} from expo
Surely, this should not make my code so large in size? Am I doing something wrong? - Perhaps I have run ‘npm install’ on several packages that are no longer in use?
A base Expo app still includes React Native and several libraries that people may use. If you don’t use an API at launch but then update and publish your JS that uses another API – which can often be smaller than native app updates – your app won’t crash because it has that native code already.
If you need to keep your app size extremely lean, Expo may not be the best choice. The size for an Expo app on iOS is approximately 25mb, and Android is about 20mb. This is because Expo includes a bunch of APIs regardless of whether or not you are using them — this lets you push over the air updates to use new APIs, but comes at the cost of binary size. We will make this customizable in the future, so you can trim down the size of your binaries.