我正在尝试使用gradle构建。它给了我错误的说法
无法应用插件[id'com.android.library'] Gradle 2.2版是必需的。当前版本是2.10。如果使用gradle包装器,请尝试将/home/sanjeewa/workspace/Android/UVCCamera/gradle/wrapper/gradle-wrapper.properties中的distributionUrl编辑为gradle-2.2-all.zip
但我的gradle-wrapper.properties包括gradle-2.4-all.zip。我已将其更改为gradle-2.2-all.zip 还是同样的问题。
当我在终端中运行gradle -version时,Gradle 2.10显示为版本。
如何解决该错误?
我的构建gradle文件是
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
allprojects {
repositories {
jcenter()
}
}
答案 0 :(得分:122)
gradle-wrapper.properties
更改此行:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
与
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
build.gradle
(项目:your_app_name)更改此行
classpath 'com.android.tools.build:gradle:XXX'
到这个
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
或
classpath 'com.android.tools.build:gradle:1.5.0'
Sync Now
File -> Invalidate Caches/Restart...
Invalidate and Restart
Android Studio会重启。在此之后,它应该正常工作
希望有所帮助
答案 1 :(得分:40)
当前的解决方法是覆盖版本检查:在build.gradle中
buildscript {
System.properties['com.android.build.gradle.overrideVersionCheck'] = 'true'
...
}
答案 2 :(得分:24)
只需更改 build.gradle文件
classpath 'com.android.tools.build:gradle:1.3.0'
要
classpath 'com.android.tools.build:gradle:2.0.0'
现在GoTo
- > menu choose File
- > Invalidate Caches/Restart
...
选择第一个选项:Invalidate and Restart
Android Studio会重启。
在此之后,它应该正常工作。
答案 3 :(得分:13)
基于 https://developer.android.com/studio/releases/gradle-plugin.html ......
下表列出了Gradle的每个Android插件版本所需的Gradle版本。 为获得最佳性能,您应该使用Gradle和Android插件的最新版本。 [![在此处输入图像说明] [1]] [1]
因此,具有Required Gradle版本的插件版本应该匹配。
答案 4 :(得分:1)
使用./gradlew
代替gradle
来解决此问题。
答案 5 :(得分:1)
以下是我为解决这个问题所采取的措施:
1)创建一个新项目
2)打开gradle-wrapper.properties文件并将distributionUrl复制到您的项目中,例如:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.2-all.zip
3)打开build.gradle(Project)并将gradle依赖项复制到项目中,例如:
classpath 'com.android.tools.build:gradle:2.3.0-beta1'
4)文件 - >无效缓存/重启(我认为重新同步可能已经足够,但没有尝试)
5)删除你制作的项目(可选)
看,这是一种愚蠢的做事方式,但Android Studio是免费的,所以我该抱怨谁...
答案 6 :(得分:0)
android studio和Gradle版看起来非常糟糕。还有大量版本的能力问题。而错误信息大多是无能为力的。对于这个特殊问题。最接近的答案来自" Jitendra Singh"。将版本更改为:
classpath 'com.android.tools.build:gradle:2.0.0'
但在我的情况下:Android studio 2.2 RC,我仍然得到另一个错误:
Could not find matching constructor for: com.android.build.gradle.internal.LibraryTaskManager(org.gradle.api.internal.project.DefaultProject_Decorated, com.android.builder.core.AndroidBuilder, android.databinding.tool.DataBindingBuilder, com.android.build.gradle.LibraryExtension_Decorated, com.android.build.gradle.internal.SdkHandler, com.android.build.gradle.internal.DependencyManager, org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry)
所以我去maven中心找到最新的com.android.tools.build:gradle版本,现在是2.1.3。所以在改为
之后buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
}
}
最终解决了我的问题。
答案 7 :(得分:0)
我有类似的问题。每个项目都有自己的gradle文件夹,请检查项目根目录中是否还有另一个gradle文件夹:
/my_projects_root_folder/project/gradle
/my_projects_root_folder/gradle
如果是这样,则在每个文件夹中都会找到/gradle/wrapper/gradle-wrapper.properties。
检查是否在 /my_projects_root_folder/gradle/gradle-wrapper.properties gradle版本中至少匹配 / my_projects_root_folder / project / gradle / gradle-wrapper.properties gradle版本< / p>
或者只是删除/重命名您的 / my_projects_root_folder / gradle 并重新启动android studio,让Gradle同步工作并下载所需的gradle。