我无法从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()
}
}
答案 0 :(得分:8)
问题实际上是一个相当小的问题:在每个依赖项之后你没有终结线。
此
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插件时会发生这种情况。
答案 1 :(得分:1)
最后得到了解决方法:
我从基本样本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')
}
答案 2 :(得分:0)
确保项目build.gradle
中包含以下代码:
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
我的项目缺少Google的Maven Repo网址。添加它和gradle同步魅力。
希望能节省一些人的时间。