2013-07-28 13 views
48

नहीं ढूंढ सकता है इसलिए मैंने जीएसएस-2.2.4.jar को libs dir में जोड़ा (मैं एंड्रॉइड स्टूडियो का उपयोग कर रहा हूं)। मेरी परियोजना को जीएसएस सामान नहीं मिला, इसलिए मैंने इसे "प्रोजेक्ट स्ट्रक्चर" में अपने मॉड्यूल के लिए लाइब्रेरी निर्भरता के रूप में जोड़ा। जब मैं प्रोजेक्ट को चलाने का प्रयास करता हूं, तो बिल्ड निम्न त्रुटियों में विफल रहा है:एंड्रॉइड ग्रैडल प्रतीक वर्ग जीसन

Error:(12, 23) Gradle: package com.google.gson does not exist 
Error:(37, 3) Gradle: cannot find symbol class Gson 
Error:(37, 19) Gradle: cannot find symbol class Gson 

मुझे यह काम क्यों नहीं मिल रहा है? मैंने कहीं और पढ़ा है कि अगर धीरे-धीरे lib dir में डाल दिया जाता है तो धीरे-धीरे सबकुछ संभालना होता है।

+0

मैं एंड्रॉइड स्टूडियो कैसे काम करता है उससे परिचित नहीं हूं, लेकिन आपकी 'build.gradle' फ़ाइल कैसी दिखती है? – superEb

उत्तर

39

इसे परियोजना संरचना सेटिंग्स में निर्भरता के रूप में जोड़ना पर्याप्त नहीं है। यह सेटिंग केवल आईडीई के लिए है। वास्तव में निर्माण करने के लिए, ग्रैडल को इसके बारे में भी जागरूक होना चाहिए। आपको .jar फ़ाइल को अपनी build.gradle फ़ाइल में जोड़ना होगा ...

dependencies { 
    compile files('libs/gson-2.2.4.jar') 
} 
+0

मैं देखता हूं, बहुत बहुत धन्यवाद! वह काम किया। –

+0

क्या यह मॉड्यूल या प्रोजेक्ट का build.gradle है? – sisko

+19

एनबी, जीएसएन का वर्तमान संस्करण 2.3 है, इसलिए उपयोग करें: 'निर्भरताएं {compile' com.google.code.gson: gson: 2.3} ' – nyxee

93

मुझे एक ही समस्या का सामना करना पड़ा। मैंने अपनी बिल्ड.ग्रैड निर्भरताओं (परियोजना संरचना में कोई जार जोड़ने के बिना) में दिखाए गए एक पंक्ति को अभी जोड़ा है और यह मेरे लिए काम करता है।

dependencies { 
    compile 'com.google.code.gson:gson:2.2.+' 
    compile 'com.android.support:support-v4:13.0.+' 
    compile 'com.android.support:appcompat-v7:18.0.+' 
} 

ऊपर के साथ, मुझे कुछ और चीजें मिलती हैं जो काम करने के लिए आवश्यक हैं।

  1. सुनिश्चित करें कि आपके पास AndroidManifest.xml फ़ाइल में android:targetSdkVersion="18" है।

    <uses-sdk 
        android:minSdkVersion="10" 
        android:targetSdkVersion="18" /> 
    
  2. सुनिश्चित करें कि आप build.gradle फ़ाइल में targetSdkVersion 18 किया हुआ है।

    defaultConfig { 
        minSdkVersion 10 
        targetSdkVersion 18 
    } 
    
  3. सुनिश्चित करें कि आप इंटरनेट से जुड़े हुए हैं; ताकि जार ऑनलाइन केंद्रीय मेवेन भंडार से डाउनलोड किया जाएगा।

+2

# शैई सर्वेक्षण - क्या यह अभी भी आपके लिए काम कर रहा है? मुझे libs में gson शामिल करना होगा और इसे "संकलित फाइल" के साथ संदर्भित करना होगा। – AndroidGuy

+0

हाँ यह मेरे लिए काम करता है। यदि यह काम नहीं कर रहा है जब आप इंटरनेट से कनेक्ट नहीं हैं। फिर इंटरनेट से कनेक्ट होने पर भी कोशिश करें। क्योंकि यह केंद्रीय मैवेन भंडार से जार लाता है जो निर्माण प्रक्रिया ऑनलाइन केंद्रीय मेवेन भंडार से डाउनलोड करेगा। – Sahil

+0

बढ़िया! मुझे नहीं पता था कि Google कोड पर जीएसएन के लिए एक आर्टिफैक्ट था। आप कैसे पता लगा सकते हैं कि संदर्भ में संदर्भ के रूप में संदर्भ के लिए और क्या उपलब्ध है। रिमोट लाइब्रेरीज़ में build.gradle फ़ाइल सही है? – speedynomads

13

मुझे एक ही समस्या का सामना करना पड़ा है।

हल करने के लिए यह सुनिश्चित करें कि आप एंड्रॉयड प्लगइन

repositories { 
    mavenCentral() 
} 

के लिए Maven केंद्रीय निर्दिष्ट होना और यह दो बार अगर आप का निर्माण स्क्रिप्ट

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


repositories { 
    mavenCentral() 
} 


apply plugin: 'android' dependencies {  
    compile 'com.google.code.gson:gson:2.2.4' 
    compile 'com.android.support:support-v4:13.0.0' 
    compile project(':libraries:volley') 
} 
+0

शीर्ष स्तर पर एक बार फिर से 'रिपॉजिटरीज' निर्देश डालने के लिए मेरे लिए काम किया –

1

परिभाषित कर रहे हैं एक फ़ोल्डर नाम libs बनाएँ और जोड़ने जोड़ा जाना चाहिए या build.gradle संपादित करें (फ़ोल्डर में किसी भी जार lib के लिए काम करता है)

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 
19

बस एक बिंदु जोड़ने के लिए,

Gradle 1.7 के रूप में, jcenter() mavenCentral() का एक सुपरसेट है ... इसलिए जोड़ने और भंडार निर्देशों की कोई आवश्यकता नहीं है।

जार ऑनलाइन केंद्रीय जांसर रिपोजिटरी से डाउनलोड किए जाएंगे। इसलिए बस निम्नलिखित कथन काम कर रहा है।

dependencies { 

    compile 'com.google.code.gson:gson:2.7' 
} 

मेरे ऐप build.gradle फ़ाइल पर:

dependencies { 
compile 'com.google.code.gson:gson:2.2.+' 
} 
+0

सरल और सर्वोत्तम। – peresisUser

6

मेरे मामले में, मैं सिर्फ इस लाइन को जोड़ा। https://mvnrepository.com/artifact/com.google.code.gson/gson

इस भंडार की जांच करें सुनिश्चित करें कि आप पिछले उपलब्ध संस्करण का उपयोग कर रहे हैं होने के लिए:

अब 2.7 तक के अनुसार पिछले वर्तमान उपलब्ध संस्करण है।

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