question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Hermes enabled bundle causes white screen when installed from Google Play

See original GitHub 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.

  • Debug builds work.
  • ./gradlew installRelease works.
  • Even extracting the apks from the .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® Core™ 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

  1. Compile and package release build with Hermes enabled
  2. Upload it to Google Play (Alpha or Beta)
  3. Once the app is available download and install the version from Google Play
  4. Launch the app -> White Screen

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:

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:123
  • Comments:83 (14 by maintainers)

github_iconTop GitHub Comments

166reactions
Alaa-Bencommented, Oct 8, 2019

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 app/build.gradle:

configurations.all {
     resolutionStrategy {
       force "com.facebook.soloader:soloader:0.8.0"
     }
}

I hope it works for you too 😃

22reactions
AlexandrDobrovolskiycommented, Mar 3, 2020

@Alaa-Ben Was trying to solve this issue for past 2 days until I met your comment. Thank you very much!! I have found one problem though. Indeed bundleRelease now works in google playstore when I enable SoLoader(0.8.0), it is debug mode(i.e. just react-native run-android) that doesn’t work anymore. App crashes on start. So at the moment, I have to comment out

configurations.all {
     resolutionStrategy {
       force "com.facebook.soloader:soloader:0.8.0"
     }
}

on android/app/build.gradle when I use debug mode to develop, and enable that part again for bundleReleases. Am I the only one with this issue??

This solution works with real devices but breaks react-native run-android on emulators, the app’s crashing after open with errors like this:

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libyoga.so caused by: APK was built for a different platform

Fixed According to master branch of react-native https://github.com/facebook/react-native/blob/master/ReactAndroid/gradle.properties you need to change SoLoader version to 0.8.2

    configurations.all {
        resolutionStrategy {
            force "com.facebook.soloader:soloader:0.8.2"
        }
    }
Read more comments on GitHub >

github_iconTop Results From Across the Web

Top 13 Ways to Fix Google Play Store White Screen Problem
Is Google Play Store showing a blank and white screen when you open it? Find out how to fix the white screen problem...
Read more >
app.json / app.config.js - Expo Documentation
Requires expo-system-ui be installed in your project to work on iOS. 6 character long hex color string, for example, '#000000' . Default is...
Read more >
How to Solve Google Play Store White Screen Issue
In this guide, we will talk about various troubleshooting techniques to fix the Play Store White Screen Issue happening on any Android ...
Read more >
Using Hermes - React Native
If you are using a non-standard way of loading the JS bundle, it is possible that the HermesInternal variable is available but you...
Read more >
Android .aab application in google play store(React native ...
After publishing, we try to test in android(iOS working good). We are facing the white screen issue after the splash screen. Because of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found