添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native
Posted
技术标签:
【中文标题】添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native【英文标题】:Can't build React Native after add React-Native-Camera and React-Native-Push-Notification 【发布时间】:2020-01-03 11:58:58 【问题描述】:我现有的项目运行良好
"react-native": "0.59.x",
"react-native-camera": "^2.11.2"
在我将“react-native-push-notification”添加到我的项目之后 =>
"react-native": "0.59.x",
"react-native-camera": "^2.11.2",
"react-native-push-notification": "^2.1.0",
遇到了几个问题,我一一修复后添加
android.enableJetifier=true
android.useAndroidX=true
gradle.properties我在 React-Native-Camera 中遇到了问题
Execution failed for task ':react-native-camera:compileGeneralDebugJavaWithJavac'
我怀疑错误是因为某些版本不匹配而发生的,但我找不到。 有人可以帮我解决这个问题吗?
【问题讨论】:
github.com/react-native-community/react-native-camera/issues/…你检查过这个吗 由于this 线程我在我的gradle.properties 中添加了android.useAndroidX=true android.enableJetifier=true
,之后出现了RNCamera 问题。
当我搜索 android.support.v4.content 我的 VSCode 没有给出任何结果,但是当我每次运行项目时它都会给出一个与android.support.v4.content。但现在的问题是我必须在我所有的库中更改它。
我想有人回答了你的问题,我从不自己使用响应式原生
【参考方案1】:
在 MacOSX bigsur 上,对我来说问题在于我安装了 2 个 JDK:
$ /usr/libexec/java_home -V | grep jdk
Matching Java Virtual Machines (2):
1.8.281.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_282 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
React Native 需要adoptopenjdk 版本,所以我在我的~/.bash_profile 中添加了adoptopenjdk 路径作为JAVA_HOME 环境变量:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
【讨论】:
以上是关于添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native的主要内容,如果未能解决你的问题,请参考以下文章
react-native项目中集成react-native-camera插件
react-native-camera 无法读取 android 上未定义的属性“常量”
react-native-camera (android): takePictureAsync() 抛出错误