Come posso aggiungere un progetto di libreria ad Android Studio?

Alexander Kulyakhtin 08/22/2017. 29 answers, 544.786 views
android android actionbarsherlock android-library android-studio android-studio

Come aggiungo un progetto di libreria (come Sherlock ABS) ad Android Studio ?

(Non per il vecchio pacchetto ADT basato su Eclipse, ma per il nuovo Android Studio .)

4 Comments
25 Daniel Smith 05/21/2013
sì, capire questo era molto più confuso di quanto avrebbe dovuto essere ... non come se fosse meglio in Eclipse.
3 user1785900 01/19/2014
Il video di YouTube How to Add Libraries to Android Studio spiega il processo.
1 craned 10/16/2014
Se stai utilizzando Gradle , consulta questa risposta StackOverflow .
1 Simon 12/20/2014
Ecco un video che ho trovato molto utile: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

Da quando è stato rilasciato Android Studio 1.0 (e molte versioni tra la versione 1.0 e una delle prime volte rispetto alla mia precedente risposta) alcune cose sono cambiate.

La mia descrizione si concentra sull'aggiunta manuale del progetto di libreria esterna tramite i file Gradle (per una migliore comprensione del processo). Se vuoi aggiungere una libreria tramite Android Studio creator, controlla la risposta qui sotto con una guida visiva (ci sono alcune differenze tra Android Studio 1.0 e quelli da screenshot, ma il processo è molto simile).

Prima di iniziare a aggiungere una libreria al tuo progetto a mano, considera l'aggiunta della dipendenza esterna. Non rovinerà la struttura del tuo progetto. Quasi tutte le librerie Android conosciute sono disponibili in un repository Maven e la sua installazione richiede solo una riga di codice nel file app/build.gradle :

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

Adding the library

Ecco l'intero processo di aggiunta di una libreria Android esterna al nostro progetto:

  1. Crea un nuovo progetto tramite creatore di Android Studio. L'ho chiamato HelloWorld .
  2. Ecco la struttura del progetto originale creata da Android Studio:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. Nella directory root ( HelloWorld/ ), crea una nuova cartella: /libs in cui posizioneremo le nostre librerie esterne (questo passaggio non è richiesto - solo per mantenere una struttura di progetto più pulita).
  2. Incolla la tua libreria nella cartella /libs appena creata. In questo esempio ho usato la libreria PagerSlidingTabStrip (basta scaricare ZIP da GitHub, rinominare la directory della libreria in "PagerSlidingTabStrip" e copiarla). Ecco la nuova struttura del nostro progetto:
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. Modifica settings.gradle aggiungendo la tua libreria da include . Se usi un percorso personalizzato come quello che ho fatto, devi anche definire la directory del progetto per la nostra libreria. Un intero settings.gradle dovrebbe apparire come di seguito:

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

5.1 Se si verifica l'errore "Configurazione predefinita", provare questo invece del passaggio 5,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. In app/build.gradle aggiungi il nostro progetto di libreria come dipendenza:

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

6.1. Se hai seguito il passaggio 5.1, segui questo invece di 6,

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

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. Se il progetto della tua biblioteca non ha il file build.gradle devi crearlo manualmente. Ecco un esempio di questo file:

    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. Inoltre puoi creare una configurazione globale per il tuo progetto che conterrà versioni SDK e versione di strumenti di compilazione per ogni modulo per mantenere la coerenza. Basta modificare il file gradle.properties e aggiungere linee:

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

    Ora puoi usarlo nei tuoi file build.gradle (nei moduli app e librerie) come di seguito:

    //...
    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. È tutto. Basta fare clic, sincronizzare il progetto con l'icona Gradle ' sincronizzare con Gradle . La tua biblioteca dovrebbe essere disponibile nel tuo progetto.

Google I / O 2013 - Il nuovo Android SDK Build System è un'ottima presentazione sulla creazione di app Android con Gradle Build System: come ha detto Xavier Ducrohet:

Android Studio è interamente dedicato all'editing, al debugging e al profiling. Non si tratta più di costruire.

All'inizio potrebbe essere un po 'di confusione (specialmente per quelli che lavorano con Eclipse e non hanno mai visto la formica - come me;)), ma alla fine Gradle ci offre alcune grandi opportunità e vale la pena di imparare questo sistema di costruzione.

5 comments
6 victor n. 05/24/2013
hey, hai perfettamente spiegato il vero problema. votando la tua risposta in modo che altre persone possano vederla. una cosa minore che non ha funzionato da parte mia è fare riferimento alla libreria di supporto nel build.gradle della dipendenza. come risulta ': Project / libs ...' non ha funzionato per qualche motivo. Ho dovuto eliminare l'identificazione del progetto. così 'libs / ...'. e ha compilato bene. una nota è che questi due modi di fare riferimento a percorsi o progetti sono confusi. Spero che uno schema semplice e unificato venga in futuro. non c'è motivo per cui la soluzione originale non funzionerebbe.
9 Akbar ibrahim 05/24/2013
+1. Stavo lottando con questo per molto tempo. Come ha detto il victor n , il riferimento al vaso di supporto del progetto principale dal modulo actionbarsherlock non funziona. Ho dovuto fare quanto segue per farlo funzionare ... (1) Rimuovere i file di compilazione ('libs / android-support-v4.jar') dal build.gradle del progetto. Il modulo principale dovrebbe avere solo un progetto compilato (": libraries: actionbarsherlock") . (2) Aggiungi i file di compilazione ('libs / android-support-v4.jar') invece dei file di compilazione (': HelloWorld / libs / android-support-v4.jar') in build.gradle di actionbarsherlock.
8 alicanbatur 11/07/2013
Perché non ho la sezione "Importa modulo", all'opzione dove ci dirigi? Sto utilizzando Android Studio 0.3.1
5 amalBit 02/08/2014
L'opzione di importazione del modulo è mancante !!
147 Kyle Gobel 10/19/2014
Perché questo è così dannatamente confuso ?!

Sam Rad 07/01/2016.

Ecco la guida visiva:

Update per Android Studio 0.8.2:

In Android Studio 0.8.2, vai su Project Structure -> in Modules premi il pulsante più e seleziona Import Existing Project e importa actionbarsherlock . Quindi sincronizza i tuoi file Gradle.

Se affronti l'errore

Errore: la revisione degli strumenti di sviluppo SDK (xx.xx) è troppo bassa. Il numero minimo richiesto è yy.yy

basta aprire il file build.gradle nella directory actionbarsherlock e aggiornare buildToolsVersion a quello suggerito.

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

Android Studio 0.8.2


Menu File -> Project Structure... :

Primo

Module -> Import Module

Secondo

Dopo aver importato il modulo della libreria, seleziona your modulo del progetto e aggiungi la dipendenza:

Terzo

E quindi seleziona il imported module :

Via

5 comments
29 amalBit 02/08/2014
Opzione di importazione del modulo non disponibile in Android Studio4.3
3 toobsco42 08/25/2014
La chiave per far funzionare questo lavoro e risolvere gli errori del pacchetto non trovato era il passo Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
Questo copierà il modulo della libreria nel tuo progetto, che non è quello che vuoi se vuoi un codice comune condiviso tra più progetti
CCJ 11/13/2015
@amalBit sono ... sei del futuro? Ma seriamente, hanno bisogno di renderlo così semplice come lo era in Eclipse ADT; chi vuole colpire un repo di terze parti e compilare (potenzialmente) codice arbitrario in ogni build? Ciò compromette seriamente i protocolli QA e di blocco del codice
amalBit 11/17/2015
È stato molto tempo fa durante i beta giorni di Android studio 0.4.3. Per quanto riguarda il repository di accessione di terze parti, id dice, evita di usare +. Basta specificare la versione che vuoi. Se non ti fidi ancora abbastanza, puoi creare un jar (o clone) di qualsiasi repository e usarlo.

Blackbelt 07/01/2016.

Utilizzare il menu File -> Project Structure -> Modules .

Ho iniziato a usarlo oggi. È un po 'diverso.

Per Sherlock, forse si desidera eliminare la directory di test o aggiungere il file junit.jar al classpath.

