2016-12-03 4 views
0

Ich importierte die Beispiel-App in Android Studio unter dem Standortabschnitt. Ich fuhr dann fort, die meisten Abhängigkeiten zu aktualisieren. Ich habe dann versucht, Firebase hinzuzufügen, und dann ging es nach Süden. Das Modul build.gradle ist unten.Fehler: Konnte com.google.gms nicht finden: google-services: 3.0.0 beim Importieren von Firebase in ein Codebeispiel

buildscript { 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.2' 
    } 
} 

apply plugin: 'com.android.application' 


repositories { 
    jcenter() 
} 

dependencies { 
    compile 'com.google.android.gms:play-services-location:10.0.1' 
    compile 'com.google.android.gms:play-services-maps:10.0.1' 
    compile 'com.github.bumptech.glide:glide:3.6.1' 
    compile 'com.google.maps.android:android-maps-utils:0.4.4' 
    compile 'com.android.support:appcompat-v7:25.0.1' 
    compile 'com.android.support:recyclerview-v7:25.0.1' 
    compile 'com.android.support:design:25.0.1' 
    compile 'com.google.android.gms:play-services-wearable:10.0.1' 
    compile 'com.android.support:support-v13:25.0.1' 
    compile project(':Shared') 
    wearApp project(':Wearable') 
} 

// The sample build uses multiple directories to 
// keep boilerplate and common code separate from 
// the main sample code. 
List<String> dirs = [ 
     'main',  // main sample code; look here for the interesting stuff. 
     'common', // components that are reused by multiple samples 
     'template'] // boilerplate code that is generated by the sample template process 

android { 
    compileSdkVersion 25 
    buildToolsVersion '24.0.2' 
    defaultConfig { 
     minSdkVersion 18 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
    sourceSets { 
     main { 
      dirs.each { dir -> 
       java.srcDirs "src/${dir}/java" 
       res.srcDirs "src/${dir}/res" 
      } 
     } 
     androidTest.setRoot('tests') 
     androidTest.java.srcDirs = ['tests/src'] 

    } 
    productFlavors { 
    } 
} 

apply plugin: 'com.google.gms.google-services' 

Der Stamm build.gradle ist unten.

buildscript { 
    // ... 
    dependencies { 
     // ... 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

Und die Fehler, die ich erhalten ist:

Fehler: Konnte nicht com.google.gms finden: google-Dienstleistungen an: 3.0.0. Gesucht in den folgenden Orten: Datei:/C:/Android/Android Studio/Gradle/m2repository/de/google/gms/google-services/3.0.0/google-services-3.0.0.pom file:/C:/Android/Android Studio/gradle/m2repository/com/google/gms/google-Dienstleistungen/3.0.0/google-services-3.0.0.jar Benötigt von: : ToledoZoo: nicht spezifiziert

die Verwendung von neueste SDK und alle. Die Datei google.json wurde auch dem App-Verzeichnis hinzugefügt. Ich bin mir sicher, dass es etwas Kleines ist, das ich vermisse, aber dennoch ... es immer noch vermisse!

Antwort

3

The module build.gradle is below

app/ ist ein Modul und der Block innerhalb buildscript daß nicht sein sollte.

The app build.gradle is below.

Wenn durch diese, Sie meinen build.gradle in der Wurzel des Projekts, dann ist es die Datei, wo Sie die classpath der Play-Dienste hinzufügen.

Siehe. https://firebase.google.com/docs/android/setup#add_the_sdk

Hinweis, wenn die Dokumentation sagt

buildscript { 
    // ... 
    dependencies { 
     // ... 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 

Sie buchstäblich die // ... Stücke nicht kopieren. Es bedeutet "lass was da ist".


Wenn Sie ein einzelnes Modul Gradle Projekt haben, das könnte dann Sinn machen, auf Ihre Frage suchen, und so müssen Sie

buildscript { 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.2' 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

apply plugin: 'com.android.application' 

// rest of gradle file 
+0

Ja, ich war an dem Punkt angelangt, dass ich Wort für Wort kopierte, um sicherzugehen, dass ich nicht irgendwo einen Tippfehler gemacht hatte ... Frustration war schon lange vorbei. Dein Kommentar hat mich jedoch dazu gebracht, mehr darüber nachzudenken, wie es aufgebaut wurde, und du hast Recht (wenn ich es richtig lese ... wenn ich es falsch lese, hast du mich wenigstens in die richtige Richtung gezeigt.) Dies ist das erste Mal, dass ich habe das "nicht-konventionelle" Setup im Gegensatz zu dem getrennten Modul/Root-Setup gesehen. Also habe ich den Klassenpfad, den du erwähnt hast, hinzugefügt und ihn komplett von dem anderen entfernt und wir kompilieren jetzt zufällig!Vielen Dank! Mehr Augen helfen immer – NetApex

0

Ich bin kein Gradle Experte. Das heißt, das Layout Ihrer build.gradle Dateien ist unkonventionell. In der Moduldatei befindet sich der dependencies Block normalerweise nach dem android Block. Beispiele für Builddateien sind im Firebase-Beispielprojekt. Werfen Sie einen Blick auf diese sample project build file und diese sample module build file.

+0

Extrem unkonventionelle IMO haben. Aber wieder war es eine importierte Probe direkt aus Android Studio, also dachte ich, ich könnte genauso gut damit herumspielen, um zu sehen, was was ist. – NetApex

Verwandte Themen