react-native-google-mobile-ads icon indicating copy to clipboard operation
react-native-google-mobile-ads copied to clipboard

[πŸ›] Bug Report Title - It is crashing on Android Version 10 and below

Open foya562 opened this issue 7 months ago β€’ 3 comments

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


foya562 avatar Jun 09 '25 04:06 foya562

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.

dylancom avatar Jun 09 '25 18:06 dylancom

@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 ;)

felipej26 avatar Jun 13 '25 05:06 felipej26

@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 avatar Jun 18 '25 08:06 foya562

@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?

mrgarest avatar Jun 18 '25 09:06 mrgarest

@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.

foya562 avatar Jun 18 '25 09:06 foya562

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.

mrgarest avatar Jun 19 '25 08:06 mrgarest

Hope switching doesn't cause any harm or something

miraclenonso avatar Jun 21 '25 18:06 miraclenonso

@foya562 please hope changing it to new architecture won't cause any kind of harm or crash?

miraclenonso avatar Jun 21 '25 19:06 miraclenonso

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 avatar Jun 21 '25 19:06 mrgarest

@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.

miraclenonso avatar Jun 21 '25 19:06 miraclenonso

@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 avatar Jun 21 '25 20:06 mrgarest

@mrgarest I mean the speed of the app..did it reduce ? And please you didn't answer me concerning the ads πŸ™πŸ™

miraclenonso avatar Jun 21 '25 20:06 miraclenonso

@mrgarest I mean the speed of the app..did it reduce ? And please you didn't answer me concerning the ads πŸ™πŸ™

  1. I didn't notice any difference in how the app works on two Android devices (8 and 14) and one iOS device.
  2. 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 where justify-between (also from TailwindCSS) did not work in the Link component.
  3. I only use native blocks. There are no problems with them.

mrgarest avatar Jun 21 '25 20:06 mrgarest

@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 avatar Jun 22 '25 09:06 foya562

@foya562 thanks...how about the speed? And you are sure that the ads is showing perfectly right?

miraclenonso avatar Jun 22 '25 09:06 miraclenonso

@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.

foya562 avatar Jun 22 '25 09:06 foya562

Completing the EventEmitter improvements will be a significant and fantastic achievement! Is there any progress being made on this front?

EventEmitter

mnevfel avatar Jul 11 '25 22:07 mnevfel

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.

github-actions[bot] avatar Aug 08 '25 22:08 github-actions[bot]

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)

jesulonimii avatar Aug 18 '25 07:08 jesulonimii

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

foya562 avatar Aug 18 '25 07:08 foya562

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.

DewantiV avatar Aug 31 '25 07:08 DewantiV

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.

mrgarest avatar Sep 18 '25 07:09 mrgarest

Image

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.

foya562 avatar Sep 18 '25 07:09 foya562

Image 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.

mrgarest avatar Sep 18 '25 08:09 mrgarest

Image 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.πŸ™πŸΌπŸ™πŸΌ

foya562 avatar Sep 18 '25 08:09 foya562

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.

Image 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.

foya562 avatar Sep 18 '25 08:09 foya562

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.

jesulonimii avatar Sep 18 '25 08:09 jesulonimii

@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

miraclenonso avatar Sep 18 '25 09:09 miraclenonso

@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 avatar Sep 18 '25 09:09 mrgarest

@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.

miraclenonso avatar Sep 18 '25 09:09 miraclenonso