-
Notifications
You must be signed in to change notification settings - Fork 24.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hermes enabled bundle causes white screen when installed from Google Play #26400
Comments
Facing the same issue @desmondmc. Recently upgraded my project from 0.57.8 to 0.60.5. Also enabled def enableSeparateBuildPerCPUArchitecture = true and def enableProguardInReleaseBuilds = true. Can you please write here if you find a solution |
@desmondmc try uploading the apks instead of the app bundle. In my case, uploading the app bundle to the play store showed a white blank screen on start up. But, uploading all the apks generated(with def enableSeparateBuildPerCPUArchitecture = true) did the trick. Give it a try. |
Facing the same problem only when upload the bundleRelease to play store, assembleRelease is OK. |
A (terrible) workaround is to first run assembleRelease (so the js bundle is generated), and then run bundleRelease. I don't think this is related to Hermes though, since even when I disabled it I still have the same problem with bundling the app |
Just tested with |
same issue with @herio any test locally on debug or release is working. Only version returning the white screen is from the bundleRelease to play store react-native: 0.60.4 |
I am getting the same issue, also only when I upload bundle to play store with Hermes enabled. assembleRelease works fine and all works fine with Hermes disabled. RN version 0.61.1 |
This comment has been minimized.
This comment has been minimized.
Please upvote the first post, don't post |
This comment has been minimized.
This comment has been minimized.
Hey guys ! For me, it turned out it was a problem of SoLoader, which was fixed in 0.8.0. React Native 0.61.1 doesn't use this version yet, so the solution was to set it up manually by adding the following to
I hope it works for you too :) |
@Alaa-Ben cool. I will se if I can submit this as a PR. |
@radko93 Bumping SoLoader to 0.8.0 in the gradle properties should do the trick. Shoud I open a PR ? |
@Alaa-Ben Have you enabled hermes? App crashes in the pre-launch rapport of the Google Play.
|
@RichardLindhout Yes, Hermes is enabled. I had 2 issues (only when downloading from GooglePlay) before forcing Soloader to 0.8.0. Either:
|
I have this know, maybe this can not work.
|
I can confirm that the solution from @Alaa-Ben worked for me when deploying to Google Play. |
Summary: This PR bumps bumps Soloader to 0.8.0. This fixes white screen/ crash issues when downloading from Google Play. Related to: #25927 #26400 ## Changelog [Android] [Changed] - Bump Soloader to 0.8.0 Pull Request resolved: #26759 Test Plan: A few CI tests fail, but I don't see the link with what I changed, especially the ios tests. It's working locally though, and for people on github who tried this solution as well. Differential Revision: D17828891 Pulled By: mdvacca fbshipit-source-id: 1c7809aa681b41b8ed9a4da96d041d52f3cfbb76
Can also confirm that @Alaa-Ben's solution worked for me. Nice work 👍 |
We've been getting crash reports on our production app after upgrade to RN What we've tried so far:
When we tried running a fresh RN app on an emulator, the app crashed immediately. It doesn't seem to be the same issue, but could be related. #28308 |
Seems to be only google play test devices that throw this error. No worries |
@benjipott Is there a way to know if the device is a google play test device? |
still throwing this error |
Still the same issue with RN 0.62.1 |
I'm on the 0.62.2 version and this bug has been fixed! |
I can also confirm that is fixed now without any workarounds. |
0.62.2 still have this issue when run on bluestack with release variant. |
@RichardLindhout Which crash report module are you using ? Can you give me name of this crash report ? Thanks |
This was done by testing in Google Play store. I use RNN and we switched back to APK to work around this issue. Are you using React Native Navigation too? |
Thank for reply. i use React Navigaiton. I want to know when app crash and trace log from it, like your screenshoot. |
This was the cause of the app crashing on the splash screen and is apparently a known issue with React Native v0.61.5: - https://stackoverflow.com/a/60077010/4984973 - facebook/react-native#26400 (comment)
Now, React Native 0.63 is using SO_LOADER |
@mym0404 yes, it should work directly. |
I'm on 0.63.2 and this issue is still not fixed for me! Cannot run the Android App in Debug or Release with Hermes enabled or disabled on my Emulator! |
Closing this issue as the original bug as described has been fixed. |
Using this, all work fine in React-Native 0.60.6. |
@SnowLew App Still Crashes on Startup React native After installed from Play Store "react-native": "^0.63.3",
|
This still occurs with React Native and Hermes, can we re-open the issue? |
I've try without hermes and works fine, but with hermes this issue continue. |
In my case I needed to add hermes path for each android flavour if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
qaImplementation files(hermesPath + "hermes-release.aar")
stageImplementation files(hermesPath + "hermes-release.aar")
prodImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
} |
I'm on react-native 0.63.4 and this is still happening for me when I have hermes enabled. Soon as the app opens up, flashes a white screen and closes. It happens when I do Is there any way to tell which Hermes version you're using? |
AAB will be required to use in some months and it seems that JSC is more or less abandonware (it also causes a lot of crashes, which were fixed the moment we switched to Hermes). Please fix this issue. |
Compiling a release with Hermes enabled causes a white screen after downloading from Google Play.
Literally everything else works fine, it only breaks after being uploaded to Google Play.
./gradlew installRelease
works..aab
using bundletool and installing them with adb on a device works.I know that Hermes is running because
global.HermesInternal != null
, not to mention it's lightning fast 💨.React Native version: 0.65.0
System:
OS: macOS 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz
Memory: 22.53 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 11.6.0 - /usr/local/bin/node
Yarn: 1.12.3 - /usr/local/bin/yarn
npm: 6.8.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
Android SDK:
API Levels: 23, 26, 27, 28, 29
Build Tools: 27.0.3, 28.0.3
System Images: android-26 | Google Play Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.5791312
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.5 => 0.60.5
npmGlobalPackages:
react-native-cli: 2.0.1
Steps To Reproduce
Describe what you expected to happen:
I expect bundles compiled with Hermes enabled to behave the same after being uploaded to Google Play.
Snack, code example, screenshot, or link to a repository:
adb logcat
when launching the Play Store version of the app: hermes-prod-logs.txtThe text was updated successfully, but these errors were encountered: