Kuinka lisään kirjastohankkeen Android Studioon?

Alexander Kulyakhtin 09/11/2017. 29 answers, 544.786 views
android android actionbarsherlock android-library android-studio android-studio

Kuinka lisään kirjastoprojekti (kuten Sherlock ABS) Android Studioon ?

(Ei vanha ADT Eclipse -perustainen nipu vaan uusi Android Studio .)

4 Comments
25 Daniel Smith 05/21/2013
Joo, että kuvitellessasi tämä oli hämmentävämpää kuin mitä olisi pitänyt ... ei pidä siitä, että se olisi parempi kuin eclipse.
3 user1785900 01/19/2014
YouTube-video How to Add Libraries to Android Studio selittää prosessin.
1 craned 10/16/2014
Jos käytät Gradle , katso tämä StackOverflow-vastaus .
1 Simon 12/20/2014
Tässä on video, jonka löysin todella hyödyllisenä: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

Koska Android Studio 1.0 julkaistiin (ja paljon versioita v1.0: n ja yhden ensimmäisistä aikaisemmasta vastauksestani), jotkut asiat ovat muuttuneet.

Oma kuvaus on keskittynyt lisäämällä ulkoista kirjastoprojektia käsin Gradle-tiedostojen kautta (prosessin ymmärtämiseksi paremmin). Jos haluat lisätä kirjaston Android Studio -artikkelijan avulla, tarkista alla oleva vastaus visuaalisella oppaalla (Android Studio 1.0: n ja kuvakaappausten välillä on eroja, mutta prosessi on hyvin samanlainen).

Ennen kuin aloitat kirjaston lisäämisen projektisi käsin, harkitse ulkoisen riippuvuuden lisäämistä. Se ei sekoita projektin rakenteeseen. Lähes kaikki tunnetut Android-kirjastot ovat käytettävissä Maven- arkistossa ja sen asennus vie vain yhden rivin koodia app/build.gradle -tiedostoon:

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
} 

Adding the library

Tässä on täydellinen prosessi lisäämään ulkoista Android-kirjastoamme projektiin:

  1. Luo uusi projekti Android Studio -tuottajan kautta. HelloWorld sen HelloWorld .
  2. Tässä on alkuperäinen Android-studiossa luotu projektirakenne:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. HelloWorld/ juurihakemistossa ( HelloWorld/ ) uusi kansio: /libs , johon sijoitamme ulkoiset kirjastot (tätä vaihetta ei vaadita - vain puhtaamman projektin rakenteen ylläpitämiseksi).
  2. Liitä kirjasto äskettäin luotuun /libs kansioon. Tässä esimerkissä käytin PagerSlidingTabStrip-kirjastoa (vain ladata ZIP from GitHub, nimetä kirjaston hakemisto uudelleen "PagerSlidingTabStrip" ja kopioi se.) Tässä on uusi projektirakenne:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. Muokkaa asetuksia.gradle lisäämällä kirjastoosi include . Jos käytät muokattua polkua, kuten minä, sinun on myös määriteltävä kirjastomme projektihakemisto. Koko asetus.gradle pitäisi näyttää alla:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip') 

5.1 Jos kohtaat oletusasetusten virheen, kokeile tätä vaiheen 5 sijaan,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. app/build.gradle lisää kirjastoprojekti riippuvaksi:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    } 

6.1. Jos olet seurannut vaiheessa 5.1, noudata tätä sitten 6,

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. Jos kirjastoprojektissa ei ole build.gradle tiedostoa, sinun on luotava se manuaalisesti. Tässä on esimerkki tuosta tiedostosta:

    apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        } 
  2. Lisäksi voit luoda projektisi globaalin kokoonpanon, joka sisältää SDK-versioita ja rakentaa työkalut versiolle jokaiselle moduulille johdonmukaisuuden säilyttämiseksi. Muokkaa gradle.properties tiedostoa ja lisää rivit:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21 

    Nyt voit käyttää sitä build.gradle tiedostoissa (sovellus- ja kirjastoyksiköissä), kuten alla:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //... 
  3. Siinä kaikki. Napsauta vain, synkronoi projekti Gradle-kuvakkeen kanssa synkronoida Gradlen kanssa . Kirjaston tulisi olla käytettävissä projektissasi.

