安装@capacitor/local-notifications后Android编译JDK兼容报错求助
解决方案
问题根源
你遇到的报错是因为Capacitor 4.x版本的插件要求使用Java SE 11编译,但你的项目当前使用的是JDK 8,同时@capacitor/core(3.3.4)和@capacitor/local-notifications(4.0.1)跨大版本不兼容,两者叠加导致编译失败。
两种解决路径
路径1:降低插件版本,适配Capacitor 3.x生态(兼容JDK 8)
将本地通知插件版本降到与@capacitor/core 3.x匹配的版本:
npm install @capacitor/local-notifications@^3.1.1 --save
执行完成后重新同步Android项目,即可用JDK 8正常编译运行。
路径2:升级到Capacitor 4.x生态(适配Java 11)
如果想保留高版本插件,同时满足Google Play的targetSDK 31要求,按以下步骤操作:
- 升级Capacitor核心及Android平台版本:
npm install @capacitor/core@^4.0.0 @capacitor/android@^4.0.0 --save
- 配置Android Studio使用JDK 11:
- 打开Android Studio,进入
File > Project Structure > SDK Location - 在
JDK Location处选择Android Studio自带的Embedded JDK 11(推荐),或手动指定本地JDK 11的安装路径
- 打开Android Studio,进入
- 修改
variables.gradle中的compileSdkVersion为31(与targetSDKVersion保持一致):
ext { minSdkVersion = 21 compileSdkVersion = 31 // 从30改为31 targetSdkVersion = 31 androidxActivityVersion = '1.2.0' androidxAppCompatVersion = '1.2.0' androidxCoordinatorLayoutVersion = '1.1.0' androidxCoreVersion = '1.3.2' androidxFragmentVersion = '1.3.0' junitVersion = '4.13.1' androidxJunitVersion = '1.1.2' androidxEspressoCoreVersion = '3.3.0' cordovaAndroidVersion = '7.0.0' }
- 在Android Studio中点击
Sync Project with Gradle Files,完成后重新构建运行。
内容的提问来源于stack exchange,提问作者spardano
相关产品推荐
相关产品推荐

