反应本机构建错误:尝试调用虚拟方法'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper()
Posted
技术标签:
【中文标题】反应本机构建错误:尝试调用虚拟方法\'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper()【英文标题】:React native build error: Attempt to invoke virtual method'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper()反应本机构建错误:尝试调用虚拟方法'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper() 【发布时间】:2021-08-13 09:54:28 【问题描述】:我以前的构建工作正常,但现在我在尝试构建时遇到此错误。我不知道如何解决这个错误。
如果有人遇到同样的问题,请帮助我。
Attempt to invoke virtual method'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper()' on a null object reference
【问题讨论】:
【参考方案1】:我对此有同样的问题。
不要使用+
implementation "androidx.appcompat:appcompat:1.4.0-alpha01"
或
implementation "androidx.appcompat:appcompat:+"
正确方式:(低于1.4
)
implementation "androidx.appcompat:appcompat:1.1.0"
请看这里:https://github.com/facebook/react-native/issues/31572
更新
./gradlew -q app:dependencies > 1.txt
也许你可以看到这个:
| +--- com.github.AnJiaoDe:TabLayoutNiubility:V1.1.6 | | \--- androidx.appcompat:appcompat:+ -> 1.4.0-alpha01 (*)
第三个库内容为androidx.appcompat:appcompat:+
所以你一定是:
implementation ('com.github.AnJiaoDe:TabLayoutNiubility:V1.1.6')
exclude group: 'androidx.appcompat', module: 'appcompat'
【讨论】:
为我工作!!!在我的情况下,模块在一个项目中,所以:implementation(project(':project-name')) exclude module: 'appcompat'
谢谢!【参考方案2】:
通过使用 adb logcat
并跟踪应用程序,我能够缩小导致错误的范围。
问题源于<Input>
(来自react-native-elements
)和<TextInput>
(来自react-native
)。两者都会导致错误,如果我注释掉 Componenet 中的任何 Input/TextInput 元素,应用程序将正常运行。
我不太能够让它与@kangear 的响应一起工作,但它很接近。经过大量挖掘和测试,我能够使用android\app\build.gradle
中的以下代码行让应用程序正常工作:
implementation ("androidx.appcompat:appcompat:1.3.1")
version
strictly '1.3.1'
我尝试只使用implementation 'androidx.appcompat:appcompat:1.3.1'
,但这也不起作用。
希望这可以节省一些时间,因为我花了很长时间才弄清楚!
【讨论】:
以上是关于反应本机构建错误:尝试调用虚拟方法'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper()的主要内容,如果未能解决你的问题,请参考以下文章
在 Xcode 中构建反应本机项目的问题 - 错误:找不到自动链接库 + 未定义符号等
尝试安装本机反应时出错,运行 pod install 时无法正确构建