2016-08-23 13 views
2

Ich bin nicht in der Lage zu synchronisieren die Basis Samples Projekt von Google Play Services zu synchronisieren. Ich habe versucht, die minsdk, targetsdk, compilesdk Versionen aktualisieren, die Projektstruktur und Aromen aktualisiert, aber das Projekt wird noch nicht sync.fehlgeschlagen gradle Projekt in Android Studio

Das ist mein Fehler:

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> 

Allerdings habe ich installiert die neueste Android Support Repository (rev 36) so gehe ich davon aus das Problem etwas anderes.

Wenn Sie möchten, um zu versuchen, das Projekt zu klonen: https://github.com/playgameservices/android-basic-samples.git

gradle Datei:

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

Antwort

8

Das Problem ist eigentlich eine ziemlich geringfügige: Sie haben nicht Endzeilen nach jeder Abhängigkeit.

Diese

dependencies { 
compile "com.android.support:appcompat-v7:${appcompat_library_version}" compile "com.android.support:support-v4:${support_library_version}" compile project(':libraries:BaseGameUtils') 
} 

sollte

sein
dependencies { 
    compile "com.android.support:appcompat-v7:${appcompat_library_version}" 
    compile "com.android.support:support-v4:${support_library_version}" 
    compile project(':libraries:BaseGameUtils') 
} 

Dieser Fehler ist durchaus üblich, wenn ein Plugin auf Android Studio bearbeitet oder modifiziert die gradle Datei in irgendeiner Weise, wenn die Abhängigkeit einer Variable verwendet anstelle eines direkter Bezug auf die Versionsnummer. Zum Beispiel habe ich bemerkt, dass mir das passiert, wenn ich das Method Counts-Plugin oder sogar das Firebase-Plugin verwende.

1

Endlich eine Arbeit um bekam:

Ich entfernte diesen Abschnitt aus den Grundproben gradle Datei

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' 
} 

und re Dies wurde von den anderen Gradle-Dateien verschoben:

dependencies { 
    compile "com.android.support:appcompat-v7:${appcompat_library_version}" 
    compile "com.android.support:support-v4:${support_library_version}"   
    compile project(':libraries:BaseGameUtils') 
} 

und durch die tatsächlichen Werte ersetzt.

dependencies { 
    compile "com.android.support:appcompat-v7:24.2.0" 
    compile "com.android.support:support-v4:24.2.0"   
    compile project(':libraries:BaseGameUtils') 
} 

Irgendwie machte dies den Unterschied

EDIT

Das Problem eigentlich nicht nach jeder Abhängigkeit End-Linien wurde mit! Sie nicht alle Ihre Abhängigkeiten auf der gleichen Linie

schreiben

Problem in gradle Datei:

dependencies { 
    compile "com.android.support:appcompat-v7:${appcompat_library_version}" compile "com.android.support:support-v4:${support_library_version}" compile project(':libraries:BaseGameUtils') 
} 

Lösung:

dependencies { 
    compile "com.android.support:appcompat-v7:24.2.0" 
    compile "com.android.support:support-v4:24.2.0"   
    compile project(':libraries:BaseGameUtils') 
} 
+2

Sicher haben Sie etwas anderes gemacht, weil Sie nur einige String-Variablen entfernt haben. –

+0

Hmmm ... klingt wie eine Magie ?! – Tima

+0

Es war die Endlinien !!! Siehe oben gewählte Antwort – user2456977

0

Achten Sie darauf, den folgenden Code in Ihr Projekt haben build.gradle:

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

Mein Projekt war die Google-Maven Repo-URL fehlt. Hinzugefügt es und grodle synchronisiert wie ein Charme.

Ich hoffe, es spart jemand Zeit.

Verwandte Themen