Description
ExecuTorch only ships arm64-v8a native libraries. On Android devices running 32-bit userspace (including budget devices with 64-bit CPUs), the native .so isn't found and ETInstaller throws UnsatisfiedLinkError, which surfaces as a JavascriptException and crashes the app at startup. There's no way for consumers to handle this.
Three code paths throw unconditionally:
RnExecutorchPackage.kt — no try/catch around ETInstaller(reactContext)
RnExecutorchModules.ts — returns a throwing Proxy instead of null
src/index.ts — throws Failed to install react-native-executorch if module is null
We've been carrying a yarn patch in production since January 2026 that makes these paths return null gracefully and exports an isAvailable flag. Happy to submit a PR.
Steps to reproduce
- Install
react-native-executorch in a React Native app
- Build and run on a 32-bit Android device (or a device with a 64-bit CPU running 32-bit userspace)
- App crashes at startup with
UnsatisfiedLinkError
Snack or a link to a repository
No response
React Native Executorch version
0.8.1 (present since at least 0.6.0)
React Native version
0.83.4
Platforms
Android
JavaScript runtime
Hermes
Workflow
Expo Dev Client
Architecture
Fabric (New Architecture)
Build type
Release mode
Device
Real device
Device model
Samsung Galaxy A13 (SM-A137F), Samsung Galaxy A13 (SM-A135F), Samsung Galaxy A13 5G (SM-A136U), Samsung Galaxy A02s (SM-A025U), Moto G Play 2023, Moto E30, Wiko View4 (W-V830-EEA), Wildfire E6 Star
AI model
FSMN_VAD via useVAD
Performance logs
No response
Acknowledgements
Yes
Description
ExecuTorch only ships
arm64-v8anative libraries. On Android devices running 32-bit userspace (including budget devices with 64-bit CPUs), the native.soisn't found andETInstallerthrowsUnsatisfiedLinkError, which surfaces as aJavascriptExceptionand crashes the app at startup. There's no way for consumers to handle this.Three code paths throw unconditionally:
RnExecutorchPackage.kt— no try/catch aroundETInstaller(reactContext)RnExecutorchModules.ts— returns a throwing Proxy instead ofnullsrc/index.ts— throwsFailed to install react-native-executorchif module is nullWe've been carrying a yarn patch in production since January 2026 that makes these paths return
nullgracefully and exports anisAvailableflag. Happy to submit a PR.Steps to reproduce
react-native-executorchin a React Native appUnsatisfiedLinkErrorSnack or a link to a repository
No response
React Native Executorch version
0.8.1 (present since at least 0.6.0)
React Native version
0.83.4
Platforms
Android
JavaScript runtime
Hermes
Workflow
Expo Dev Client
Architecture
Fabric (New Architecture)
Build type
Release mode
Device
Real device
Device model
Samsung Galaxy A13 (SM-A137F), Samsung Galaxy A13 (SM-A135F), Samsung Galaxy A13 5G (SM-A136U), Samsung Galaxy A02s (SM-A025U), Moto G Play 2023, Moto E30, Wiko View4 (W-V830-EEA), Wildfire E6 Star
AI model
FSMN_VAD via useVAD
Performance logs
No response
Acknowledgements
Yes