如何修复 React Native android 构建问题“com.facebook.react.bridge 包不存在”

akh*_*man 9 android react-native

我收到此错误:

\n
Task :@react-native-community_async-storage:compileReleaseJavaWithJavac FAILED\n/Users/Desktop/node_modules/@react-native-community/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncLocalStorageUtil.java:10: error: package javax.annotation does not exist\nimport javax.annotation.Nullable;\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0^\n/Users/Desktop/node_modules/@react-native-community/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncLocalStorageUtil.java:20: error: package com.facebook.react.bridge does not exist\nimport com.facebook.react.bridge.ReadableArray;\nlike 1`\n
Run Code Online (Sandbox Code Playgroud)\n

为什么会发生这种情况以及如何解决它?

\n

Tyl*_*erH 10

OP的解决方案从问题迁移到答案:

在您的 android/build.gradle 中,添加以下行

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
       }
   }
}
Run Code Online (Sandbox Code Playgroud)