2013-08-08 17 views
5

मैंने सफलतापूर्वक अपने प्रोजेक्ट में एक्शनबैरशेलॉक आयात किया है, और दो अन्य पुस्तकालयों को आयात करने की आवश्यकता है: Sliding Layer और Crouton। मुझे पता है कि इसी तरह के प्रश्न पहले से पहले यहां दिखाई दिए हैं, लेकिन मैंने लगभग हर चीज की कोशिश की है, हर बार इस परियोजना में कुछ तोड़ना जिस तरह से मुझे शुरू करना था।एंड्रॉइड स्टूडियो ग्रेडले और लाइब्रेरी आयात

मेरे परियोजना पेड़ की तरह दिखता है:

MyProject/ 
+ app/ 
+ libraries/ 
    + actionbarsherlock/ 
    + crouton/ 
    + slidinglayer/ 

मैं मॉड्यूल के रूप में उन दो पुस्तकालयों आयातित (फ़ाइल> आयात मॉड्यूल)

मेरे setting.gradle फ़ाइल लगता है कि यह होना चाहिए:

include ":libraries:actionbarsherlock", ':Krypto', ':libraries:crouton', ':libraries:slidinglayer' 

एक्शनबर्सहेलॉक ग्रेडल:

buildscript { 
    repositories { 
     maven { url 'http://repo1.maven.org/maven2' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile files('libs/android-support-v4.jar') 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 16 
    } 

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

एप्लिकेशन Gradle:

buildscript { 
    repositories { 
     maven { url 'http://repo1.maven.org/maven2' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile project(":libraries:actionbarsherlock") 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 16 
    } 
} 

slidinglayer Gradle:

apply plugin: 'android-library' 

dependencies { 
    compile "com.android.support:support-v4:18.0.0" 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.0.1" 

    defaultConfig { 
     minSdkVersion 4 
     targetSdkVersion 18 
    } 

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

crouton फ़ोल्डर में कोई gradle.build फ़ाइल है। यह कैसा दिखना चाहिए? केवल जावा फाइलें हैं (कोई संसाधन नहीं)।

crouton और slidinglayer पुस्तकालयों में सही निर्भरता कैसे सेट अप करें?

उत्तर

5

crouton

buildscript { 
    repositories { 
     maven { url 'http://repo1.maven.org/maven2' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 

apply plugin: 'android-library' 

dependencies { 
    compile 'com.android.support:support-v4:18.0.0' 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.0.1" 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 17 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
     } 
    } 
} 

और अपने अनुप्रयोग build.gradle में के लिए build.gradle, बदल

dependencies { 
    compile project(":libraries:actionbarsherlock") 
} 

को

dependencies { 
    compile project(":libraries:actionbarsherlock") 
    compile project(":libraries:crouton") 
    compile project(":libraries:slidinglayer") 
} 

और आयात का पुन: एंड्रॉयड स्टूडियो में

1

मुझे नहीं पता कि आपकी समस्या का समाधान कैसे करें, लेकिन जब मुझे ग्रैडल बिल्ड में तीसरे पक्ष के लाइब्रेरी उपयोग की समस्या का सामना करना पड़ा, तो मैंने निम्नलिखित तरीके से हल किया।

परियोजना की मेरी संरचना निम्नलिखित है।

GsonDemoProject
      GsonDemo
            निर्माण
            libs
                    android-समर्थन-v4.jar
                    gson।जार
            src
                    मुख्य
                    build.gradle
            build.gradle
            settings.gradle

मैं अपने build.gradle फ़ाइल जो src निर्देशिका में रहता है का संपादन किया।

dependencies { 
    compile files('libs/android-support-v4.jar','libs/gson.jar') 
} 

मैं ऊपर की तरह dependencies टैग में 3 पार्टी पुस्तकालय के संदर्भ डाल दिया। मेरी परियोजना में libs निर्देशिका है जहां पुस्तकालयों को रखा जाता है।

+0

मैं 'actionbarsherloc' में crouton लाइब्रेरी जोड़ने की कोशिश की है k/libs 'और build.gradle बनाने के लिए' libs/crouton 'जोड़ें, जैसा कि आपने सुझाव दिया - अभी भी त्रुटियों के साथ। साथ ही, मैंने ऐप build.gradle में निर्भरताओं के लिए 'संकलित फ़ाइलें' जोड़ने के साथ समान विचार करने की कोशिश की है - अभी भी कोई परिणाम नहीं है। – Bresiu

+0

@ ब्रेस्सी, आपकी पुस्तकालय 'libs' निर्देशिका के अंदर हैं? फ़ाइलों को संकलित करने का प्रयास करें ('libs/android-support-v4.jar', 'libs/actionbarsherlock.jar', 'libs/crouton.jar') '। जैसा कि आप कोड में देख सकते हैं, '.jar' अनिवार्य है। :) –

+0

ये पुस्तकालय नहीं हैं। Jars। पुस्तकालयों के रूप में ये सामान्य परियोजनाएं हैं। मैंने इसे एक्शनबर्सहेलॉक के अंदर libs फ़ोल्डर में जोड़ने की कोशिश की है जैसा कि मैंने कहा था, और दूसरी कोशिश में, मैंने ऐप्स libs फ़ोल्डर के अंदर पुस्तकालयों को पेस्ट करने का प्रयास किया है। बिना सफलता के। मैं इन उग्र चीजों को समझ में नहीं आता। केवल लाइब्रेरी जिसे मैंने सफलतापूर्वक आयात किया था, इस ट्यूटोरियल के साथ एक्शनबार्सहेलॉक था: टिप्पणियों में दिए गए कुछ बदलावों के साथ http://stackoverflow.com/a/16639227/1888738। – Bresiu

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