Cordova项目应用com.github.dcendents.android-maven插件失败求助
核心问题分析
你遇到的报错根源是com.github.dcendents.android-maven插件2.1版本与Gradle 6.7.1不兼容——该插件依赖的Gradle内部类org.gradle.api.publication.maven.internal.MavenPomMetaInfoProvider在Gradle 6.x版本中已被移除/重构,且这个插件早已停止维护,官方推荐改用Gradle原生的Maven Publish插件。另外Android Studio检测不到wrapper文件大概率是缓存或配置识别问题。
解决方案步骤
1. 替换废弃的Android Maven插件
修改CordovaLib模块下的build.gradle:
- 移除buildscript依赖中的
com.github.dcendents:android-maven-gradle-plugin:2.1 - 替换插件应用语句,同时添加Maven Publish的必要配置
修改后的完整build.gradle代码:
ext { apply from: 'cordova.gradle' cdvCompileSdkVersion = privateHelpers.getProjectTarget() cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() } buildscript { repositories { mavenCentral() google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.2.2' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath 'com.android.support:support-compat:28.0.0' } } allprojects { repositories { mavenCentral() google() jcenter() } } apply plugin: 'com.android.library' apply plugin: 'maven-publish' apply plugin: 'com.jfrog.bintray' group = 'org.apache.cordova' version = '8.1.0' // 配置Maven发布的构件信息,替代原插件的默认行为 publishing { publications { maven(MavenPublication) { from components.android groupId group artifactId 'cordova-lib' version version } } }
2. 修复Gradle Wrapper识别问题
- 打开Android Studio,依次点击
File → Project Structure → Project:- 设置
Gradle version为6.7.1 - 设置
Gradle JDK为OpenJDK 11(Gradle 6.x版本适配JDK 1.8/11,不要用17/19,避免兼容性冲突)
- 设置
- 执行终端命令强制刷新依赖和wrapper:
./gradlew clean build --refresh-dependencies
- 如果仍识别不到,手动删除项目根目录的
.idea文件夹和所有*.iml文件,重新导入项目
3. 额外注意事项
- 不要混用过高版本的JDK:Gradle 6.7.1和Android Gradle Plugin 4.2.2的适配JDK版本是1.8/11,用17+会触发未知兼容性问题
- JCenter已停止服务,后续可考虑将仓库替换为MavenCentral或国内镜像,但当前优先解决核心报错
内容的提问来源于stack exchange,提问作者antoniomp17
相关产品推荐
相关产品推荐

