source

반응 네이티브 빌드 오류:virtual method'boolean com.facebook.react.uimanager를 호출하려고 합니다.FabricViewStateManager.hasStateWrapper()

factcode 2023. 3. 5. 22:00
반응형

반응 네이티브 빌드 오류:virtual method'boolean com.facebook.react.uimanager를 호출하려고 합니다.FabricViewStateManager.hasStateWrapper()

이전 빌드에서는 정상적으로 동작하지만, 빌드하려고 하면 이 에러가 발생합니다.나는 이 오류를 어떻게 해결해야 할지 모르겠다.

같은 문제에 직면한 사람이 있으면 도와주세요.

Attempt to invoke virtual method'boolean com.facebook.react.uimanager.FabricViewStateManager.hasStateWrappper()' on a null object reference

여기에 이미지 설명 입력

를 사용하여 에러의 원인을 좁힐 수 있었습니다.adb logcat앱을 추적하고 있습니다.

이 문제는 둘 다에서 비롯되었다.<Input>(출처:react-native-elements)와<TextInput>(출처:react-native둘 다 에러의 원인이 되고 컴포넌트 내의 입력/텍스트 입력 요소를 코멘트 아웃하면 앱은 에러 없이 실행됩니다.

@kangear 님의 답변으로는 잘 되지 않았지만 아슬아슬했습니다.많은 조사와 테스트를 거쳐 아래 코드 줄을 삽입하여 앱이 정상적으로 작동하도록 할 수 있었습니다.android\app\build.gradle, 인dependencies섹션:

implementation ("androidx.appcompat:appcompat:1.3.1") {
    version {
        strictly '1.3.1'
    }
}

그냥 사용해보려고implementation 'androidx.appcompat:appcompat:1.3.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 (*)

세 번째 lib 콘텐츠aandroidx.appcompat:appcompat:+

따라서 다음과 같이 해야 합니다.

implementation ('com.github.AnJiaoDe:TabLayoutNiubility:V1.1.6') {
exclude group: 'androidx.appcompat', module: 'appcompat'
}

안드로이드/앱/빌드.gradle

종속성 섹션에 다음 코드를 붙여넣습니다.

implementation ("androidx.appcompat:appcompat:1.3.1") {
        version {
            strictly '1.3.1'
        }
    }

업데이트 할 수 있습니다.react-native버전0.68.2.

이건 나한테 효과가 있었어.

Gradle 버전 확인:7.0.2

이 에러를 간단하게 해결합니다.
No.1) 새로운 엑스포 프로젝트 엑스포 생성 init {your Project Name}
No.2) 이전 프로젝트에서는 모든 create 폴더와 파일을 복사하고 copy dependencies 명령을 설치합니다.
No.3) 신규 프로젝트 모든 폴더와 파일을 붙여넣고 모든 이전 종속성을 설치합니다.
이제 프로젝트 npm 시작 또는시작 중 하나를 실행합니다.
당신의 문제가 해결되길 바랍니다.

업데이트: 이 솔루션은 Appcompat 1.3.1을 사용할 여유가 없는 사용자를 위한 것입니다.

다른 해결책들은 나에게 실행 가능하지 않았다.1.3.1로 appcompatible로 다운그레이드 하는 것은 좋은 솔루션이 아닙니다.또한 0.68.2로의 업그레이드도 매우 어렵습니다.

대신 나는

  • 포크 리액트 네이티브 버전이에요
  • 여기에 기재된 변경을 가했다.
  • 다음과 같이 React Android-release.aar를 재구축.
  • React Android-release.aar를 Android/앱/libs에 배치합니다.

이제 Appcompat 1.4.x를 모든 React 네이티브 버전에서 사용할 수 있습니다.0.64.3으로 시험했다.

언급URL : https://stackoverflow.com/questions/67683149/react-native-build-error-attempt-to-invoke-virtual-methodboolean-com-facebook

반응형