Google I / O 2013 - Uusi Android SDK Build System on loistava esitys rakennuksen Android-sovellusten rakentamisesta Gradle Build System -ohjelmalla: Kuten Xavier Ducowap sanoi:

Android Studio käsittelee vain muokkausta, virheenkorjausta ja profilointia. Kyse ei ole siitä, että rakennettaisiin enää.

Alussa voi olla hieman hämmentävää (etenkin niille, jotka työskentelevät Eclipse -yhdistyksen kanssa eivätkä ole koskaan nähneet muurahaisia ​​kuin minä;)), mutta lopulta Gradle antaa meille hienoja mahdollisuuksia ja kannattaa oppia tämä rakentaa järjestelmä.

5 comments
6 victor n. 05/24/2013
hei siellä, selititte täydellisesti todellisen ongelman. äänestämällä vastauksesi niin, että muut ihmiset näkevät sen. yksi pienempi asia, joka ei toiminut minun puolellani, viittaa tukikirjastoon riippuvuuden rakentamisessa. kuten se osoittautuu: "Project / libs ..." ei toiminut jostain syystä. Minun oli poistettava projektin tunnistus. niin "libs / ...". ja se koottiin hienosti. yksi huomautus on, että nämä kaksi tapaa viitata polkuihin tai hankkeisiin ovat hämmentäviä. Toivon, että yksinkertainen ja yhtenäinen järjestelmä tulee tulevaisuudessa. ei ole mitään syytä, miksi alkuperäinen ratkaisu ei toimi.
9 Akbar ibrahim 05/24/2013
+1. Hän kamppaili tätä pitkään. Kuten victor n sanoi, viitataan pääprojektin tukipurkkiin actionbarsherlock-moduulista ei toimi. Minun piti tehdä se seuraavaksi ... (1) Poista käännöstiedostot ('libs / android-support-v4.jar') projektin build.gradle -versiosta. Päämoduulissa tulisi vain koota projekti (": kirjastot: actionbarsherlock") . (2) Lisää käännöstiedostoja ("libs / android-support-v4.jar") tiedostojen kääntämisen sijaan (": HelloWorld / libs / android-support-v4.jar") actionbarsherlockin build.gradle -versiossa.
8 alicanbatur 11/07/2013
Miksi minulla ei ole "Tuo-moduuli" -osaa vaihtoehtoa, jossa ohjaat meitä? Käytän Android Studio 0.3.1: ta
5 amalBit 02/08/2014
Tuonti-moduuli puuttuu!
147 Kyle Gobel 10/19/2014
Miksi tämä niin jumala on sekava ?!

Sam Rad 07/01/2016.

Tässä on visuaalinen opas:

Update Android Studio 0.8.2:

Android Studio 0.8.2: ssa siirry Project Structure -> Modules vain paina plus-painiketta ja valitse Import Existing Project ja tuoda actionbarsherlock . Sitten synkronoi Gradle-tiedostot.

Jos kohtaat virheen

Virhe: SDK Build Tools -versio (xx.xx) on liian pieni. Vähimmäisvaatimus on yy.yy

Avaa vain build.gradle tiedosto actionbarsherlock hakemistosta ja päivitä buildToolsVersion ehdotettuun.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y' 

Android Studio 0.8.2


Valikkokansio -> Project Structure... :

Ensimmäinen

Module -> Import Module

Toinen

Kun olet lisännyt kirjastomoduulin, valitse projektimoduuli ja lisää riippuvuus:

kolmas

Valitse sitten imported module :

eteenpäin

