2013-11-25 20 views
10

मैं एंड्रॉयड स्टूडियो 0.3.6 में अपने प्रोजेक्ट को चलाने के लिए कोशिश कर रहा हूँ की तलाश में विफल रहता है, लेकिन मैं हमेशा इस त्रुटि मिलती है:Gradle निर्माण गूगल एंड्रॉयड स्टूडियो में Play सेवाओं

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 

यहाँ मेरा पूरा 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' 
} 

और अंत में, मेरी एसडीके प्रबंधक:

Android SDK Manager

मैंने एंड्रॉइड स्टूडियो के कई संस्करणों (0.2.8, 0.2.9, 0.2.13, 0.3.2, 0.3.6) के साथ प्रयास किया और यह हमेशा वही है। मैंने प्ले सेवा संस्करण को बदलने की कोशिश की, मैंने निर्भरताओं के क्रम को बदलने की कोशिश की, चाल कुछ भी नहीं किया।

वहाँ कुछ मेरी सेटअप के साथ सही नहीं है? मैं जवाब के लिए देखा और काफी सब कुछ मैंने पाया (build.gradle संरचना, एसडीके लापता आइटम) पहले से ही ठीक था ...

उत्तर

7

मुझे अंततः समस्या मिली। @gnuf ने मुझे सही दिशा में इंगित किया। लेकिन समस्या यह थी कि एंड्रॉइड स्टूडियो, परियोजना संरचना में | प्लेटफार्म सेटिंग्स | एंड्रॉइड एसडीके, गलत एसडीके दिखाया। यह दिखाता है कि इसका इस्तेमाल एसडीके C:/Program Files (x86)/Android/android-studio/sdk था, लेकिन वास्तव में, मैंने पाया कि यह C:\Users\my_username\AppData\Local\Android\android-studio\sdk में स्थित एक और एसडीके के साथ निर्माण करने की कोशिश की।

जरूरत नहीं कहने के लिए है, यह काम नहीं किया। इस एसडीके में कुछ भी स्थापित नहीं था। इसलिए मैंने C:/Program Files (x86)/Android/android-studio/sdk से C:\Users\my_username\AppData\Local\Android\android-studio\sdk और की सामग्री की प्रतिलिपि बनाई, यह काम किया! मेरा पहला तीन सप्ताह में निर्माण।

तो मुझे लगता है यह एंड्रॉयड स्टूडियो के एक बग है। अगर कोई इस समस्या में चलता है, तो सुनिश्चित करें कि आपके कंप्यूटर पर केवल एक एसडीके है। यदि आपके पास एक से अधिक हैं, तो सुनिश्चित करें कि उनके पास सभी आवश्यक निर्भरताएं हैं। यदि आप कर सकते हैं, तो बस सबसे अद्यतित सामग्री की प्रतिलिपि दूसरों को कॉपी करें।

+2

यह एक बग नहीं है जो कुछ स्पष्ट रूप से दस्तावेज नहीं है। एंड्रॉइड स्टूडियो एसडीके की अपनी प्रतिलिपि बनाता है जो डिफ़ॉल्ट रूप से इसका उपयोग करता है। आप एंड्रॉइड स्टूडियो को एंड्रॉइड एसडीके प्रबंधक के माध्यम से स्थापित प्रतिलिपि पर इंगित कर सकते हैं। – gnuf

-1

यह गूगल निर्भरता के लिए लग रहा है गूगल की तरह अपने एसडीके अतिरिक्त में Play सेवाएं, नेटवर्क पर Maven खजाने में नहीं। अपने एसडीके प्रबंधक में "Google रिपोजिटरी" इंस्टॉल करें और आपको जाने के लिए अच्छा होना चाहिए।

+0

क्या आपने मेरे पोस्ट में जोड़े गए मेरे एसडीके प्रबंधक का स्क्रीनशॉट नहीं देखा? –

2

यह मामला उस स्थान जहां एसडीके घटक स्थापित किया है एक है कि एंड्रॉयड स्टूडियो उपयोग कर रहा है से अलग है हो सकता है।

आपको यह सत्यापित कर सकते हैं कि स्थानीय Maven खजाने (गूगल भंडार और Android समर्थन भंडार द्वारा स्थापित) Android SDK है कि आप अपने Android स्टूडियो परियोजना में उपयोग कर रहे हैं के तहत कर रहे हैं?

एंड्रॉयड स्टूडियो में, संरचना को प्रोजेक्ट करने के लिए जाना | प्लेटफार्म सेटिंग्स | एंड्रॉइड एसडीके। (मेरी मशीन पर, एंड्रॉइड एसडीके स्थान के लिए पथ /opt/boxen/homebrew/Cellar/android-sdk/22.2.1 है) उस निर्देशिका में, सुनिश्चित करें कि उपनिर्देशिका extras/google/m2repository/com/google/android/gms/play-services/ मौजूद है।

+0

हां, मैं इसकी पुष्टि कर सकता हूं। परियोजना संरचना में एसडीके पैच | प्लेटफार्म सेटिंग्स | एंड्रॉइड एसडीके 'सी:/प्रोग्राम फ़ाइलें (x86)/एंड्रॉइड/एंड्रॉइड-स्टूडियो/एसडीके' (हाँ मैं विंडोज़ पर हूं) और निर्देशिका 'सी: \ प्रोग्राम फ़ाइलें (x86) \ एंड्रॉइड \ एंड्रॉइड-स्टूडियो \ एसडीके \ अतिरिक्त \ Google \ m2repository \ कॉम \ Google \ एंड्रॉयड \ ग्राम \ प्ले-सेवाओं \ 3.1.36'exists। –

संबंधित मुद्दे