[π] Bug Report Title - It is crashing on Android Version 10 and below
What happened?
Description: On Android 10 and below, using react-native-google-mobile-ads (tried multiple versions), with React Native 0.79βs New Architecture enabled, our app immediately crashes with SIGABRT in libc.so during JSI initialization of the AdMob module (NativeGoogleMobileAdsNativeModuleSpecJSI β setEventEmitterCallback). This appears to be caused by the Android EventEmitter (TurboModule) stub not being implemented, so the TurboModule loader aborts when it tries to register callbacks.
Please help.
Platforms
Android, but have not tested behavior on iOS
React Native Info
Version 0.79.2
Are your using Typescript?
- [ ] My project is using Typescript
package.json
"@expo/vector-icons": "^14.1.0",
"@react-native-async-storage/async-storage": "2.1.2",
"@react-native-community/netinfo": "11.4.1",
"@react-native-firebase/analytics": "^22.2.0",
"@react-native-firebase/app": "^22.2.0",
"@react-native-firebase/crashlytics": "^22.2.0",
"@react-native-firebase/messaging": "^22.2.0",
"@react-navigation/bottom-tabs": "^6.6.1",
"@react-navigation/native": "^6.1.18",
"@react-navigation/native-stack": "^6.10.1",
"@supabase/supabase-js": "^2.49.9-next.2",
"expo": "^53.0.9",
"expo-av": "~15.1.4",
"expo-build-properties": "~0.14.6",
"expo-clipboard": "~7.1.4",
"expo-constants": "~17.1.6",
"expo-dev-client": "~5.1.8",
"expo-haptics": "~14.1.4",
"expo-image": "~2.1.7",
"expo-linear-gradient": "~14.1.4",
"expo-navigation-bar": "~4.2.4",
"expo-network": "~7.1.5",
"expo-notifications": "~0.31.2",
"expo-splash-screen": "~0.30.8",
"expo-status-bar": "~2.2.3",
"hashids": "^2.3.0",
"lodash": "^4.17.21",
"lottie-react-native": "7.2.2",
"react": "19.0.0",
"react-native": "0.79.2",
"react-native-gesture-handler": "~2.24.0",
"react-native-google-mobile-ads": "14.9.1", // also tried version v15
"react-native-responsive-fontsize": "^0.5.1",
"react-native-responsive-screen": "^1.4.2",
"react-native-safe-area-context": "5.4.0",
"react-native-screens": "~4.10.0",
"react-native-shimmer-placeholder": "^2.0.9",
"react-native-toast-message": "^2.2.0",
"react-native-webview": "13.13.5",
app.json
.
ios/Podfile
android/build.gradle
android/app/build.gradle
android/settings.gradle
AndroidManifest.xml
If you see the readme, the new EventEmitter is not implemented in the Android part. This library is looking for Android maintainers :) feel free to submit a PR.
@foya562 I was facing the same issue as well. The fix that worked for me was disabling the New Architecture on Android. Iβll enable it again once the new EventEmitter is implemented in this library ;)
@foya562 I was facing the same issue as well. The fix that worked for me was disabling the New Architecture on Android. Iβll enable it again once the new EventEmitter is implemented in this library ;)
yes i will also do the same.
The biggest issue with this kind of crash is , that even Crashlytics (with ndk enalbled and symbol uploads to true) does not give fully symbolicated stack trace. So it becomes very hard to check/understand these kind of errors.
@foya562 I was facing the same issue as well. The fix that worked for me was disabling the New Architecture on Android. Iβll enable it again once the new EventEmitter is implemented in this library ;)
I have the same problem. Can you tell me how you solved it? Did you disable ads for the app completely?
@foya562 I was facing the same issue as well. The fix that worked for me was disabling the New Architecture on Android. Iβll enable it again once the new EventEmitter is implemented in this library ;)
I have the same problem. Can you tell me how you solved it? Did you disable ads for the app completely?
just use the older architecture as of now. When the team will fix this issue, use the new architecture.
Just a one line change in your code.
Thanks for the help. Switching to the old architecture in app.json really helped, and now the program works without crashing.
{
"expo": {
"android": {
"newArchEnabled": false
}
}
}
I would also like to note that the app crash occurred not only on Android 10 and below, but also on newer versions.
Hope switching doesn't cause any harm or something
@foya562 please hope changing it to new architecture won't cause any kind of harm or crash?
Hope switching doesn't cause any harm or something
In my case, I needed to edit some screens after that. So check if the content is displayed correctly on your screens. I didn't have any other problems or crashes.
@mrgarest like how about the performance of your app...did it reduce or increase? And can you give me an example of a screen you edited please and also...did all the ads format started displaying perfectly on all devices.
@mrgarest like how about the performance of your app...did it reduce or increase? And can you give me an example of a screen you edited please and also...did all the ads format started displaying perfectly on all devices.
I haven't noticed any performance issues, but the app is quite simple and undemanding.
@mrgarest I mean the speed of the app..did it reduce ? And please you didn't answer me concerning the ads ππ
@mrgarest I mean the speed of the app..did it reduce ? And please you didn't answer me concerning the ads ππ
- I didn't notice any difference in how the app works on two Android devices (8 and 14) and one iOS device.
- I had problems with screens when using TailwindCSS, namely in
expo/vector-icons, where colors did not work (specifically when using classes from TailwindCSS), and there was one place wherejustify-between(also from TailwindCSS) did not work in theLinkcomponent. - I only use native blocks. There are no problems with them.
@foya562 please hope changing it to new architecture won't cause any kind of harm or crash?
In majority of the cases, it will not. But check your app thouroughly. That is the only way to tell.
In my case, I was having some issues with flatList animations. But it was simple to solve.
@foya562 thanks...how about the speed? And you are sure that the ads is showing perfectly right?
@foya562 thanks...how about the speed? And you are sure that the ads is showing perfectly right?
I only use native advanced ads. Which works fine.
and for the speed, i don't see any noticeable changes.
Completing the EventEmitter improvements will be a significant and fantastic achievement! Is there any progress being made on this front?
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.
I am having this issue, but I am not using react-native-google-mobile-ads. Could this be an issue with React Native 0.79.X?
I can confirm that I have disabled the new architecture. When I downgraded to RN 0.76 (By downgrading Expo from SDK 53 to SDK 52, it seems the crash is resolved)
I am having this issue, but I am not using react-native-google-mobile-ads. Could this be an issue with React Native 0.79.X?
I can confirm that I have disabled the new architecture. When I downgraded to RN 0.76 (By downgrading Expo from SDK 53 to SDK 52, it seems the crash is resolved)
can you share your package.json file
Attempting to build your app without configuring a valid App ID for this package will cause the app to crash on start or fail to build.
It seems that the problem has been solved.
I updated my project to Expo 54.0.7 and react-native-google-mobile-ads to version 15.7.0. I also re-enabled the new architecture, because without it, the project would crash during compilation, and the crash issue disappeared.
To make sure everything was working properly, I ran tests on the physical device that had previously crashed. I also ran tests in Firebase Test Lab, and all devices completed the tests successfully.
After releasing the app on Google Play, Firebase Crashlytics also did not receive any crash reports.
But how is this possible, majority of the changes in Android have not been done.
Also have you checked on android 10 or below with the new architecture, they were the one which were having the issues.
Can anyone from the team check this. Please
It seems that the problem has been solved.
I updated my project to Expo 54.0.7 and react-native-google-mobile-ads to version 15.7.0. I also re-enabled the new architecture, because without it, the project would crash during compilation, and the crash issue disappeared.
To make sure everything was working properly, I ran tests on the physical device that had previously crashed. I also ran tests in Firebase Test Lab, and all devices completed the tests successfully.
After releasing the app on Google Play, Firebase Crashlytics also did not receive any crash reports.
But how is this possible, majority of the changes in Android have not been done.
Also have you checked on android 10 or below with the new architecture, they were the one which were having the issues.
Can anyone from the team check this. Please
It seems that the problem has been solved. I updated my project to Expo 54.0.7 and react-native-google-mobile-ads to version 15.7.0. I also re-enabled the new architecture, because without it, the project would crash during compilation, and the crash issue disappeared. To make sure everything was working properly, I ran tests on the physical device that had previously crashed. I also ran tests in Firebase Test Lab, and all devices completed the tests successfully. After releasing the app on Google Play, Firebase Crashlytics also did not receive any crash reports.
I don't know why the problem disappeared, but everything is working now and I haven't received any errors. Everything is working on my device as well.
If the problem reappears, I will write about it here.
But how is this possible, majority of the changes in Android have not been done. Also have you checked on android 10 or below with the new architecture, they were the one which were having the issues. Can anyone from the team check this. Please > It seems that the problem has been solved. > I updated my project to Expo 54.0.7 and react-native-google-mobile-ads to version 15.7.0. I also re-enabled the new architecture, because without it, the project would crash during compilation, and the crash issue disappeared. > To make sure everything was working properly, I ran tests on the physical device that had previously crashed. I also ran tests in Firebase Test Lab, and all devices completed the tests successfully. > After releasing the app on Google Play, Firebase Crashlytics also did not receive any crash reports.
I don't know why the problem disappeared, but everything is working now and I haven't received any errors. Everything is working on my device as well.
If the problem reappears, I will write about it here.
Yes please, And thankyou so so much for the help.ππΌππΌ
Hey @dylancom @felipej26 @mnevfel @jesulonimii @DewantiV Can you tell us why the issues solved even if there are a lot of changes pending ?
Please help.
But how is this possible, majority of the changes in Android have not been done. Also have you checked on android 10 or below with the new architecture, they were the one which were having the issues. Can anyone from the team check this. Please > It seems that the problem has been solved. > I updated my project to Expo 54.0.7 and react-native-google-mobile-ads to version 15.7.0. I also re-enabled the new architecture, because without it, the project would crash during compilation, and the crash issue disappeared. > To make sure everything was working properly, I ran tests on the physical device that had previously crashed. I also ran tests in Firebase Test Lab, and all devices completed the tests successfully. > After releasing the app on Google Play, Firebase Crashlytics also did not receive any crash reports.
I don't know why the problem disappeared, but everything is working now and I haven't received any errors. Everything is working on my device as well.
If the problem reappears, I will write about it here.
For me, I only solved by upgrading Expo. Apparently it was a bug from their end on one of their patches. I solved by upgrading to the latest patch as mentioned by the contributors in an issue I found. I will check if I can find it and reference.
I think you should just update to the most recent SDK 53 release.
@mrgarest @jesulonimii please how about us using bare react native? You said you upgraded your expo version and the issue was resolved on Android 10 devices and lower....how about us using bare react native? If probably upgrade to 0.8 or 0.79.X....will it be resolved
@mrgarest @jesulonimii please how about us using bare react native? You said you upgraded your expo version and the issue was resolved on Android 10 devices and lower....how about us using bare react native? If probably upgrade to 0.8 or 0.79.X....will it be resolved
I used Expo SDK 53 and encountered this issue. After updating to Expo 54.0.7 (React Native updated to 0.81.4) and also updating this library to 15.7.0, the issue has been resolved for now.
I would also like to note that I encountered this problem not only on Android versions below 10, but also on newer versions, although this was not a frequent occurrence.
@mrgarest thanks bro! Lastly...so you can confirm that even on Android 10 and lower...the issue has been solved after you did all of this.... also...did you also switched to new architecture or it's still old architecture.
But how is this possible, majority of the changes in Android have not been done.