5 comments
29 amalBit 02/08/2014
Tuo moduuli ei ole käytettävissä Android Studio4.3: ssa
3 toobsco42 08/25/2014
Avain, jotta voisin tehdä tämän työn ja ratkaista paketin, jota ei löytynyt, oli askel Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
Tämä kopioi kirjastomoduulin projektiin, mikä ei ole se, mitä haluat, jos haluat yhteisten koodipohjien jakamisen useiden hankkeiden välillä
CCJ 11/13/2015
@amalBit ovat ... oletko tulevaisuudesta? Mutta vakavasti, heidän täytyy tehdä tämä yksinkertainen kuten se oli Eclipse ADT; joka haluaa lyödä kolmannen osapuolen repoa ja koota (mahdollisesti) mielivaltaisen koodin jokaiseen rakennukseen? Tämä vakavasti heikentää QA- ja koodijäähdytysprotokollia
amalBit 11/17/2015
Se oli paluuta beta-päivien aikana Android-studiossa 0.4.3. Mitä tulee liittymiseen kolmannen osapuolen repo, id sanoa, vältä +. Määritä vain versio u. Jos u ei edelleenkään voi luottaa siihen tarpeeksi, u voi luoda minkä tahansa reposin jar (tai klooni) ja käyttää sitä.

Blackbelt 07/01/2016.

Käytä valikkoa File -> Project Structure -> Modules .

Aloitin sen käytön tänään. Se on hieman erilainen.

Sherlockille, ehkä haluat poistaa niiden junit.jar tai lisätä junit.jar tiedoston luokkapolkuun.

Jos haluat tuoda kirjaston lukemalla luokan, sinun on lisättävä se build.gradle (moduulin yksi) dependencies -osioon.

Esim

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
} 

Android Studio on muuttumassa.

Olemassa on osio nimeltään "Avaa moduulin asetukset", jos napsautat hiiren kakkospainikkeella moduulin kansiota Android Studion projektiosassa (käytän versiota 0.2.10).