Per importare la libreria usando gradle, puoi aggiungerla alla sezione delle dependencies di build.gradle (quella del modulo).

Per esempio

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 sta cambiando.

Esiste una sezione denominata "Impostazioni modulo aperto" se fai clic destro su una cartella del modulo nella sezione del progetto di Android Studio (sto usando la versione 0.2.10).

5 comments
1 Alexander Kulyakhtin 05/16/2013
Hmm continua a dire android-apt-compiler: styles.xml: 5: errore: Errore nel recupero del genitore per l'oggetto: Nessuna risorsa trovata che corrisponda al nome specificato 'Theme.Sherlock.Light.DarkActionBar'.
Blackbelt 05/16/2013
Sotto il modulo Sherlock -> Dependecies ho Android 4.2.2 e il supporto Library v4
Blackbelt 05/16/2013
@ ρяσѕρєяK accanto al pulsante Esegui, c'è un'etichetta con Android. Se fai clic qui troverai Modifica configurazione. Premere e sotto Target Device fare clic su "Show Chooser Dialg"
7 fish 05/16/2013
Ciao, ho lo stesso problema di Alex ("Gradle: Errore nel recupero del genitore per l'oggetto: Nessuna risorsa trovata che corrisponde al nome specificato 'Theme.Sherlock.Light'.") - la dipendenza Java sembra essere stata risolta correttamente, causa il L'IDE non incolpa la mia SherlockActivity, ma per qualche motivo Gradle non sembra esaminare le risorse di ABS. Qualche idea?
4 Konrad Morawski 09/15/2013
Su Android Studio 0.2.8 non esiste una sezione Modules nella finestra Project Structure del Project Structure .

Jonathan Lin 10/14/2013.

Prenderò in considerazione le dipendenze, le librerie Android e la configurazione multi-progetto . Per favore prenditi qualche minuto per farlo.

In particolare, nel caso di un progetto di libreria non jar, leggi il seguente snippet dalla sorgente precedente:

I progetti Gradle possono anche dipendere da altri progetti gradle usando una configurazione multi-progetto. Una configurazione multi-progetto di solito funziona avendo tutti i progetti come sottocartelle di un determinato progetto root.

Ad esempio, dato alla seguente struttura:

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

Possiamo identificare 3 progetti. Gradle farà riferimento a loro con il seguente nome:

:app
:libraries:lib1
:libraries:lib2 

Ogni progetto avrà il proprio build.gradle che dichiara come si costruisce. Inoltre, ci sarà un file chiamato settings.gradle alla radice che dichiara i progetti. Questo dà la seguente struttura:

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

Il contenuto di settings.gradle è molto semplice:

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

Questo definisce quale cartella è in realtà un progetto Gradle.

Il progetto: app è probabile che dipenda dalle librerie e ciò viene fatto dichiarando le seguenti dipendenze:

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

Tieni presente che l'utilizzo della GUI di Android Studio è stato scarso o nullo.

Attualmente sto usando git submodules per collegare la libreria nidificata al repository git della libreria reale per evitare un pasticcio di dipendenza.

4 comments
Jonathan Lin 10/14/2013
Gentilmente upvote se hai trovato questo utile, in modo che gli altri possano evitare il dolore e andare più veloce.
RichieHH 03/24/2014
Molto utile e, soprattutto, non giocare ai capricci della giornata.
1 dcunited001 04/20/2014
grazie mille per aver incluso l'unica risposta che ha senso. ogni altra risposta è obsoleta e non funziona. non ho nemmeno provato in CS alla Virginia Tech perché i primi due anni stavano imparando a fare clic su Eclipse in giro. non ha senso, ma vede il risultato gradle dei clic casuali in un IDE.
velis 06/01/2015
Grazie per il suggerimento sui sottomodelli git. Stavo usando lo svincolo prima, ma ora sono passato agli esterni SVN. Funziona come un fascino.

René Michel 07/01/2016.

Ho appena trovato un modo più semplice (piuttosto che scrivere direttamente nei file .gradle).

