【问题标题】:Could not find any matches for com.android.tools.build:gradle:+找不到 com.android.tools.build:gradle:+ 的任何匹配项
【发布时间】:2019-05-11 18:50:42
【问题描述】:
我正在尝试构建/运行一个离子项目,但从今天开始出现此错误,我找不到任何答案。
请帮帮我。
错误:找不到 com.android.tools.build:gradle:+ 的任何匹配项
因为没有可用的 com.android.tools.build:gradle 版本。
- 离子版本:4.5.0
- 科尔多瓦:6.5.0
- NPM:6.4.1
Gradle:Gradle 4.10.2
Kotlin DSL:1.0-rc-6
- 科特林:1.2.61
- Groovy:2.4.15
- Ant:2018 年 3 月 23 日编译的 Apache Ant(TM) 版本 1.9.11
- JVM:1.8.0_191(甲骨文公司 25.191-b12)
- 操作系统:Windows 7 6.1 amd64
【问题讨论】:
标签:
android
cordova
ionic-framework
cordova-plugins
【解决方案1】:
在我的具体情况下,问题出在 fcm 插件上,这就是我所做的:
在platforms/android/build.gradle检查buildscript gradle classpath版本,我的情况是2.2.3 (com.android.tools.build:gradle:2.2.3)
然后,在platforms/android/cordova-plugin-fcm/XXXX-FCMPlugin.gradle 中将classpath 'com.android.tools.build:gradle:+' 更改为上面找到的相同版本:classpath 'com. android.tools.build:gradle:2.2.3'
就是这样,为我修好了。
【解决方案2】:
在我的情况下,我遇到了 phonegap 推送插件的问题。我遵循@Niroog 解决方案并且能够解决它。这是我所做的:
- 在platforms/android/build.gradle 中,我的gradle 类路径版本是2.2.3
- 我将 "platform/android/phonegap-plugin-push/****-push.gradle" 中的 "classpath 'com.android.tools.build:gradle:+' 更改为 "com.android.tools.build :gradle:2.2.3'" 在依赖项下
我在终端中保存并运行了 cmd "ionic cordova build android -prod",它构建成功了。
【解决方案4】:
我的问题是 intercom-cordova-plugin 目前需要 2.2.3 版。
我今天也刚开始收到此错误。不是 100% 确定原因,但可能会检查您的 platforms/android/ 目录中是否有任何插件 *.gradle 文件试图包含未找到的 gradle 版本。
更新 cordova-plugin-intercom/mtg-intercom.gradle 以使用 3.1.0 让它再次工作。我怀疑远程 maven/gradle 存储库出了点问题,我们看到了一些下游影响。
【解决方案5】:
谢谢,@Niroog。您的解决方案有效,我投票赞成您的答案。但该解决方案仅适用于 Cordova android 版本 6.3.0 及更高版本。就我而言,我有两个项目:
- 项目 1:Cordova android 版本 6.3.0,
- 项目 2:Cordova android 版本 6.2.3
对于项目 1,上面@Niroog 给出的解决方案可以正常工作。
但是如果有人使用 6.2.3 版本,这里是解决方案:-
第 1 步:
ionic cordova platform rm android
ionic cordova platform add android@6.3.0 // or greater
ionic cordova prepare android
第 2 步:
按照上面@Niroog 的解决方案。立即构建
ionic cordova build android
如果您仍然遇到错误,请按照步骤 3。因为在升级到 6.3.0 后,“cordova-plugin-push”文件夹会自动生成。所以我也必须对push.gradle 文件重复相同的解决方案。
第 3 步:
在platforms/android/cordova-plugin-push/XXXX-push.gradle 中将classpath 'com.android.tools.build:gradle:+' 更改为上面找到的相同版本:classpath 'com.android.tools.build:gradle:2.2.3'
然后ionic cordova build android
【解决方案6】:
subprojects {
if (project.name.startsWith('react-native-')){
buildscript {
repositories {
jcenter()
maven { url "https://dl.bintray.com/android/android-tools/" }
}
}
}
}
尝试上述解决方法。