5 comments
1 Alexander Kulyakhtin 05/16/2013
Hmm se silti sanoo android-apt-kääntäjä: styles.xml: 5: virhe: Virhe noudettaessa vanhempaa kohteelle: Ei löydy resursseja, jotka vastaavat annettua nimeä "Theme.Sherlock.Light.DarkActionBar".
Blackbelt 05/16/2013
Sherlock-moduulin alla -> Varatulla on android 4.2.2 ja tukikirjasto v4
Blackbelt 05/16/2013
@ ρяσѕρєяK ajonipainikkeen vieressä on Android-etiketti. Jos olet löytänyt sen, löydät Muokkaa kokoonpanoa. Paina ja kohdelaitteen kohdalla valitse "Show Chooser Dialg"
7 fish 05/16/2013
Hei, minulla on sama ongelma kuin Alex ("Gradle: Virhe haettaessa vanhempaa kohteelle: Ei löydy resursseja, jotka vastaavat määritettyä nimeä" Theme.Sherlock.Light ".) - Java-riippuvuus näyttää olevan ratkaistu oikein. IDE ei syytä minun SherlockActivity -ohjelmaan, mutta jostain syystä Gradle ei näytä tutkittavaksi ABS: n lähteistä. Mitään ideoita?
4 Konrad Morawski 09/15/2013
Android Studio 0.2.8: ssa ei ole Modules osaa Project Structure -ikkunassa.

Jonathan Lin 10/14/2013.

Haluaisin harkita riippuvuuksia, Android-kirjastoja ja Multi-projektin asentamista tarpeelliseksi lukemiseksi. Kestää muutaman minuutin.

Erityisesti, kun kyseessä on ei-jar-kirjastoprojekti, lue seuraava ylhäältä lähteestä peräisin oleva katkelma:

Gradle-projektit voivat myös riippua muista projekteista, joissa käytetään usean projektin kokoonpanoa. Monen projektin asetukset toimivat yleensä siten, että kaikki projektit ovat tietyn juurihankkeen alikansioita.

Esimerkiksi seuraava rakenne:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/ 

Voimme tunnistaa 3 hanketta. Gradle viittaa niihin seuraavalla nimellä:

:app
:libraries:lib1
:libraries:lib2 

Jokaisella hankkeella on oma build.gradle, joka ilmoittaa, kuinka se rakennetaan. Lisäksi on olemassa tiedosto, jota kutsutaan settings.gradleksi pääkäyttäjänä, joka julistaa hankkeet. Tämä antaa seuraavan rakenteen:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle 

Asetusten.gradle sisältö on hyvin yksinkertainen:

include ':app', ':libraries:lib1', ':libraries:lib2' 

Tämä määrittää, mikä kansio on itse asiassa Gradle-projekti.

App: n hanke riippuu todennäköisesti kirjastoista, ja tämä tehdään ilmoittamalla seuraavat riippuvuudet:

dependencies {
    compile project(':libraries:lib1')
} 

Huomaa, että Android Studio GUI -ohjelmistoa käytettiin vain vähän tai ei lainkaan.

Käytän parhaillaan git-moduuleja yhdistämään sisäkkäisen kirjaston varsinaiseen kirjaston git-reposeen, jotta vältettäisiin riippuvuusongelma.

4 comments
Jonathan Lin 10/14/2013
Ystävällisin ylennys, jos havaitsit tämän olevan hyödyllistä, jotta muut voivat välttää kipua ja siirtyä nopeammin.
RichieHH 03/24/2014
Erittäin hyödyllinen ja, mikä tärkeintä, ei pelata päivän gui whims.
1 dcunited001 04/20/2014
kiitos paljon siitä, että ainoa vastaus on järkevä. jokainen muu vastaus on vanhentunut ja vain ei toimi. en ole edes kokeillut CS: ssa Virginia Techissa, koska koko kaksi ensimmäistä vuotta oppivat napsauttamalla eclipseä. se ei tee mitään fckn järkevää, mutta nähdessään gradle tulos satunnaisia ​​napsautuksia IDE ei.
velis 06/01/2015
Kiitos git submodules kärjistä. Käytin risteyksestä ennen, mutta olen nyt vaihtanut SVN: n ulkopuolelle. Toimii kuin unelma.

René Michel 07/01/2016.

Olen juuri löytänyt helpomman tavan (eikä kirjallisesti suoraan .gradle-tiedostoihin).

Tämä koskee Android Studio 1.1.0.

  1. Valikkokansio -> New Module... :

    Tuo olemassa oleva projekti

    Napsauta "Tuo olemassa oleva projekti".

  2. Valitse haluamasi kirjasto ja haluttu moduuli.

  3. Napsauta lopuksi. Android Studio tuo kirjaston projektiin. Se synkronoi gradle-tiedostoja.

  4. Lisää tuodut moduulit projektin riippuvuuksiin.

    Napsauta hiiren kakkospainiketta sovelluskansioon -> Avaa moduulin asetukset -> siirry riippuvuudet-välilehteen -> Napsauta '+' -painiketta -> napsauta Moduuli riippuvuutta.

    Kirjaston moduuli lisätään sitten hankkeen riippuvuuksiin.

    Lisää kirjaston moduuli

  5. ???

  6. Voitto


Vilen 07/01/2016.

Helpoin tapa löysin ulkoisen kirjastoprojektin (esimerkiksi sisällyttää Facebook-kirjasto, johon tallennetaan yksi hakemisto ylös riippuvuuksien kansioon):

  1. Asetuksissa

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. Lisää build.gradle dependencies -osassa

    compile project ('facebook') 

Kaikki jäljellä on synkronoida projekti fokle tiedostoja.

4 comments
Rajnish Mishra 03/23/2015
Hei Vilen, mikä on settingsDir täällä
Vilen 04/02/2015
Hei Rajnish. Dokumentaatiosta: settingsDir Palauttaa rakenteen asetukset -hakemiston. Asetusluettelo on asetustiedostoa sisältävä hakemisto. Returns: Asetusluettelo. Ei koskaan palauta nollaa.
Rajnish Mishra 04/03/2015
Kahden pisteen ennen / riippuvuudet ovat tärkeämpiä huolehtimaan Vastauksesi auttaa minua paljon .. Kiitos
Solata 11/18/2015
NOTE: jos haluat käyttää jyrsintää asteella, käytä kaksoislukua ("). Tämä" tallenna päivä "minulle.

Eugene Bosikov 07/01/2016.

Helppo tapa lisätä JAR-tiedosto kirjastoksi Android Studio -hankkeeseesi:

a) Kopioi * .jar-tiedostot

b) Liitä projekteihisi libs hakemistoon:

Anna kuvan kuvaus tässä

c) Lisää rakentaa.gradle:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
} 

b) Jos projektista esimerkistä com.example.MYProject ja kirjastoista com.example.ScanAPI on sama nimet kuin com.example , Android Studio tarkistaa rakennuksesi ja luo kaikki tarvittavat muutokset projektissasi. Tämän jälkeen voit tarkastella näitä asetuksia valikossa File -> Project Structure .

c) Jos projektissa ja kirjastoissa on eri nimiavaruus, sinun on napsautettava kirjastoa hiiren kakkospainikkeella ja valittava vaihtoehto "Lisää kirjastoon" ja valitse tyyppi, mitä tarvitset.

Muista, että "Projektin rakenne" -vaihtoehto ei tee mitään automaattisia muutoksia "build.gradle" -versiossa Android Studio: n nykyisessä versiossa (0.2.3). Ehkä tämä ominaisuus on saatavilla seuraavissa versioissa.


pathe.kiran 06/27/2016.

Vaihtoehto 1: Pudota tiedostot projektin libs / hakemistoon

Asiaankuuluva build.gradle-tiedosto päivitetään automaattisesti.

Vaihtoehto 2: Muokkaa build.gradle-tiedostoa manuaalisesti

Avaa build.gradle-tiedosto ja lisää uusi rakennussääntö riippuvuuksien sulkemiseen. Jos esimerkiksi haluat lisätä Google Play -palveluita, projektisi riippuvuudet -osiosta näyttää jotain tällaista:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   } 

Vaihtoehto 3: Käytä Android Studion käyttöliittymää

Ohjauspaneelissa Ohjaus + napsauta moduulia, johon haluat lisätä riippuvuuden ja valitse Avaa moduulin asetukset.

Anna kuvan kuvaus tässä

Valitse riippuvuudet-välilehti ja sen jälkeen vasemmalla alakulmassa oleva +-painike. Voit valita seuraavista vaihtoehdoista:

  • Kirjaston riippuvuus
  • Tiedoston riippuvuus
  • Moduulin riippuvuus

Voit lisätä lisätietoja riippuvuussuhteesta, jonka haluat lisätä projektiin. Jos valitset esimerkiksi Kirjaston riippuvuus, Android Studio näyttää luettelon kirjastoista, joista voit valita.

Kun olet lisännyt riippuvuutesi, tarkista moduulitason build.gradle-tiedosto. Se olisi pitänyt päivittää automaattisesti uuden riippuvuuden sisällyttämiseksi.

Lähde


drewan50 07/01/2016.

Jos tarvitset kirjastoprojektin resursseja (kuten ABS: ssä), varmista, että lisäät kirjastoprojektin / moduulin "Moduulin riippuvuuteen" kirjaston sijaan.

1 comments
1 cosimo 04/01/2014
Joo! Voit voittaa internetin! Kiitos! Olen tuhlannut parin tunnin elämästäni, koska en tiennyt sitä.

pandabear 07/01/2016.

Näin se toimii minulle Android Studio 1.5: ssa

Projektissa, johon haluat lisätä ulkoisen kirjaston hankkeen, siirry valikkoon File -> New -> * Tuo uusi moduuli **, siirry kirjastohankkeeseen, jonka haluat lisätä projektiin, valitse lisätä kirjasto-moduuli projektisi. Saat settings.gradle projekteihisi, sovelluksen, kirjaston mukaan, jotain tällaista:

include ':app', ':library' 

Lisää build.gradle(Module :app) riippuvuudet-osiossa:

Compile project(':library')

Rakenna projekti uudelleen ja se on se.

* Voit lisätä niin monta kirjastoa (moduuleja) kuin haluat. Siinä tapauksessa asetuksissa.gradle sinulla on:

