[英]Failed to sync gradle project in Android Studio
我无法从Google Play Services
同步基本样本项目。 我曾尝试更新minsdk
, targetsdk
, compilesdk
版本,更新的项目结构和口味,但仍项目不会sync
。
这是我的错误:
Error:Could not find method compile() for arguments [com.android.support:support-v4:24.2.0] on DefaultExternalModuleDependency{group='com.android.support', name='appcompat-v7', version='24.2.0', configuration='default'} of type org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency.
Please install the Android Support Repository from the Android SDK Manager.
<a href="openAndroidSdkManager">Open Android SDK Manager</a>
但是我安装了最新的Android Support Repository (rev 36)
所以我认为这个问题是另一回事。
如果您想尝试克隆该项目: https : //github.com/playgameservices/android-basic-samples.git
gradle
文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion '24.0.1'
defaultConfig {
/*
REPLACE THIS VALUE WITH YOUR APPLICATION ID
*/
applicationId "com.google.example.games.replace.me"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
}
dependencies {
compile "com.android.support:appcompat-v7:${appcompat_library_version}" compile "com.android.support:support-v4:${support_library_version}" compile project(':libraries:BaseGameUtils')
}
buildscript {
repositories {
jcenter()
}
}
这个问题实际上是一个相当小的问题:在每个依赖项之后你没有终止线。
这个
dependencies {
compile "com.android.support:appcompat-v7:${appcompat_library_version}" compile "com.android.support:support-v4:${support_library_version}" compile project(':libraries:BaseGameUtils')
}
应该
dependencies {
compile "com.android.support:appcompat-v7:${appcompat_library_version}"
compile "com.android.support:support-v4:${support_library_version}"
compile project(':libraries:BaseGameUtils')
}
当依赖项使用变量而不是直接引用版本号时,Android Studio上的插件以任何方式编辑或修改gradle文件时,此错误非常常见。 例如,我注意到在使用Method Counts插件甚至Firebase插件时会发生这种情况。
最后得到一个解决方法:
我从基本样本gradle文件中删除了这一部分
ext {
android_compile_version = 24
android_version = '24.0.1'
android_min_sdk_version = 19
appcompat_library_version = '24.2.0'
support_library_version = '24.2.0'
gms_library_version = '9.4.0'
}
并从其他gradle文件中删除它:
dependencies {
compile "com.android.support:appcompat-v7:${appcompat_library_version}"
compile "com.android.support:support-v4:${support_library_version}"
compile project(':libraries:BaseGameUtils')
}
并用实际值替换它们。
dependencies {
compile "com.android.support:appcompat-v7:24.2.0"
compile "com.android.support:support-v4:24.2.0"
compile project(':libraries:BaseGameUtils')
}
不知何故,这一切都有所不同
编辑
问题实际上是在每个依赖之后没有终点线! 不要在同一行写下所有依赖项
gradle
文件中的问题:
dependencies {
compile "com.android.support:appcompat-v7:${appcompat_library_version}" compile "com.android.support:support-v4:${support_library_version}" compile project(':libraries:BaseGameUtils')
}
解:
dependencies {
compile "com.android.support:appcompat-v7:24.2.0"
compile "com.android.support:support-v4:24.2.0"
compile project(':libraries:BaseGameUtils')
}
确保项目的build.gradle
包含以下代码:
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
我的项目缺少Google的Maven Repo网址。 添加它和gradle同步魅力。
希望它能节省一些人的时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.