Questo è per Android Studio 1.1.0.

  1. Menu File -> New Module... :

    Importa progetto esistente

    Clicca su "Importa progetto esistente".

  2. Seleziona la libreria desiderata e il modulo desiderato.

  3. Fare clic su Fine. Android Studio importerà la libreria nel tuo progetto. Sincronizzerà i file gradle.

  4. Aggiungi il modulo importato alle dipendenze del tuo progetto.

    Fare clic con il tasto destro sulla cartella dell'app -> Apri impostazioni modulo -> vai alla scheda dipendenze -> fare clic sul pulsante '+' -> fare clic su Dipendenza modulo.

    Il modulo della libreria verrà quindi aggiunto alle dipendenze del progetto.

    Aggiungi modulo libreria

  5. ???

  6. Profitto


Vilen 07/01/2016.

Il modo più semplice in cui ho trovato di includere un progetto di libreria esterna è (ad esempio includere una libreria di Facebook che è memorizzata in una directory nella cartella delle dipendenze):

  1. In settings.gradle add

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. Nella sezione delle dipendenze build.gradle, aggiungi

    compile project ('facebook') 

Tutto ciò che resta da fare è sincronizzare il progetto con i file gradle.

4 comments
Rajnish Mishra 03/23/2015
Ciao Vilen, che cosa è settingsDir qui
Vilen 04/02/2015
Ciao Rajnish. Dalla documentazione: settingsDir Restituisce la directory delle impostazioni della build. La directory delle impostazioni è la directory contenente il file delle impostazioni. Restituisce: la directory delle impostazioni. Non restituisce mai null.
Rajnish Mishra 04/03/2015
I due punti prima / dipendenze sono più importanti da tenere in considerazione La tua risposta mi aiuta molto .. Grazie
Solata 11/18/2015
NOTE: per la valutazione delle stringhe in gradle è necessario utilizzare la virgoletta doppia (")." Salva il giorno "per me

Eugene Bosikov 07/01/2016.

Un modo semplice per aggiungere un file JAR come libreria al tuo progetto Android Studio:

a) Copia i tuoi file * .jar

b) incollare nella directory libs sotto i tuoi progetti:

Inserisci qui la descrizione dell'immagine

c) Aggiungi a build.gradle:

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

b) Se il tuo progetto dall'esempio com.example.MYProject e le librerie com.example.ScanAPI ha lo stesso spazio dei nomi com.example , Android Studio controllerà la tua build e creerà tutte le modifiche necessarie nel tuo progetto. Successivamente è possibile rivedere queste impostazioni nel menu File -> Project Structure .

c) Se il tuo progetto e le tue librerie hanno uno spazio dei nomi diverso, devi fare clic con il tasto destro del mouse sulla libreria e selezionare l'opzione "Aggiungi come libreria" e selezionare il tipo di cui hai bisogno.

Ricorda che l'opzione "Struttura del progetto" non sta apportando alcuna modifica automatica in "build.gradle" nella versione corrente di Android Studio (0.2.3). Forse questa funzione sarà disponibile nelle prossime versioni.


pathe.kiran 06/27/2016.

Opzione 1: trascinare i file nella directory libs / del progetto

Il relativo file build.gradle verrà quindi aggiornato automaticamente.

Opzione 2: modifica manuale del file build.gradle

Apri il tuo file build.gradle e aggiungi una nuova regola di build alla chiusura delle dipendenze. Ad esempio, se si desidera aggiungere Google Play Services, la sezione delle dipendenze del progetto sarà simile a questa:

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

Opzione 3: utilizza l'interfaccia utente di Android Studio

Nel pannello Progetto, Control + fare clic sul modulo a cui si desidera aggiungere la dipendenza e selezionare Apri impostazioni modulo.

Inserisci qui la descrizione dell'immagine

Seleziona la scheda Dipendenze, seguita dal pulsante + nell'angolo in basso a sinistra. Puoi scegliere dal seguente elenco di opzioni:

  • Dipendenza dalla biblioteca
  • Dipendenza da file
  • Dipendenza del modulo

È quindi possibile inserire ulteriori informazioni sulla dipendenza che si desidera aggiungere al progetto. Ad esempio, se si sceglie la dipendenza dalla libreria, Android Studio visualizza un elenco di librerie tra cui scegliere.

