我使用yarn安装Notifee包,
yarn add @notifee/react-native
运行后,
yarn start
yarn run android
抛出这样的错误,
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':notifee_react-native:compileDebugJavaWithJavac'.
我正在努力在我的 React Native 项目中实现通知。如果有人能帮助我,我真的很感激。谢谢。
在 v 6.0.0 中添加了 Android 13 支持,compileSdkVersion 和 targetSdkVersion 应更改为 33。
在您的项目中
android/build.gradle
更改,
compileSdkVersion = 33
targetSdkVersion = 33
更多参考, https://www.youtube.com/watch?v=Fxzi8Ug9NUA&ab_channel=CodewithMishen
如果有人不想更改compileSdkVersion(可能是因为其他库会有compileDebugJavaWithJavac错误),那么他们可以尝试:
npm install --save @notifee/[email protected]
并保持compileSdkVersion与之前相同
将此添加到您的
allprojects
文件的 android/buld.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 {
// Remove this override in 0.65+, as a proper fix is included in react-native itself.
force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
}
}
对我来说,问题是 Java OpenJDK,我使用的是 openjdk-21 版本,但是当我阅读 React Native 文档时,它提到了
React Native 目前推荐 Java SE 开发工具包 (JDK) 版本 17。使用更高版本的JDK可能会遇到问题
将我的 java jdk 版本从 21 降级到 17 后,我的问题得到解决。