
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
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
Code: Select all
Error fetching file file_00000000bf4071f5b02f740f3048e659 from file service.
Error fetching file file_00000000835471f5884e0f4c9ad469a9 from file service.
- enthält nicht „true“ oder „false“ als Zeichenfolgen
Code: Select all
app.json - Boolesche Werte werden korrekt geschrieben (/ false, ohne Anführungszeichen)
Code: Select all
true - Entfernte experimentelle Flags wie:
Code: Select all
newArchEnabled Code: Select all
edgeToEdgeEnabledCode: Select all
predictiveBackGestureEnabled
Code: Select all
npx expo start --clear
- Android SDK und adb sind korrekt konfiguriert
- App funktioniert auf Web, stürzt jedoch nur auf Android
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"
}
}
}
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
- 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?
Mobile version