首先,重要的事情说三遍
build.gradle里面的gradle和gradle-wrapper.properties中的gradle不是一个概念!
build.gradle里面的gradle和gradle-wrapper.properties中的gradle不是一个概念!
build.gradle里面的gradle和gradle-wrapper.properties中的gradle不是一个概念!
平时都是使用Unity进行开发,而且对于Android系统开发也没什么接触。这次需要通过Gradle导出安卓工程在Android Studio中进行测试,没想到一上来就遇到了问题。在导出安卓工程并通过AS导入之后报错。
报错内如如下:
Could not find com.android.tools.build:gradle:xxx
此处的xxx指的是build.gradle文件夹中那个classpath ‘com.android.tools.build:gradle:xxx’。
此处的gradle是指的Android Studio使用的gradle插件
一开始我还以为是gradle的问题,所以各种查各种下载gradle版本。并且将gradle的版本替换到那个xxx里面,结果都不行。最后发现是这个插件的问题。
这个插件的位置在Android Studio的安装目录下:
“Android Studio\gradle\m2repository\com\android\tools\build\gradle”目录下。
如图所示只有这三个版本的gradle插件,所以classpath 'com.android.tools.build:gradle:xxx’中只能填写这三个中的其中之一。
而gradle-wrapper.properties中的gradle才是真正编译时使用的工具,此处需要注意的是这个gradle的版本和上面的gradle插件的版本是有一定的对应关系的,所以低版本的插件需要对应相对低版本的gradle。
此时如果还有报错的话可以尝试在如下位置添加google()语法。
buildscript {
repositories {
google() //此处为添加的google语法
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
}
}
allprojects {
repositories {
google() //此处为添加的google语法
flatDir {
dirs 'libs'
}
}
}
如此一来我的工程就可以顺利编译成功了!有关Gradle的报错就解决了。