include ':app', ':lib1', ':lib2', ... 

Ja build.gradleissa sinun täytyy olla:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
} 

Adiii 07/01/2016.

Voit tehdä tämän helposti. Siirry valikkoon File -> New -> Import Module... :

Anna kuvan kuvaus tässä

Selaa hakemistoa, joka sisältää moduulin. Napsauta Valmis:

Anna kuvan kuvaus tässä

Siirry Project Structure ja lisää Module Dependency :

Anna kuvan kuvaus tässä

Huomaa: Jos saat SDK-virheen, päivitä se.


Dalmas 06/27/2016.

Vastauksen lisääminen: Jos IDE ei näytä virheitä, mutta kun yrität kääntää, saat jotain:

No resource found that matches the given name 'Theme.Sherlock.Light' 

Kirjastoprojekti on todennäköisesti koottu sovellushankkeeksi. Voit muuttaa tätä siirtymällä seuraavaan osoitteeseen:

Valikkokansio -> Project structure -> Facets -> [Kirjaston nimi] -> Tarkista "Kirjasto-moduuli".


crossle 07/01/2016.
  1. Paina F4 näyttääksesi Project Structure , napsauta kirjastoja tai Global-kirjastoja ja lisää JAR-tiedosto painamalla + .
  2. Napsauta Moduulit, mitä haluat lisätä jar, valitse Dependencies välilehti, napsauta + ja lisää Library.

Shakti Malik 07/01/2016.

Kirjaston riippuvuuksien muokkaaminen käyttöliittymän kautta ei ole suositeltavaa, koska se ei kirjoita näitä muutoksia build.gradle-tiedostoon. Joten projekti ei saa rakentaa komentoriviltä. Meidän pitäisi muokata build.gradle-tiedostoa suoraan seuraavasti.

Esimerkiksi seuraava rakenne:

Minun projektini/

  • sovellus/
  • kirjastot /
    • lib1 /
    • lib2 /

Voimme tunnistaa kolme hanketta. Gradle viittaa niihin seuraavilla nimillä:

  1. :sovellus
  2. : Kirjastot: lib1
  3. : Kirjastot: lib2

App: n hanke riippuu todennäköisesti kirjastoista, ja tämä tehdään ilmoittamalla seuraavat riippuvuudet:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
Todella? Strange, heillä on koko GUI ja silti se ei ole suositeltavaa. Kuinka niin?
Shakti Malik 05/23/2013
Koska muokkaaminen graafisen käyttöliittymän kautta ei kirjoita näitä muutoksia build.gradle-tiedostoosi. GUI-muokkaus tallentaa vain muutokset IntelliJ: n omissa projektitiedoissa. Tämä on vika tällä hetkellä, joka vahvistetaan tulevissa julkaisuissa. Voit viitata tähän vastaukseen Google Android-Studio Team Leadin stackoverflow.com/questions/16678447/...

Erwan 05/17/2013.

Kun olet tuonut ABS-moduulin (tiedostosta> Projektisuunnittelu) ja varmistamalla, että sillä on riippuvuussuhteita Android 2.2 ja Support Library v4, saisin silti seuraavan virheen @Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar' 

Lisäsin äskettäin tuodun moduulin riippuvuudeksi tärkeimmistä sovellusmoduulistani ja korjasin ongelman.

3 comments
christiaanderidder 05/19/2013
Olen yrittänyt kaikki vaiheet mukaan lukien lisäämällä moduuli riippuvuudeksi, mutta minulla on edelleen Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. . Näyttää siltä, ​​että pääprojekti ei näe kirjastoprojektin (ABS) resursseja. IDE tunnistaa kuitenkin viittaukset luokkiin ja resursseihin. kuvakaappaus
Calvin Chan 06/04/2013
Sama täällä. Kuka voi ratkaista tämän?
Dmitriy Tarasov 06/06/2013
Siirrän IDEA 13: een 12: sta ja olen myös virhe. Vain jälleen tuonti kaikille riippuvuuksistanne auttaa. Poista kaikki moduulit käsin, poista niihin liittyvät * .iml -tiedostot ja tuo liigat uudelleen

