Ionic Cordova安卓构建报:app:compileDebugJavaWithJavac错误如何解决
问题根因
你遇到的编译报错核心原因是Android Support库与AndroidX不兼容:Android 9.0(API 28)之后,谷歌已经废弃了原有的android.support系列支持库,整体迁移到AndroidX实现,你项目中使用的旧版Cordova插件(如Diagnostic、Camera、Ionic WebView)仍在引用废弃的android.support包,和你本地环境中的新版Android SDK不匹配,所以会出现包找不到的编译错误,和代码分支无关,因此切换分支、重装前端依赖都无法解决。
解决方案
方案一(推荐,自动适配)
- 首先移除现有Android平台:
ionic cordova platform rm android - 安装AndroidX适配插件,自动替换所有旧插件的Support库引用为AndroidX对应引用:
ionic cordova plugin add cordova-plugin-androidxionic cordova plugin add cordova-plugin-androidx-adapter - 重新添加兼容版本的Android平台:
ionic cordova platform add android@9.0.0 - 重新执行构建命令即可:
ionic cordova build android
方案二(手动配置)
如果不想安装适配插件,可以直接在Android平台的配置文件中开启Jetifier适配:
- 进入
platforms/android目录,打开gradle.properties文件 - 追加以下两行配置:
android.useAndroidX=true android.enableJetifier=true
- 保存后重新执行构建命令
方案三(降级适配)
如果你不想迁移到AndroidX,可以将本地Android SDK的编译目标版本降级到28(最后一个支持Support库的版本),修改项目中Android平台的编译配置即可。
内容的提问来源于stack exchange,提问作者ivan tzenev
相关产品推荐
相关产品推荐

