[🐛] Bug Failed build android with expo - version 15.1.0
What happened?
If you encounter build issues on Android with the react-native-google-mobile-ads library, try downgrading the library version. Switching from ^15.1.0 to ~14.7.2 resolved the issue for me. Ensure your dependencies include "expo": "^52.0.46" and "react-native": "0.76.9".
Platforms
Android, but have not tested behavior on iOS
React Native Info
"devDependencies": {
"@react-native-community/cli": "latest",
}
Are your using Typescript?
- [x] My project is using Typescript
package.json
{
"name": "expo-app",
"main": "expo-router/entry",
"version": "1.0.0",
"scripts": {
"eas-build-pre-install": "echo node-linker=hoisted >> ../../.npmrc",
"start": "expo start --tunnel",
"android": "expo run:android",
"ios": "expo run:ios",
"start-web": "expo start --web --tunnel",
"start-web-dev": "DEBUG=expo* expo start --web --tunnel"
},
"dependencies": {
"@expo/vector-icons": "^14.0.2",
"@react-native-async-storage/async-storage": "1.23.1",
"@react-native-firebase/app": "^21.14.0",
"@react-native-firebase/messaging": "^21.14.0",
"@react-navigation/native": "^7.0.0",
"axios": "^1.8.4",
"expo": "^52.0.46",
"expo-blur": "~14.0.1",
"expo-build-properties": "~0.13.2",
"expo-constants": "~17.0.8",
"expo-device": "~7.0.3",
"expo-font": "~13.0.4",
"expo-haptics": "~14.0.0",
"expo-image": "~2.0.6",
"expo-image-picker": "^16.0.6",
"expo-linear-gradient": "^14.0.2",
"expo-linking": "~7.0.3",
"expo-location": "~18.0.7",
"expo-notifications": "^0.29.14",
"expo-router": "~4.0.17",
"expo-splash-screen": "~0.29.22",
"expo-status-bar": "~2.0.0",
"expo-symbols": "~0.2.0",
"expo-system-ui": "~4.0.6",
"expo-tracking-transparency": "~5.1.1",
"expo-updates": "~0.27.4",
"expo-web-browser": "~14.0.1",
"firebase": "^11.6.0",
"hermes-engine": "^0.11.0",
"lucide-react-native": "^0.475.0",
"nativewind": "^4.1.23",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-native": "0.76.9",
"react-native-gesture-handler": "~2.20.2",
"react-native-google-mobile-ads": "^15.1.0",
"react-native-reanimated": "~3.16.1",
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "~4.4.0",
"react-native-svg": "15.8.0",
"react-native-web": "~0.19.13",
"react-native-webview": "13.12.5",
"zod": "^3.24.2",
"zustand": "^5.0.2"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@expo/ngrok": "^4.1.0",
"@types/bun": "latest",
"@types/react": "~18.3.12",
"typescript": "~5.3.3"
},
"private": true
}
app.json
{
"expo": {
"name": "****",
"slug": "****",
"version": "1.0.1",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "myapp",
"userInterfaceStyle": "automatic",
"newArchEnabled": true,
"splash": {
"image": "./assets/images/splash-icon.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"ios": {
"supportsTablet": true,
"buildNumber": "7",
"googleServicesFile": "./keys/GoogleService-Info.plist",
"infoPlist": {
"NSCameraUsageDescription": "We use your camera to scan food and give you nutritional info. Only active when you scan.",
"NSUserNotificationsUsageDescription": "We use notifications to remind you to scan your food. Only active when you scan.",
"NSPhotoLibraryAddUsageDescription": "We use your photo library to save your scanned food. Only active when you scan.",
"NSPhotoLibraryUsageDescription": "We use your photo library to save your scanned food. Only active when you scan.",
"NSUserTrackingUsageDescription": "Allow this app to collect app-related data that can be used for tracking you or your device and deliver personalized ads to you.",
"SKAdNetworkItems": [
{
"SKAdNetworkIdentifier": [
"cstr6suwn9.skadnetwork",
"4fzdc2evr5.skadnetwork",
"4pfyvq9l8r.skadnetwork",
"2fnua5tdw4.skadnetwork",
"ydx93a7ass.skadnetwork",
"5a6flpkh64.skadnetwork",
"p78axxw29g.skadnetwork",
"v72qych5uu.skadnetwork",
"ludvb6z3bs.skadnetwork",
"cp8zw746q7.skadnetwork",
"c6k4g5qg8m.skadnetwork",
"s39g8k73mm.skadnetwork",
"3qy4746246.skadnetwork",
"3sh42y64q3.skadnetwork",
"f38h382jlk.skadnetwork",
"hs6bdukanm.skadnetwork",
"v4nxqhlyqp.skadnetwork",
"wzmmz9fp6w.skadnetwork",
"yclnxrl5pm.skadnetwork",
"t38b2kh725.skadnetwork",
"7ug5zh24hu.skadnetwork",
"9rd848q2bz.skadnetwork",
"y5ghdn5j9k.skadnetwork",
"n6fk4nfna4.skadnetwork",
"v9wttpbfk9.skadnetwork",
"n38lu8286q.skadnetwork",
"47vhws6wlr.skadnetwork",
"kbd757ywx3.skadnetwork",
"9t245vhmpl.skadnetwork",
"a2p9lx4jpn.skadnetwork",
"22mmun2rn5.skadnetwork",
"4468km3ulz.skadnetwork",
"2u9pt9hc89.skadnetwork",
"8s468mfl3y.skadnetwork",
"av6w8kgt66.skadnetwork",
"klf5c3l5u5.skadnetwork",
"ppxm28t8ap.skadnetwork",
"424m5254lk.skadnetwork",
"ecpz2srf59.skadnetwork",
"uw77j35x4d.skadnetwork",
"mlmmfzh3r3.skadnetwork",
"578prtvx9j.skadnetwork",
"4dzt52r2t5.skadnetwork",
"gta9lk7p23.skadnetwork",
"e5fvkxwrpn.skadnetwork",
"8c4e2ghe7u.skadnetwork",
"zq492l623r.skadnetwork",
"3rd42ekr43.skadnetwork",
"3qcr597p9d.skadnetwork",
"vutu7akeur.skadnetwork",
"eh6m2bh4zr.skadnetwork",
"pwa73g5rt2.skadnetwork"
]
}
]
},
"bundleIdentifier": "****",
"config": {
"usesNonExemptEncryption": false
}
},
"android": {
"versionCode": 7,
"googleServicesFile": "./keys/google-services.json",
"adaptiveIcon": {
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "****"
},
"plugins": [
"expo-router",
"@react-native-firebase/app",
[
"expo-build-properties",
{
"ios": {
"useFrameworks": "static"
},
"android": {
"extraProguardRules": "-keep class com.google.android.gms.internal.consent_sdk.** { *; }"
}
}
],
[
"react-native-google-mobile-ads",
{
"androidAppId": "******",
"iosAppId": "******",
"delay_app_measurement_init": true,
"userTrackingUsageDescription": "This identifier will be used to deliver personalized ads to you.",
"user_tracking_usage_description": "This identifier will be used to deliver personalized ads to you.",
"sk_ad_network_items": [
"cstr6suwn9.skadnetwork",
"4fzdc2evr5.skadnetwork",
"4pfyvq9l8r.skadnetwork",
"2fnua5tdw4.skadnetwork",
"ydx93a7ass.skadnetwork",
"5a6flpkh64.skadnetwork",
"p78axxw29g.skadnetwork",
"v72qych5uu.skadnetwork",
"ludvb6z3bs.skadnetwork",
"cp8zw746q7.skadnetwork",
"c6k4g5qg8m.skadnetwork",
"s39g8k73mm.skadnetwork",
"3qy4746246.skadnetwork",
"3sh42y64q3.skadnetwork",
"f38h382jlk.skadnetwork",
"hs6bdukanm.skadnetwork",
"v4nxqhlyqp.skadnetwork",
"wzmmz9fp6w.skadnetwork",
"yclnxrl5pm.skadnetwork",
"t38b2kh725.skadnetwork",
"7ug5zh24hu.skadnetwork",
"9rd848q2bz.skadnetwork",
"y5ghdn5j9k.skadnetwork",
"n6fk4nfna4.skadnetwork",
"v9wttpbfk9.skadnetwork",
"n38lu8286q.skadnetwork",
"47vhws6wlr.skadnetwork",
"kbd757ywx3.skadnetwork",
"9t245vhmpl.skadnetwork",
"a2p9lx4jpn.skadnetwork",
"22mmun2rn5.skadnetwork",
"4468km3ulz.skadnetwork",
"2u9pt9hc89.skadnetwork",
"8s468mfl3y.skadnetwork",
"av6w8kgt66.skadnetwork",
"klf5c3l5u5.skadnetwork",
"ppxm28t8ap.skadnetwork",
"424m5254lk.skadnetwork",
"ecpz2srf59.skadnetwork",
"uw77j35x4d.skadnetwork",
"mlmmfzh3r3.skadnetwork",
"578prtvx9j.skadnetwork",
"4dzt52r2t5.skadnetwork",
"gta9lk7p23.skadnetwork",
"e5fvkxwrpn.skadnetwork",
"8c4e2ghe7u.skadnetwork",
"zq492l623r.skadnetwork",
"3rd42ekr43.skadnetwork",
"3qcr597p9d.skadnetwork",
"vutu7akeur.skadnetwork",
"eh6m2bh4zr.skadnetwork",
"pwa73g5rt2.skadnetwork"
],
"skAdNetworkItems": [
"cstr6suwn9.skadnetwork",
"4fzdc2evr5.skadnetwork",
"2fnua5tdw4.skadnetwork",
"ydx93a7ass.skadnetwork",
"p78axxw29g.skadnetwork",
"v72qych5uu.skadnetwork",
"ludvb6z3bs.skadnetwork",
"cp8zw746q7.skadnetwork",
"3sh42y64q3.skadnetwork",
"c6k4g5qg8m.skadnetwork",
"s39g8k73mm.skadnetwork",
"3qy4746246.skadnetwork",
"hs6bdukanm.skadnetwork",
"mlmmfzh3r3.skadnetwork",
"v4nxqhlyqp.skadnetwork",
"wzmmz9fp6w.skadnetwork",
"su67r6k2v3.skadnetwork",
"yclnxrl5pm.skadnetwork",
"7ug5zh24hu.skadnetwork",
"gta9lk7p23.skadnetwork",
"vutu7akeur.skadnetwork",
"y5ghdn5j9k.skadnetwork",
"v9wttpbfk9.skadnetwork",
"n38lu8286q.skadnetwork",
"47vhws6wlr.skadnetwork",
"kbd757ywx3.skadnetwork",
"9t245vhmpl.skadnetwork",
"a2p9lx4jpn.skadnetwork",
"22mmun2rn5.skadnetwork",
"4468km3ulz.skadnetwork",
"2u9pt9hc89.skadnetwork",
"8s468mfl3y.skadnetwork",
"ppxm28t8ap.skadnetwork",
"uw77j35x4d.skadnetwork",
"pwa73g5rt2.skadnetwork",
"578prtvx9j.skadnetwork",
"4dzt52r2t5.skadnetwork",
"tl55sbb4fm.skadnetwork",
"e5fvkxwrpn.skadnetwork",
"8c4e2ghe7u.skadnetwork",
"3rd42ekr43.skadnetwork",
"3qcr597p9d.skadnetwork"
]
}
],
[
"expo-tracking-transparency",
{
"userTrackingPermission": "This identifier will be used to deliver personalized ads to you."
}
]
],
"experiments": {
"typedRoutes": true
},
"extra": {
"router": {
"origin": false
},
"eas": {
"projectId": "bbaf8228-ec86-428a-a856-de972b2192d1"
}
},
"owner": "nutritionnew",
"runtimeVersion": "1.0.0",
"updates": {
"url": "https://u.expo.dev/bbaf8228-ec86-428a-a856-de972b2192d1"
}
}
}
ios/Podfile
android/build.gradle
android/app/build.gradle
android/settings.gradle
AndroidManifest.xml
I have the same issue with npx expo run:android and says
V15 requires kotlin >= 2.0, that's why it was released as a breaking change.
V15 requires kotlin >= 2.0, that's why it was released as a breaking change.
thanks that works for me
V15 requires kotlin >= 2.0, that's why it was released as a breaking change.
What is the latest version that works before the break change that requires kotlin >= 2.0?
14.11.0
This worked for me too
14.11.0, worked for me, with kotlin 1.9.25.
Hello 👋, to help manage issues we automatically close stale issues.
This issue has been automatically marked as stale because it has not had activity for quite some time.Has this issue been fixed, or does it still require attention?
This issue will be closed in 15 days if no further activity occurs.
Thank you for your contributions.