I had a working Android build, using SDK 24 and recently pushed a SDK 25 build out to get some beta testing going of the stand-alone app. Reports came in that the app wouldn’t load, just froze on the splash screen.
My findings so far:
- The app works fine in the Expo client (both dev and prod modes)
- The iOS stand-alone build works fine as well
- Using (or not using) the AppLoading component seems to have no effect this time (it was causing issues in SDK 22)
- Across a bunch of Android versions. Produced on v5, v7, v7.1
- Happens both from Google Play, but also if I just sideload the APK
- Downgrading to SDK 24 didn’t help. Which makes me think that this has something to do with my bundle. Still weird that Expo Client works perfectly fine.
Logcat (expires in 1 month): https://pastebin.com/1PJJbP7p
Fabric session: https://pastebin.com/i3qXZtDD
Culprit found
It appears that registering for push notifications is causing this. As soon as I comment that out of my init promise chain, the app launches.
Working my through the registerForPush promise, it’s
const token = await Notifications.getExpoPushTokenAsync()
That completely derails the application. I don’t get any exceptions logged or anything. It just freezes.
Github issue: https://github.com/expo/expo/issues/1388