2016-08-23 30 views
2

我無法同步Google Play Services中的基本示例項目。我曾嘗試更新minsdk,targetsdk,compilesdk版本,更新了項目結構和風味,但該項目仍不會sync未能在Android Studio中同步gradle項目

這是我的錯誤:

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() 
    } 
} 

回答

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

終於得到了解決辦法:

我刪除了從基本的樣品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' 
} 

and re將其從其他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

嗯...聽起來像是魔法?! – Tima

+0

這是終點線!看到上面選擇的答案 – user2456977

0

確保你在你的項目的build.gradle以下代碼:

allprojects { 
    repositories { 
     jcenter() 
     maven { 
      url "https://maven.google.com" 
     } 
    } 
} 

我的項目是缺少谷歌的Maven的回購網址。添加它和gradle同步就像一個魅力。

希望能節省一些人的時間。