azh 02/09/2014.

Tämän ongelman ratkaisemiseksi sinun tarvitsee vain lisätä abs-resurssiväylä projektirakennustiedostoon, kuten alla:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
} 

Joten, minä käännyn uudelleen ilman virheitä.


Hemant 07/01/2016.

First Way Tämä toimii MacBookissa.

Valitse ensin builder.gradle-tiedosto tietyltä näytöltä:

Anna kuvan kuvaus tässä

Lisää riippuvuuksia, kuten valitulla ruudulla:

Anna kuvan kuvaus tässä

Valitse synkronointiprojekti.

Jos saat virheilmoituksen kuten Project with path: signature-pad ei löytynyt projektista: app '", käytä sitten toista tapaa:

Valitse valikko File -> New -> Import Module... :

Anna kuvan kuvaus tässä

Kun olet napsauttanut Import Module ,

Anna kuvan kuvaus tässä

anna kirjaston polku kuten MacBook-poluksi:

Anna kuvan kuvaus tässä

Napsauta Finish . Nyt kirjastosi lisätään.


Braunster 02/09/2014.

Jos sinulla on Android Studio .0.4.0, voit luoda uuden kansion rakennustyylillesi, YourApp/libraries . Kopioi JAR-tiedosto. Siellä, napsauta hiiren kakkospainikkeella sitä ja "Lisää kirjastoina". Nyt sinulla on ponnahdusikkuna. Valitse vain hakemisto ja paina OK, ja se on se.


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 on Dropbox-linkki JAR-tiedoston ja kirjastoprojektin lisäämisestä uusimpaan Android Studio 1.0.1 -versioon.

Katso ohjeet kuvakaappauksista. Se on erittäin helppoa uudelle käyttäjälle.


passsy 05/23/2017.

Löysin ratkaisun. Se on niin yksinkertaista. Seuraa froger_mcs ohjeita .

Varmista, että teet src-kansion Source-kansion Project Structure -> Modules (Lähteet) -osiossa.

Anna kuvan kuvaus tässä


voghDev 05/23/2017.

Esimerkki toisen kirjaston (PullToRefresh) lisäämisestä onnistuneesti. Suorittaa myös ABS libproject.

Tämä SO kysymys

Tämä viesti


Mohammad 05/23/2017.

Periaatteessa voit sisällyttää JAR-tiedostojasi kolmella eri tavalla. Viimeinen on etätietokirjasto, joka käyttää https://bintray.com/ jcenter online -hakemistoa. Mutta jos teet sen jollakin kahdella muulla tavoin, JAR-tiedosto sisällytetään fyysisesti projektiin. Lue tämä linkki https://stackoverflow.com/a/35369267/5475941 saadaksesi lisätietoja. Tässä viestissä kerroin, miten tuodaan JAR-tiedostosi Android-studiossa ja selitin kaikkia mahdollisia tapoja.

Yhteenvetona, jos näin on (paikallinen osoite), ne ladataan ja nämä JAR-tiedostot ovat fyysisesti projektissa:

kirjoita kuvan kuvaus tähän

Mutta jos se on tällainen Internet-osoite, ne ovat kauko-kirjastoja (bintray.com jcenter osa) ja niitä käytetään etänä:

kirjoita kuvan kuvaus tähän

Toivottavasti se auttaa.


Jinu 06/27/2016.

Avaa rakenteen gradelimoduulin sovellustiedosto ja lisää riippuvuus. Jos lataat kirjaston, tuoda ja rakentaa vain asteile.

Muussa tapauksessa lisäät arkistot sivureittausmoduulisovellukseen:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
} 

Ensimmäiset arkistot lataavat kirjaston puolestasi.

Ja koota ladattu kirjasto:

compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    } 

Jos luot kirjastoa, sinun tarvitsee tuoda projekti tuontimoduuliksi.


Dharmendra Pratap 06/27/2016.

