-
Notifications
You must be signed in to change notification settings - Fork 25.1k
Description
Description
Latest 0.64 react-native is not compatible with latest appcompat androidx library. When app tries to render TextInput, NullPointerException thrown. This happens in file ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java (line 972):
private void updateCachedSpannable(boolean resetStyles) { // Noops in non-Fabric if (!mFabricViewStateManager.hasStateWrapper()) { return; }
This happens because super constructor AppCompatEditText calls updateCachedSpannable as part of construction, so mFabricViewStateManager not initialized yet and is null. So need to check mFabricViewStateManager for null value first.
React Native version:
System:
OS: macOS 10.15.7
CPU: (8) x64 Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Memory: 790.90 MB / 24.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 15.4.0 - /usr/local/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 7.0.15 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /Users/st1ng/.rvm/gems/ruby-2.7.0/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK:
API Levels: 23, 25, 26, 27, 28, 29, 30
Build Tools: 25.0.0, 26.0.0, 27.0.3, 28.0.3, 29.0.2, 29.0.3, 30.0.0, 30.0.2
System Images: android-21 | Google APIs Intel x86 Atom_64, android-24 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google Play Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.2 AI-202.7660.26.42.7322048
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_221 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.1 => 0.64.1
Steps To Reproduce
- Create empty project
- Set explicitly appcompat version to 1.4.0-alpha01 or make it "+" in app/build.gradle
implementation "androidx.appcompat:appcompat:1.4.0-alpha01" - Add empty TextInput to any page
Expected Results
No crash happen