Dopo aver aggiunto la tua dipendenza, controlla il file build.gradle a livello di modulo. Dovrebbe essere automaticamente aggiornato per includere la nuova dipendenza.

fonte


drewan50 07/01/2016.

Se hai bisogno di accedere alle risorse di un progetto di libreria (come fai con ABS), assicurati di aggiungere il progetto / modulo della biblioteca come "Dipendenza del modulo" invece di una "Libreria".

1 comments
1 cosimo 04/01/2014
Sì! Lei signore vince Internet! Grazie! Ho appena perso un paio d'ore della mia vita perché non lo sapevo.

pandabear 07/01/2016.

Ecco come funziona per me in Android Studio 1.5

Nel progetto in cui si desidera aggiungere un progetto di libreria esterna, andare al menu File -> New -> * Importa nuovo modulo **, navigare al progetto della libreria che si desidera aggiungere al progetto, selezionare per aggiungere il modulo 'libreria' in il tuo progetto. Otterrai settings.gradle nei tuoi progetti, accanto a app, library inclusa, qualcosa del genere:

include ':app', ':library' 

Aggiungi in build.gradle(Module :app) nella sezione delle dipendenze:

Compile project(':library')

Ricostruisci il progetto, e il gioco è fatto.

* Puoi aggiungere tutte le librerie (moduli) che vuoi. In tal caso in settings.gradle avrai:

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

E in build.gradle, avrai bisogno di:

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

    // Some other dependencies...

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

Adiii 07/01/2016.

Puoi farlo facilmente. Vai al menu File -> New -> Import Module... :

Inserisci qui la descrizione dell'immagine

Cerca la directory che contiene il modulo. Fai clic su Fine:

Inserisci qui la descrizione dell'immagine

Vai a Project Structure e aggiungi Module Dependency :

Inserisci qui la descrizione dell'immagine

Nota: se ricevi un errore SDK, aggiornalo.


Dalmas 06/27/2016.

Per aggiungere alla risposta: Se l'IDE non mostra alcun errore, ma quando si tenta di compilare, si ottiene qualcosa come:

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

Il tuo progetto di libreria è probabilmente compilato come un progetto di applicazione. Per cambiare questo, vai a:

Menu File -> Project structure -> Facets -> [Nome della libreria] -> Controllare "Modulo libreria".


crossle 07/01/2016.
  1. Premere F4 per mostrare la Project Structure , fare clic sulle librerie o sulle librerie globali e fare clic su + per aggiungere il file JAR.
  2. Fare clic su Moduli su ciò che si desidera aggiungere jar, selezionare la scheda Dependencies , fare clic su + e aggiungere Libreria.

Shakti Malik 07/01/2016.

La modifica delle dipendenze della libreria tramite la GUI non è consigliabile in quanto non scrive tali modifiche nel file build.gradle. Quindi il tuo progetto non costruirà dalla riga di comando. Dovremmo modificare il file build.gradle direttamente come segue.

Ad esempio, dato alla seguente struttura:

Il mio progetto/

  • app /
  • librerie /
    • lib1 /
    • lib2 /

Possiamo identificare tre progetti. Gradle farà riferimento a loro con i seguenti nomi:

  1. : app
  2. : Biblioteche: lib1
  3. : Biblioteche: lib2

Il progetto: app è probabile che dipenda dalle librerie e ciò viene fatto dichiarando le seguenti dipendenze:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
Veramente? Strano, hanno l'intera GUI e tuttavia non è consigliabile. Come mai?
Shakti Malik 05/23/2013
Poiché la modifica tramite GUI non scrive tali modifiche nel file build.gradle. La modifica della GUI salva solo le modifiche nei dati di progetto di IntelliJ. Questo è un bug al momento che verrà corretto nelle versioni future. Puoi consultare questa risposta dal team di Google Android Studio Lead stackoverflow.com/questions/16678447/...

Erwan 05/17/2013.

Dopo aver importato il modulo ABS (da File> Struttura del progetto) e assicurandosi che abbia Android 2.2 e Libreria di supporto v4 come dipendenze, ricevevo comunque il seguente errore mentre tu avevi @Alex

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

