Built APK stuck on splash screen and build errors

  1. SDK Version:44.0.0
  2. Platforms(Android/iOS/web/all): Android
  3. Engine: Hermes

Tried to build expo locally using Turtle-CI and I was met with a stuck SplashScreen when I installed in on my android S10. I opened android studio debugger and checked the errors; I got the following error:

Failed to clear legacy OkHttp cache
    java.io.IOException: not a readable directory: /data/user/0/com.myCompany.MyApp/files/okhttp
        at okhttp3.internal.io.FileSystem$1.deleteContents(FileSystem.java:7)
        at okhttp3.internal.cache.DiskLruCache.delete(DiskLruCache.java:2)
        at okhttp3.Cache.delete(Cache.java:1)
        at host.exp.exponent.q.e.b(ExponentNetwork.kt:4)
        at host.exp.exponent.q.e.<init>(ExponentNetwork.kt:10)
        at host.exp.exponent.m.a.<init>(NativeModuleDepsProvider.kt:6)
        at host.exp.exponent.m.a$a.b(NativeModuleDepsProvider.kt:2)
...

E/c: java.lang.RuntimeException: A TaskDescription's primary color should be opaque
 W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.image.ReactImageManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ReactModalHostManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ModalHostShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactRawTextManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactRawTextShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.view.ReactViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactVirtualTextViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactVirtualTextShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.unimplementedview.ReactUnimplementedViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$GroupViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$RenderableShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$PathViewManager
 W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$CircleViewManager
 W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$EllipseViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$LineViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$RectViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$TextViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$TSpanViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$TextPathViewManager
 W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$ImageViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$ClipPathViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$DefsViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$UseViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$SymbolManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$LinearGradientManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$RadialGradientManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$PatternManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$MaskManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$ForeignObjectManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.RenderableViewManager$MarkerManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.svg.SvgViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapCalloutManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapMarkerManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapPolylineManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapGradientPolylineManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapPolygonManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapCircleManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapLiteManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapUrlTileManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapWMSTileManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapLocalTileManager
 W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapOverlayManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maps.AirMapHeatmapManager
 W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.lottie.LottieAnimationViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.gesturehandler.react.RNGestureHandlerRootViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.gesturehandler.react.RNGestureHandlerButtonViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.screens.ScreenContainerViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.screens.ScreenViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.screens.ScreenStackViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.screens.ScreenStackHeaderConfigViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.screens.ScreenStackHeaderSubviewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.screens.SearchBarManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.webview.RNCWebViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.safeareacontext.SafeAreaProviderManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.safeareacontext.SafeAreaViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.safeareacontext.SafeAreaViewShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.sharedelement.RNSharedElementTransitionManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.maskedview.RNCMaskedViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.picker.ReactDialogPickerManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.picker.ReactPickerShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.picker.ReactDropdownPickerManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.slider.ReactSliderManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.slider.ReactSliderManager$ReactSliderShadowNode
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.pagerview.PagerViewViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.reactnativestripesdk.StripeSdkCardViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.reactnativestripesdk.AuBECSDebitFormViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.reactnativestripesdk.StripeContainerManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class versioned.host.exp.exponent.modules.api.components.reactnativestripesdk.CardFormViewManager
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class expo.modules.adapters.react.views.SimpleViewManagerAdapter
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class expo.modules.adapters.react.views.ViewGroupManagerAdapter
W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class expo.modules.kotlin.views.SimpleViewManagerWrapper

I thought maybe this is something to do with how my machine is setup so I ran

expo build:android -t apk

In the expo build log I was saw the following error:

[stderr]
Could not load custom lint check jar file /root/.gradle/caches/transforms-3/bb2f34d56cf459aa6242f42031652887/transformed/jetified-ui-graphics-1.0.4/jars/lint.jar
[stderr] java.lang.NoClassDefFoundError: com/android/tools/lint/client/api/Vendor
[stderr] at androidx.compose.ui.graphics.lint.UiGraphicsIssueRegistry.<init>(UiGraphicsIssueRegistry.kt:34)
[stderr] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[stderr] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[stderr] at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[stderr] at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[stderr] at java.base/java.lang.Class.newInstance(Class.java:584)

And when expo finished build the APK, I still couldn’t get past the splash screen, although the app works fine in expo go. I’ve tried on a physical S10 and an emulator.

my build.gradle looks like

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 21
        compileSdkVersion = 31
        targetSdkVersion = 30
    }
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:4.1.0")
        classpath("com.android.tools.lint:lint-checks:26.0.1")

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../android"))
        }
        maven {
            // Android JSC is installed from npm
            url(new File(["node", "--print", "require.resolve('jsc-android/package.json')"].execute(null, rootDir).text.trim(), "../dist"))
        }

        google()
        mavenCentral()
        jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}

Hey @izzy_izzy, thanks for taking the time to create such a detailed post. Could you try seeing if you can reproduce this issue with a brand new project as well?

Hi @izzy_izzy

I don’t think expo build:android supports hermes and I would be surprised if turtle does either.

But you should be able to do it with:

eas build -p android --profile preview --local

See Running builds on your own infrastructure - Expo Documentation

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.