In the past week i’ve updated my app and released an update. The update build and runs perfectly both on my device and the emulator when running:
npm run android
After creating the Production build by doing:
eas build --platform android
I’ve submitted the build artefact with the update into Google Play Store, but after downloading the app from the store it’s crushes immediately on startup.
After looking at the logs, seems that this is the error that causes the issue:
The embedded manifest is invalid or could not be read. Make sure you have configured expo-updates correctly in android/app/build.gradle. null
I must say that before releasing this update i was messing around with the versions of the application, looks like i bumped the version from 1.0.1 to 1.0.3
eas.json
{
"cli": {
"version": ">= 3.8.1"
},
"build": {
"development": {
"distribution": "internal",
"android": {
"gradleCommand": ":app:assembleDebug"
},
"ios": {
"buildConfiguration": "Debug",
"resourceClass": "m-medium",
"simulator": true
}
},
"preview": {
"distribution": "internal",
"ios": {
"resourceClass": "m-medium"
}
},
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
}
},
"submit": {
"production": {}
}
}
package.json
{
"name": "myapp",
"version": "1.0.0-beta",
"author": "author",
"scripts": {
"start": "npx expo start --dev-client",
"android": "npx expo run:android",
"build": "npx expo run:ios",
"ios": "expo run:ios",
"web": "expo start --web"
},
"dependencies": {
"@react-native-async-storage/async-storage": "~1.17.3",
"@react-native-clipboard/clipboard": "^1.11.2",
"@react-native-community/masked-view": "^0.1.11",
"@react-native/assets-registry": "^0.72.0",
"@react-navigation/bottom-tabs": "6.5.4",
"@react-navigation/native": "^6.1.2",
"@react-navigation/native-stack": "^6.9.8",
"@react-navigation/stack": "^6.3.11",
"@reduxjs/toolkit": "^1.9.1",
"@supabase/supabase-js": "^2.10.0",
"axios": "^1.2.4",
"expo": "~47.0.14",
"expo-app-loading": "~2.1.1",
"expo-apple-authentication": "~5.0.1",
"expo-auth-session": "~3.8.0",
"expo-constants": "~14.0.2",
"expo-device": "~5.0.0",
"expo-font": "~11.0.1",
"expo-intent-launcher": "~10.3.1",
"expo-location": "~15.0.1",
"expo-random": "~13.0.0",
"expo-splash-screen": "~0.17.5",
"expo-status-bar": "~1.4.2",
"expo-system-ui": "~2.0.1",
"expo-updates": "~0.15.6",
"jwt-decode": "^3.1.2",
"react": "18.1.0",
"react-dom": "18.1.0",
"react-hook-form": "^7.42.1",
"react-native": "0.70.8",
"react-native-gesture-handler": "~2.8.0",
"react-native-ionicons": "^4.6.5",
"react-native-maps": "1.3.2",
"react-native-reanimated": "~2.12.0",
"react-native-safe-area-context": "4.4.1",
"react-native-screens": "~3.18.0",
"react-native-snap-carousel": "^4.0.0-beta.6",
"react-native-url-polyfill": "^1.3.0",
"react-native-vector-icons": "^9.2.0",
"react-native-web": "~0.18.7",
"react-navigation": "^4.4.4",
"react-navigation-stack": "^2.10.4",
"react-redux": "^8.0.5",
"redux": "^4.2.0"
},
"devDependencies": {
"@babel/core": "^7.19.3",
"@types/react": "~18.0.24",
"@types/react-native": "~0.70.6",
"react-native-dotenv": "^3.4.8",
"typescript": "^4.6.3"
},
"private": true
}
app.json
{
"expo": {
"name": "name",
"slug": "slug",
"scheme": "app",
"version": "1.0.3",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"plugins": [
"expo-apple-authentication",
[
"expo-location",
{
"locationAlwaysAndWhenInUsePermission": "Allow $(PRODUCT_NAME) to use your location."
}
]
],
"androidStatusBar": {
"backgroundColor": "#FFFFFF",
"barStyle": "dark-content"
},
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#FFFFFF"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": false,
"bundleIdentifier": "bundleIdentifier",
"buildNumber": "1.0.11"
},
"android": {
"package": "package",
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive/foreground.png",
"backgroundImage": "./assets/adaptive/background.png"
},
"splash": {
"image": "./assets/splash.png",
"backgroundColor": "#FFFFFF"
},
"permissions": [
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.ACCESS_FINE_LOCATION",
"android.permission.FOREGROUND_SERVICE"
],
"versionCode": 18
},
"web": {
"favicon": "./assets/favicon.png"
},
"extra": {
"eas": {
"projectId": "projectId"
}
}
}
}
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="package">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<queries>
<intent>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="https"/>
</intent>
</queries>
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
<meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="47.0.0"/>
<meta-data android:name="expo.modules.updates.EXPO_RELEASE_CHANNEL" android:value="default"/>
<meta-data android:name="expo.modules.updates.ENABLED" android:value="false"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/>
<meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/>
<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.App.SplashScreen" android:exported="true" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="app"/>
<data android:scheme=""/>
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false"/>
</application>
</manifest>
I’ve tried all the possible suggestions that i could find online in order to fix it but nothing did worked. Any support with this topic will be highly appreciated since the application is down