After we upgraded from SDK 40 to 44, the resulting builds (apk and bundle) are larger in size even with EAS build. Please note that we were using expo build (classic build) + enableDangerousExperimentalLeanBuilds to generate smaller app bundles which is now not applicable anymore. The new builds with EAS are smaller then classic build without enableDangerousExperimentalLeanBuilds but larger than classic build with enableDangerousExperimentalLeanBuilds.
- Workflow: Managed
- Expo SDK 44
-
eas-cli
version: 0.45.1 -
expo-cli
version: 5.0.3
We followed all EAS build docs as well as all SDK announcements from SDK 41 to 44 to understand the impact. We built both apk and bundle and found that both are larger (apk extracted from aab is also large, 13 MB to 15 MB).
There’s increase of ~2 MB when we were expecting 10x smaller builds as per the announcement
Below is package.json if that is relevent:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@react-native-community/datetimepicker": "4.0.0",
"@react-native-community/netinfo": "7.1.3",
"@react-navigation/drawer": "^6.1.8",
"@react-navigation/native": "^6.0.6",
"@react-navigation/native-stack": "^6.2.5",
"expo": "^44.0.0",
"expo-constants": "~13.0.1",
"expo-dev-client": "~0.8.0",
"expo-device": "~4.1.0",
"expo-document-picker": "~10.1.0",
"expo-file-system": "~13.1.2",
"expo-firebase-analytics": "~6.0.0",
"expo-intent-launcher": "~10.1.0",
"expo-linking": "~3.0.0",
"expo-media-library": "~14.0.0",
"expo-notifications": "~0.14.0",
"expo-print": "~11.1.0",
"expo-sharing": "~10.1.0",
"expo-splash-screen": "~0.14.1",
"expo-sqlite": "~10.1.0",
"expo-store-review": "~5.1.0",
"expo-updates": "~0.11.5",
"react": "17.0.1",
"react-dom": "17.0.1",
"react-native": "0.64.3",
"react-native-alert-async": "^1.0.5",
"react-native-autocomplete-input": "^4.2.0",
"react-native-elements": "^1.2.7",
"react-native-gesture-handler": "~2.1.0",
"react-native-modal": "^11.10.0",
"react-native-picker-select": "^8.0.4",
"react-native-popup-dialog": "^0.18.3",
"react-native-reanimated": "~2.3.1",
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "~3.10.1",
"react-native-simple-toast": "^1.0.0",
"react-native-table-component": "^1.2.1",
"react-native-view-shot": "3.1.2",
"react-native-web": "0.17.1",
"react-native-webview": "11.15.0",
"rn-pdf-reader-js": "^4.1.1"
},
"devDependencies": {
"babel-preset-expo": "9.0.2"
},
"private": true
}