2013-11-25 38 views
10

Sto cercando di eseguire il mio progetto in Android 0.3.6 Studio, ma ho sempre ottenere questo errore:Gradle compilazione fallisce ricerca di Google Play Services in Android Studio

Gradle: A problem occurred configuring root project 'myapp_android'. 
> Failed to notify project evaluation listener. 
> Could not resolve all dependencies for configuration ':_DebugCompile'. 
    > Could not resolve com.google.android.gms:play-services:3.1.36. 
    Required by: 
     :myapp_android:unspecified 
    > Could not GET 'http://maven.hq.couchbase.com/nexus/content/repositories/releases/com/google/android/gms/play-services/3.1.36/play-services-3.1.36.pom'. Received status code 503 from server: Service Temporarily Unavailable 

Ecco il mio file completo build.gradle:

home = System.getenv("ANDROID_HOME") 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android' 

repositories { 
    mavenCentral() 
    maven { 
     url "http://maven.hq.couchbase.com/nexus/content/repositories/releases/" 
    } 

    maven { 
     url "http://files.couchbase.com/maven2/" 
    } 
} 

dependencies { 
    compile 'com.android.support:support-v4:18.0.+' 
    compile 'com.android.support:appcompat-v7:18.0.+' 
    compile 'com.google.android.gms:play-services:3.1.36' 
    compile 'com.couchbase.cblite:CBLite:1.0.0-beta' 
    compile 'com.couchbase.cblite:CBLiteEktorp:1.0.0-beta' 
    compile 'com.couchbase.cblite:CBLiteJavascript:1.0.0-beta' 
    compile fileTree(dir: 'libs', include: '*.jar') 

    instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3' 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.1" 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 

     debug.setRoot('build-types/debug') 
     release.setRoot('build-types/release') 
    } 
} 

tasks.withType(Compile) { 
    options.encoding = 'UTF-8' 
} 

E, infine, il mio SDK Responsabile:

Android SDK Manager

Ho provato con molte versioni di Android Studio (0.2.8, 0.2.9, 0.2.13, 0.3.2, 0.3.6) ed è sempre lo stesso. Ho provato a cambiare la versione Play Services, ho provato a cambiare l'ordine delle dipendenze, niente ha fatto il trucco.

C'è qualcosa che non è corretto con il mio setup? Ho cercato le risposte e praticamente tutto quello che ho trovato (build.gradle struttura, SDK elementi mancanti) era già soddisfacente ...

risposta

7

Ho finalmente trovato qual era il problema. @gnuf mi ha indicato nella giusta direzione. Ma il problema era che Android Studio, in Project Structure | Impostazioni piattaforma | Android SDK, ha mostrato l'SDK sbagliato. Ha mostrato che l'SDK utilizzato era C:/Program Files (x86)/Android/android-studio/sdk, ma in effetti, ho scoperto che cercava di creare un altro SDK situato in C:\Users\my_username\AppData\Local\Android\android-studio\sdk.

Inutile dire che non ha funzionato. Non c'era niente installato in questo SDK. Così ho copiato il contenuto di C:/Program Files (x86)/Android/android-studio/sdk a C:\Users\my_username\AppData\Local\Android\android-studio\sdk e ha funzionato! La mia prima build in tre settimane.

Quindi penso che sia un bug di Android Studio. Se qualcuno incontra questo problema, assicurati di avere solo un SDK sul tuo computer. Se ne hai più di uno, assicurati che abbiano tutte le dipendenze richieste. Se puoi, basta copiare il contenuto più aggiornato degli altri.

+2

Non è un bug tanto quanto qualcosa che non è chiaramente documentato. Android Studio include la propria copia dell'SDK che utilizza per impostazione predefinita. Puoi semplicemente aggiungere Android Studio alla copia installata tramite Android SDK Manager. – gnuf

-1

Cerca dipendenze Google come Google Play Services negli extra SDK, non nei repository Maven sulla rete. Installa il "Google Repository" nel tuo gestore di SDK e dovresti essere a posto.

+0

Non hai visto lo screenshot del mio SDK Manager che ho aggiunto nel mio post? –

2

È possibile che il percorso in cui sono stati installati i componenti dell'SDK sia diverso da quello utilizzato da Android Studio.

È possibile verificare che i repository Maven locali (installati dal repository di Google e dal repository di supporto Android) siano inclusi nell'SDK Android che si sta utilizzando nel progetto Android Studio?

In Android Studio, vai a Struttura del progetto | Impostazioni piattaforma | SDK Android. (Sulla mia macchina, il percorso per Android SDK Location è /opt/boxen/homebrew/Cellar/android-sdk/22.2.1) In quella directory, assicurarsi che la sottodirectory extras/google/m2repository/com/google/android/gms/play-services/ esista.

+0

Sì, posso confermarlo. La patch SDK nella struttura del progetto | Impostazioni piattaforma | Android SDK è 'C:/Programmi (x86)/Android/android-studio/sdk' (sì, sono su Windows) e la directory' C: \ Programmi (x86) \ Android \ android-studio \ sdk \ extra \ Google \ m2repository \ com \ Google \ Android \ GMS \ play-servizi \ 3.1.36'exists. –

Problemi correlati