Ho aggiunto il modulo appena importato come dipendenza al mio modulo dell'app principale e ho risolto il problema.

3 comments
christiaanderidder 05/19/2013
Ho provato tutti i passaggi includendo l'aggiunta del modulo come dipendenza, ma ho ancora Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. . Sembra che il mio progetto principale non veda le risorse del progetto della biblioteca (ABS). L'IDE tuttavia riconosce i riferimenti a classi e risorse. Immagine dello schermo
Calvin Chan 06/04/2013
Anch'io. Chi può risolvere questo?
Dmitriy Tarasov 06/06/2013
Sto migrando a 12 IDEA da 12 e ho anche questo errore. Aiuterà solo la reimportazione di tutte le mie dipendenze. Rimuovere manualmente tutti i moduli, rimuovere i relativi file * .iml e reimportare le librerie

azh 02/09/2014.

Per risolvere questo problema, è sufficiente aggiungere il percorso della risorsa abs al file di costruzione del progetto, proprio come di seguito:

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

Quindi, ricompongo di nuovo senza errori.


Hemant 07/01/2016.

First Way Funziona per MacBook.

Prima seleziona il tuo file builder.gradle come schermata data:

Inserisci qui la descrizione dell'immagine

Aggiungi dipendenze come nella schermata selezionata:

Inserisci qui la descrizione dell'immagine

Seleziona il progetto di sincronizzazione.

Se si verifica un errore come "Progetto con percorso": firma-pad "non è stato trovato nel progetto": app "", quindi utilizzare il secondo modo:

Selezionare il menu File -> New -> Import Module... :

Inserisci qui la descrizione dell'immagine

Dopo aver fatto clic su Import Module ,

Inserisci qui la descrizione dell'immagine

dare il percorso della libreria come il mio percorso MacBook:

Inserisci qui la descrizione dell'immagine

Clicca su Finish . Ora la tua libreria è stata aggiunta.


Braunster 02/09/2014.

Se hai Android Studio .0.4.0, puoi creare una nuova cartella nel tuo percorso di costruzione, YourApp/libraries . Copia il file JAR. Lì, fai clic destro su di esso e "Aggiungi come libreria". Ora hai un popup. Basta selezionare la directory e premere OK, e il gioco è fatto.


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3hpmpmf7/Android%20studio%20_doc.doc?dl=0 è il link Dropbox su come aggiungere un file JAR e un progetto di libreria nell'ultima versione di Android Studio 1.0.1.

Si prega di consultare la documentazione con screenshot. È molto facile per un nuovo utente.


passsy 05/23/2017.

Ho trovato la soluzione. È così semplice Segui le istruzioni di froger_mcs .

Assicurati di trasformare la cartella src in una cartella di origine in Struttura del progetto -> Moduli (Sorgenti).

Inserisci qui la descrizione dell'immagine


voghDev 05/23/2017.

Un esempio di aggiunta riuscita di un'altra libreria (PullToRefresh). Funziona anche con libproject di ABS.

Questa domanda SO

Questo post


Mohammad 05/23/2017.

Fondamentalmente, puoi includere i tuoi file JAR in tre modi diversi. L'ultimo è una libreria remota che utilizza il repository online https://bintray.com/jcenter . Ma, se lo fai in uno degli altri due modi, il file JAR sarà incluso fisicamente nel tuo progetto. Si prega di leggere questo link https://stackoverflow.com/a/35369267/5475941 per ulteriori informazioni. In questo post ho spiegato come importare il tuo file JAR in Android Studio e ho spiegato tutti i modi possibili.

In breve, se è come questo (indirizzo locale), vengono scaricati e questi file JAR sono fisicamente nel progetto:

inserisci la descrizione dell'immagine qui

Ma, se si tratta di un indirizzo internet come questo, sono librerie remote (bintray.com jcenter part) e verranno utilizzate in remoto:

inserisci la descrizione dell'immagine qui

Spero possa essere d'aiuto.


Jinu 06/27/2016.

Apri il file di app del modulo build gradle e aggiungi la tua dipendenza. Se scarichi la libreria, importa e costruisci come gradle.

