Expo React Native Android-Absturz: java.lang.String kann nicht in java.lang.Boolean umgewandelt werden, wenn es auf eineAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Expo React Native Android-Absturz: java.lang.String kann nicht in java.lang.Boolean umgewandelt werden, wenn es auf eine

Post by Anonymous »

Ich bekomme einen Laufzeitabsturz, wenn ich meine Expo (verwaltet) React Native-App auf Android (physisches Gerät über USB) ausführe:
Image

Die App startet mit npx expo start, stürzt aber sofort nach dem Drücken ab a, um es auf Android zu öffnen
Umgebung
  • Betriebssystem: Linux (Ubuntu-basiert)
  • Gerät: Samsung Galaxy A35
  • Android-Version: Android 14
  • Expo: Verwalteter Workflow
  • Ausführung über: USB (Expo Go)
  • Verwendeter Befehl:

Code: Select all

npx expo start --localhost
Fehler
Unter Android stürzt die App mit dem folgenden Fehler in Logcat ab:

Code: Select all

java.lang.String cannot be cast to java.lang.Boolean
at com.facebook.react.uimanager.ViewManagerPropertyUpdater
at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty
at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties
at com.facebook.react.uimanager.UIImplementation.updateView
Darüber hinaus zeigt Expo Meldungen wie:

Code: Select all

Error fetching file file_00000000bf4071f5b02f740f3048e659 from file service.
Error fetching file file_00000000835471f5884e0f4c9ad469a9 from file service.
Was ich bereits überprüft habe
  • Code: Select all

    app.json
    enthält nicht „true“ oder „false“ als Zeichenfolgen
  • Boolesche Werte werden korrekt geschrieben (

    Code: Select all

    true
    / false, ohne Anführungszeichen)
  • Entfernte experimentelle Flags wie:

    Code: Select all

    newArchEnabled
  • Code: Select all

    edgeToEdgeEnabled
  • Code: Select all

    predictiveBackGestureEnabled
[*]Cache geleert:

Code: Select all

npx expo start --clear
  • Android SDK und adb sind korrekt konfiguriert
  • App funktioniert auf Web, stürzt jedoch nur auf Android
app.json
ab

Code: Select all

{
"expo": {
"name": "Frontconsig-crm-app",
"slug": "Frontconsig-crm-app",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./assets/splash-icon.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"ios": {
"supportsTablet": true
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
}
},
"web": {
"favicon": "./assets/favicon.png",
"bundler": "metro"
}
}
}
Verdacht
Soweit ich weiß, tritt dieser Fehler normalerweise auf, wenn eine Komponenten-Requisite eine Zeichenfolge anstelle eines booleschen Werts empfängt, zum Beispiel:

Code: Select all

// wrong


// correct

Ich konnte jedoch nicht identifizieren, welche Komponente oder Requisite diesen Absturz verursacht, da Android die JS-Datei- oder Zeilennummer nicht anzeigt.
  • Wie lässt sich am besten genau identifizieren, welche Komponente/Requisite diesen Fehler auf Android verursacht?
  • Gibt es ein bekanntes Expo- oder React Native-Muster das diesen Fehler nur auf Android auslöst?
  • Gibt es Tools oder Flags, um bessere JS-Stack-Traces für diese Art von nativem Absturz zu erhalten?
Jede Hilfe oder Anleitung wäre sehr dankbar.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post