首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lcom/facebook/react/uimanager/UIImplementationProvider;的java.lang.NoClassDefFoundError:失败的解析

Lcom/facebook/react/uimanager/UIImplementationProvider;的java.lang.NoClassDefFoundError:失败的解析
EN

Stack Overflow用户
提问于 2022-11-05 20:21:11
回答 4查看 1.5K关注 0票数 6

当我打开我的android应用程序时,我正面对着它。我尝试了下面的步骤,但我得到了下面的错误。请帮帮我。我的Android应用程序构建良好,但当我运行它时,我会得到以下错误。它引用的类不是我使用的。有什么想法吗?

代码语言:javascript
运行
复制
com.qa.android E/unknown:NativeModuleInitError: Failed to create NativeModule "UIManager"
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/facebook/react/uimanager/UIImplementationProvider;
        at com.swmansion.reanimated.ReanimatedPackage.createUIManager(ReanimatedPackage.java:73)
        at com.swmansion.reanimated.ReanimatedPackage.getModule(ReanimatedPackage.java:31)
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:161)
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:149)
        at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:191)
        at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:156)
        at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:170)
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:493)
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:469)
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:89)
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:47)
        at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1241)
        at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1183)
        at com.facebook.react.ReactInstanceManager.access$1600(ReactInstanceManager.java:135)
        at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:1137)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loop(Looper.java:223)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
        at java.lang.Thread.run(Thread.java:923)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.react.uimanager.UIImplementationProvider" on path: DexPathList[[zip file "/data/app/~~7b9OfUY0mLPaHfZSYMHhqQ==/com.qa.android-4UNR7KbO89A4FSaahSgIvw==/base.apk"],nativeLibraryDirectories=[/data/app/~~7b9OfUY0mLPaHfZSYMHhqQ==/com.qa.android-4UNR7KbO89A4FSaahSgIvw==/lib/arm64, /data/app/~~7b9OfUY0mLPaHfZSYMHhqQ==/com.qa.android-4UNR7KbO89A4FSaahSgIvw==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.swmansion.reanimated.ReanimatedPackage.createUIManager(ReanimatedPackage.java:73) 
        at com.swmansion.reanimated.ReanimatedPackage.getModule(ReanimatedPackage.java:31) 
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:161) 
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:149) 
        at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:191) 
        at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:156) 
        at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:170) 
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:493) 
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:469) 
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:89) 
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:47) 
        at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1241) 
        at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1183) 
        at com.facebook.react.ReactInstanceManager.access$1600(ReactInstanceManager.java:135) 
        at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:1137) 
        at android.os.Handler.handleCallback(Handler.java:938) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27) 
        at android.os.Looper.loop(Looper.java:223) 
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228) 
        at java.lang.Thread.run(Thread.java:923) 
    
    
    --------- beginning of crash
2022-11-06 01:30:47.279 20077-20173/com.qa.android E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
    Process: com.qa.android, PID: 20077
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/facebook/react/uimanager/UIImplementationProvider;
        at com.swmansion.reanimated.ReanimatedPackage.createUIManager(ReanimatedPackage.java:73)
        at com.swmansion.reanimated.ReanimatedPackage.getModule(ReanimatedPackage.java:31)
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:161)
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:149)
        at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:191)
        at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:156)
        at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:170)
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:493)
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:469)
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:89)
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:47)
        at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1241)
        at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1183)
        at com.facebook.react.ReactInstanceManager.access$1600(ReactInstanceManager.java:135)
        at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:1137)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loop(Looper.java:223)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
        at java.lang.Thread.run(Thread.java:923)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.react.uimanager.UIImplementationProvider" on path: DexPathList[[zip file "/data/app/~~7b9OfUY0mLPaHfZSYMHhqQ==/com.qa.android-4UNR7KbO89A4FSaahSgIvw==/base.apk"],nativeLibraryDirectories=[/data/app/~~7b9OfUY0mLPaHfZSYMHhqQ==/com.qa.android-4UNR7KbO89A4FSaahSgIvw==/lib/arm64, /data/app/~~7b9OfUY0mLPaHfZSYMHhqQ==/com.qa.android-4UNR7KbO89A4FSaahSgIvw==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.swmansion.reanimated.ReanimatedPackage.createUIManager(ReanimatedPackage.java:73) 
        at com.swmansion.reanimated.ReanimatedPackage.getModule(ReanimatedPackage.java:31) 
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:161) 
        at com.facebook.react.TurboReactPackage$ModuleHolderProvider.get(TurboReactPackage.java:149) 
        at com.facebook.react.bridge.ModuleHolder.create(ModuleHolder.java:191) 
        at com.facebook.react.bridge.ModuleHolder.getModule(ModuleHolder.java:156) 
        at com.facebook.react.bridge.NativeModuleRegistry.getModule(NativeModuleRegistry.java:170) 
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:493) 
        at com.facebook.react.bridge.CatalystInstanceImpl.getNativeModule(CatalystInstanceImpl.java:469) 
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:89) 
        at com.facebook.react.uimanager.UIManagerHelper.getUIManager(UIManagerHelper.java:47) 
        at com.facebook.react.ReactInstanceManager.attachRootViewToInstance(ReactInstanceManager.java:1241) 
        at com.facebook.react.ReactInstanceManager.setupReactContext(ReactInstanceManager.java:1183) 
        at com.facebook.react.ReactInstanceManager.access$1600(ReactInstanceManager.java:135) 
        at com.facebook.react.ReactInstanceManager$5$2.run(ReactInstanceManager.java:1137) 
        at android.os.Handler.handleCallback(Handler.java:938) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27) 
        at android.os.Looper.loop(Looper.java:223) 
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228) 
        at java.lang.Thread.run(Thread.java:923) 

我以下面的方式实现

代码语言:javascript
运行
复制
 if (enableHermes) {
        implementation("com.facebook.react:hermes-engine:+") {
            exclude group:'com.facebook.fbjni'
                 }
//        def hermesPath = "../../node_modules/hermes-engine/android/";
//        debugImplementation files(hermesPath + "hermes-debug.aar")
//        releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
        implementation jscFlavor
    }

我在创业的时候要崩溃了。请帮帮我。

EN

回答 4

Stack Overflow用户

发布于 2022-11-06 08:22:55

这是一个持续两天的已知问题。

将其添加到android/buld.gradle内部的allprojects

代码语言:javascript
运行
复制
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())

allprojects {
    configurations.all {
        resolutionStrategy {
            force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
        }
    }
}

我遵循了这个评论https://github.com/facebook/react-native/issues/35204#issuecomment-1304281740,它现在运行良好。

票数 5
EN

Stack Overflow用户

发布于 2022-11-07 08:32:42

建筑在Ammar最初的回答之上,

如果有人在Gradle中寻找解决方案(不使用命令行和节点)。可能有助于避免某些CI/CD限制)

代码语言:javascript
运行
复制
import groovy.json.JsonSlurper

def REACT_NATIVE_VERSION = {
  def inputFile = new File("$rootDir/../package.json")
  def packageJson = new JsonSlurper().parseText(inputFile.text)

  return packageJson["dependencies"]["react-native"]
}()

allprojects {
    configurations.all {
      resolutionStrategy {
        force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
      }
    }
}

您必须根据您的文件结构更改package.json路径。

官方议题

票数 0
EN

Stack Overflow用户

发布于 2022-11-09 04:36:21

每一个人都面临这个问题,即使我也是通过在app/build.gradle中添加这些代码来解决的。

代码语言:javascript
运行
复制
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim());
                configurations.all {
        resolutionStrategy {
            force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74331235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档