Siirry Android Studio -sovellukseen sisäiseen sovelluskansioon ja avaa build.gradle-tiedosto. Tässä näet riippuvuudet {}. Sisällä voit lisätä kirjastohankkeen ja synkronoida. Nyt kirjaston synkronoinnin jälkeen se lisätään projektiin, ja voit käyttää sen toimintoja ja luokkia projektissa.


MAMASSI 07/01/2016.

Android Studio:

Anna kuvan kuvaus tässä

Napsauta Build.gradle (module: app) .

Ja lisää

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
} 

ja hakemistosi "app", luo hakemisto "libs". Lisää tiedosto yourfile.jar:

Anna kuvan kuvaus tässä

Lopuksi koota Gradle Files:

Anna kuvan kuvaus tässä

1 comments
Badre 03/23/2016
joku kunnioittaa: D

Pankaj kumar 07/01/2016.

Tuo Android-kirjastoprojekti yksinkertaiseksi moduuliksi ja Build.gradle .

Käytä lisäosaa: 'com.android.library'

Tämän jälkeen toimi seuraavasti:

  1. Napsauta hiiren kakkospainikkeella Moduulia ja valitse Avaa moduulin asetukset
  2. Valitse riippuvuudet, klikkaa + , valitse kirjaston riippuvuudet ja lisää aikaisemmin tuodut moduulit.

jobbert 07/01/2016.

Minulla oli eri syy ongelmaan niin ihmisille:

repositories {
    mavenCentral()
} 

muuta mavenCentral () jcenter () ja lisää

allprojects {
    repositories {
        jcenter()
    }
} 

Olen myös kohdannut saman ongelman, niin tein seuraavia asioita.

  1. Tuon kirjastoprojektin AndroidStudio IDE -ohjelmaan moduulina valikosta File -> Tuo moduulin valikot

  2. Sitten menin pääasialliseen moduuliin, jossa haluan kirjastoprojektin riippuvana hankkeena

  3. Napsauta hiiren kakkospainikkeella päämoduulia (minun tapauksessani sen nimi on app ) -> avaa moduuliasetus -> siirry riippuvuudet välilehdelle - napsauta + painiketta (saat sen ikkunan oikealta puolelta) -> klikkaa moduuliriippuvuutta - > valitse kirjastosi projekti luettelosta

Tee muutokset ja napsauta OK- painiketta.

Se toimi minulle. Toivon, että se auttaa myös muita.


monn3t 07/01/2016.

Todellakin, kun versiot ovat muuttumassa, se muuttaa käyttöliittymää ja valikossa käytettävissä olevia vaihtoehtoja. Lukemalla useimmat vastaukset näihin kysymyksiin minun piti arvata, mitä toimisi Android Studio 1.1.0 .

  1. Valitse hiirellä projekti pääteollesi (tässä se näyttää sovelluksen nimen).

  2. Napsauta hiiren kakkospainikkeella ja valitse valikon vaihtoehdot New, Folder, Assets Folder .

  3. Kun olet luonut varakansin, liitä tai kopioi siihen, mikä tahansa JAR-tiedosto, jota tarvitset kirjastolle.

  4. Android Studio -ohjelman päävalikosta (näytön yläreunasta) valitse File -> Project Structure .

  5. Valitse sitten projektin nimi ja siirry Dependencies välilehteen.

  6. Napsauta valintamerkkien vasemmassa alakulmassa olevaa plusmerkkiä ( + ) ja valitse tiedoston riippuvuus.

  7. Lopuksi avaa äskettäin luotu omaisuuskansio, valitse kopioitut JAR-tiedostot ja valitse sitten sovellus ja OK .

Puhdista ja uudista projektisi.

2 comments
1 Rajnish Mishra 03/23/2015
kopioiden kopiointi varoihin ei ole hyvä idea, se lisää tarpeettomasti apk-kokoa
monn3t 04/12/2015
Kiitos neuvoista @RajnishMishra. Epäilen sitä, mutta mitä ehdotat sen sijaan?

Related questions

Hot questions

Language

Popular Tags