Altrimenti aggiungi repository nell'app del modulo gradle laterale:

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

I primi repository scaricheranno la libreria per te.

E compila la libreria scaricata:

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

Se si sta creando una libreria, è sufficiente importare il progetto come nuovo modulo di importazione.


Dharmendra Pratap 06/27/2016.

In Android Studio, vai alla cartella interna dell'app e apri il file build.gradle. Qui vedrai le dipendenze {}. Al suo interno è possibile aggiungere il progetto della libreria e sincronizzarlo. Ora, dopo aver sincronizzato la libreria, questa verrà aggiunta al tuo progetto e potrai utilizzare le sue funzioni e le sue classi nel tuo progetto.


MAMASSI 07/01/2016.

Per Android Studio:

Inserisci qui la descrizione dell'immagine

Clicca su Build.gradle (module: app) .

E aggiungi per

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

e nella tua directory "app", crea una directory, "libs". Aggiungi il file yourfile.jar:

Inserisci qui la descrizione dell'immagine

Infine, compila i file Gradle:

Inserisci qui la descrizione dell'immagine

1 comments
Badre 03/23/2016
rispetto ragazzo: D

Pankaj kumar 07/01/2016.

Importa semplicemente il progetto della libreria Android come modulo e in Build.gradle .

Applica plug-in: "com.android.library"

Successivamente, procedi nel seguente modo:

  1. Fare clic con il tasto destro su Module e selezionare open Module settings
  2. Seleziona le dipendenze, fai clic su + , seleziona le dipendenze della libreria e aggiungi il modulo precedentemente importato.

jobbert 07/01/2016.

Ho avuto una causa diversa del problema, quindi per le persone:

repositories {
    mavenCentral()
} 

cambia mavenCentral () in jcenter () e aggiungi

allprojects {
    repositories {
        jcenter()
    }
} 

Ho anche riscontrato lo stesso problema, quindi ho seguito le cose.

  1. Importa il progetto di libreria nel mio IDE AndroidStudio come modulo utilizzando il menu File -> Importa menu modulo

  2. Poi sono andato al mio modulo principale in cui voglio che il progetto della biblioteca sia un progetto dipendente

  3. Fare clic con il tasto destro sul modulo principale (nel mio caso il suo nome è app ) -> aprire l'impostazione del modulo -> andare nella scheda dipendenze -> fare clic sul pulsante + (lo si otterrà sul lato destro della finestra) -> fare clic sulla dipendenza del modulo - > seleziona il tuo progetto di biblioteca dalla lista

Applica le modifiche e fai clic sul pulsante OK .

Ha funzionato per me. Spero che aiuti anche gli altri.


monn3t 07/01/2016.

Infatti, poiché le versioni stanno cambiando, cambia anche l'interfaccia utente e le opzioni disponibili nel menu. Dopo aver letto la maggior parte delle risposte a queste domande, ho dovuto indovinare cosa avrebbe funzionato per Android Studio 1.1.0 .

  1. Con il tuo mouse, seleziona il progetto al livello principale (questo è dove mostra il nome della tua app).

  2. Fare clic con il tasto destro e selezionare le opzioni di menu New, Folder, Assets Folder .

  3. Dopo aver creato la cartella di risorse, incollare o copiare in esso, qualunque file JAR è necessario per la libreria.

  4. Dal menu principale di Android Studio (in alto sullo schermo) seleziona File -> Project Structure .

  5. Quindi seleziona il nome del tuo progetto e vai alla scheda Dependencies .

  6. Fare clic sul segno più ( + ) nella parte inferiore sinistra della finestra di dialogo e selezionare la dipendenza del file.

  7. Infine, apri la cartella delle risorse create di recente, seleziona i file JAR che hai copiato, quindi fai clic su Applica e OK .

Pulisci e ricostruisci il tuo progetto.

2 comments
1 Rajnish Mishra 03/23/2015
fare copie di vasi nelle risorse non è una buona idea aumenterà inutilmente le dimensioni degli apk
monn3t 04/12/2015
Grazie per il consiglio @RajnishMishra. Lo sospettavo, ma cosa proponi invece?

Related questions

Hot questions

Language

Popular Tags