正在更新gradle-./gradlew:找不到此类文件

时间:2018-08-03 18:48:40

标签: android cordova ionic-framework gradle ionic2

我正在使用Angular和Firebase构建一个离子应用程序。

当我尝试通过执行cordova build android进行构建时,出现错误消息:

* What went wrong:
The library com.google.android.gms:play-services-basement is being requested by various other libraries at [[11.0.1,11.0.1], [15.0.1,15.0.1]], but resolves to 15.0.1. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

所以我猜我的build.gradle中有些东西已经过时了,它具有这样的依赖性(在platforms\android\app\build.gradle中:

dependencies {
implementation fileTree(dir: 'libs', include: '*.jar')
// SUB-PROJECT DEPENDENCIES START
implementation(project(path: ":CordovaLib"))
compile "com.android.support:support-v4:24.1.1+"
compile "com.google.gms:google-services:+"
compile "com.google.android.gms:play-services-tagmanager:+"
compile "com.google.firebase:firebase-core:+"
compile "com.google.firebase:firebase-messaging:+"
compile "com.google.firebase:firebase-crash:+"
compile "com.google.firebase:firebase-config:+"
compile "com.google.firebase:firebase-perf:+"
compile "com.google.android.gms:play-services-analytics:11.0.1"
compile "com.google.android.gms:play-services-location:15.+"
// SUB-PROJECT DEPENDENCIES END
}

错误中的最后一句话说我应该运行./gradlew :app:dependencies,但是当我在主项目目录中执行此操作时,会得到erorr:

bash: ./gradlew: No such file or directory,但是,执行gradle -v会返回版本号Gradle 4.9 ...

我不明白发生了什么...有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您必须将compile "com.google.android.gms:play-services-analytics:11.0.1"更新为implementation "com.google.android.gms:play-services-analytics:15.0.1。这正是导致版本冲突的原因,因为play-services-location要求15.0.1。同时已经有16.0.1,这将需要更新其他版本号。 ...同时,还有Firebase Analytics

在Linux上,有时需要chmod +x ./gradlew才能使其可执行...此文件应位于项目目录中; gradle -v可能会返回全局版本号,该版本号可能与包装程序实际使用的版本不同。