android-studio gson - Android Studio:aggiungi jar come libreria?




implementation google (25)

'compila file ...' usato per funzionare per me, ma non più. dopo tanto dolore, ho trovato che usare questo funziona invece:

compile fileTree(dir: 'libs', include: '*.jar')

Non ho idea del perché abbia fatto la differenza, ma, almeno, quella dannata cosa sta funzionando ora.

Sto cercando di utilizzare il nuovo Studio Android ma non riesco a farlo funzionare correttamente.

Sto usando la libreria Gson per serializzare / deserializzare oggetti JSON. Ma la biblioteca in qualche modo non è inclusa nella build.

Avevo creato un nuovo progetto con solo un MainActivity . Copiato gson-2.2.3.jar nella cartella / libs e aggiunto come dipendenza dalla libreria (tasto destro-> Aggiungi come libreria). Ciò include il jar in Android Studio in modo che possa essere referenziato dai file di origine.

Quando provo a eseguire il progetto non è possibile compilare così ho aggiunto:

compile files('libs/gson-2.2.3.jar')

alle dipendenze nel file de .gradle. Dopodiché viene compilato correttamente ma durante l'esecuzione dell'applicazione ricevo ClassDefNotFoundException .

Qualcuno sa cosa sto sbagliando?


L'ho fatto lavorando aggiungendo una riga a build.gradle:

 dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    compile 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
    }

Non dimenticare di fare clic su "Sincronizza ora" nell'angolo in alto a destra.

Sto usando Android Studio 1.0.1.


A differenza di Eclipse, non è necessario scaricare il jar e inserirlo nella cartella / libs. Gradle gestisce queste cose, abbiamo solo bisogno di aggiungere le dipendenze di Gradle, Gradle lo scarica e mette in gradle cache.

Abbiamo bisogno di aggiungere dipendenze come:

dipendencies {compile 'com.google.code.gson: gson: 2.2.4'}

Questo è comunque possibile scaricare anche jar e aggiungerlo come libreria, ma la migliore pratica è aggiungere dipendenze Gradle.


menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar

  1. Aggiunta la cartella "libs" a livello di "app".
  2. Aggiunti tutti i "barattoli" in questo progetto.
  3. Quindi, seleziona tutti i barattoli nella cartella "libs",
  4. fare clic con il tasto destro sugli elementi selezionati e pronunciare "aggiungi libreria"
  5. quindi troverai l'opzione di espansione dei vasi, all'interno del project explorer stesso.

Ho osservato "CTRL + ALT + SHIFT + S -> struttura del progetto -> modulo app -> Dipendenze" aveva già una voce come "(dir: 'libs', include: '* .jar')" sotto " compile-option ", inizialmente. E dopo aver aggiunto il barattolo secondo i passaggi sopra indicati, "build.gradle" ha ottenuto le voci per il nuovo jar aggiunto, stesso.



In Android Studio 1.1.0. Ho risolto questa domanda seguendo i seguenti passaggi:

1: inserisci il file jar nella directory libs. (nel Finder)

2: Apri le impostazioni del modulo, vai a Dipendenze, nell'angolo in basso a sinistra c'è un pulsante più. Fare clic sul pulsante più, quindi selezionare "Dipendenza file". Qui è possibile vedere il file jar. Selezionalo ed è risolto.


Basta inserire i file .jar nella cartella libs del progetto Android.

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

questa riga di codice nel file graddle di app farà il resto.

Happy Coding :)


Per Android 1.0.2 più recente il seguente è già presente nel tuo file build.gradle

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

Aggiungi il contenitore della libreria alla cartella libs -> fai clic con il pulsante destro del mouse sulla libreria -> fai clic su aggiungi come libreria -> ti chiede il progetto per aggiungerlo -> seleziona il tuo progetto-> fai clic su ok La seguente riga viene aggiunta automaticamente per creare .gradle

compila file ('libs / android-query.jar')

Che ha fatto per me. non era richiesto altro. ho mostrato questo per Android Aquery un'altra libreria di terze parti per Android.


1. Inserisci il jar (nel mio caso, gson-2.2.4.jar ) nella cartella libs.

2. Assicurarsi che i file di compilazione ( libs/gson-2.2.4.jar ) siano nel file build.gradle.

3. Ora fai clic su "Sincronizza progetto con file Gradle" (a sinistra su AVD manager Button sulla barra superiore).

Dopo aver fatto i tre precedenti, ha iniziato a funzionare bene.


Ho lottato con la stessa cosa per molte ore, cercando di far funzionare il vaso Gson non meno. Alla fine l'ho rotto - ecco i passi che ho fatto:

  1. Metti il ​​jar Gson (nel mio caso, gson-2.2.4.jar ) nella cartella libs
  2. Fai clic con il pulsante destro del mouse e premi "Aggiungi come libreria"
  3. Assicurati che i compile files('libs/gson-2.2.4.jar') siano nel tuo file build.gradle (o compile fileTree(dir: 'libs', include: '*.jar') se stai usando molti file jar )

    Modifica: usa i implementation files('libs/gson-2.2.4.jar') (o l' implementation fileTree(dir: 'libs', include: '*.jar') ) in Android Studio 3.0+

  4. Crea una build pulita (probabilmente puoi farlo bene in Android Studio, ma per essere sicuro di aver navigato in un terminale nella cartella principale della mia app e aver digitato gradlew clean . Sono su Mac OS X, il comando potrebbe essere diverso su il tuo sistema

Dopo aver eseguito i quattro precedenti, ha iniziato a funzionare correttamente. Penso che il passaggio "Aggiungi come libreria" sia stato quello che avevo precedentemente perso e che non ha funzionato fino a quando non l'ho ripulito.

[Modifica: aggiunto il passaggio build.gradle che è necessario anche come altri hanno sottolineato]


Come molti prima ha sottolineato, dovrai aggiungere

compile files('libs/gson-2.2.3.jar') 

al tuo file build.gradle.

Comunque ho un progetto in Android Studio che è stato migrato da Eclipse e in questo caso la cartella "libs" è chiamata "lib" quindi per me rimuovere la "s" ha risolto il problema.


Semplici passi per aggiungere una libreria esterna in Android Studio

  1. Se sei in Android View in project explorer, cambialo in Project view come sotto

  1. Fare clic con il tasto destro del mouse sul modulo desiderato in cui si desidera aggiungere la libreria esterna, quindi selezionare Nuovo> Directroy e denominarlo come " libs "
  2. Ora copia il blah_blah.jar nella cartella ' libs '
  3. Fai clic con il tasto destro su blah_blah.jar, quindi seleziona " Aggiungi come libreria .. ". Questo aggiungerà e entrerà automaticamente in build.gradle come file di compilazione ('libs / blah_blah.jar') e sincronizzerà il gradle. E hai finito

Nota: se si utilizzano librerie di terze parti, è preferibile utilizzare le dipendenze in cui lo script Gradle scarica automaticamente il JAR e il JAR di dipendenza quando viene eseguito lo script gradle.

Es: compila "com.google.android.gms: play-servizi-annunci: 9.4.0"

Maggiori informazioni sulla gestione delle dipendenze di Gradle


Tutte queste soluzioni sono obsolete. Ora è molto semplice in Android Studio:

File> Nuovo modulo ...

La schermata successiva sembra strana, come se tu stessi selezionando qualche widget o qualcosa del genere, ma tienilo sulla prima immagine e sotto lo scroll e trovi "Importa pacchetto JAR o .AAR"

Quindi prendi la Project Structure dal menu File. Seleziona l' app dalla finestra aperta, quindi seleziona le dependencies , quindi premi green plus button pulsante green plus button , seleziona la module dependency quindi seleziona il modulo che hai importato, quindi premi OK


Ho letto tutte le risposte qui e sembrano tutte coprire vecchie versioni di Android Studio!

Con un progetto creato con Android Studio 2.2.3 avevo solo bisogno di creare una directory libs sotto l' app e posizionare il mio bar lì. L'ho fatto con il mio file manager, senza bisogno di fare clic o modificare nulla in Android Studio.

Perché funziona? Apri Build / Edit Libraries and Dependencies e vedrai:

{include=[*.jar], dir=libs}

Su Mac OS X:

  1. Aggiungi jar come libreria (trascina jar in libs, fai clic con il tasto destro del mouse aggiungi come lib)

  2. Aggiungi la dichiarazione di compilazione a build.grade

  3. Installa gradle v1.6 (usa homebrew)

    • brew install gradle
    • gradle -v
    • se non v1.6, aggiornare homebrew
  4. gradle clean (ricostruzione Android non ha funzionato)

Questo mi ha risolto.


compile fileTree(dir: 'libs', include: '*.jar') funziona bene ma non compile files(...) hanno provato con Studio Beta 0.8.1


IIRC, semplicemente usando "Aggiungi come libreria" non è sufficiente per la compilazione con il progetto.

Controlla l'aiuto di Intellij sull'aggiunta di librerie a un progetto

La parte che dovrebbe interessarti di più è questa:

(In File > Project Structure ) Aprire le impostazioni del modulo e selezionare la scheda Dipendenze.

Nella scheda Dipendenze, fare clic su Aggiungi e selezionare Libreria.

Nella finestra di dialogo Scegli librerie, selezionare una o più librerie e fare clic su Aggiungi selezionati.

Se la libreria non appare nella finestra di dialogo, aggiungila nelle impostazioni Librerie, proprio sotto Moduli.

Non è necessario aggiungere più compile files() e la libreria deve essere correttamente aggiunta al progetto.


  1. Scarica il file della libreria dal sito Web
  2. Copia da Windows Esplora
  3. Incolla nella cartella lib da Project Explorer
  4. Ctrl + Alt + Shift + S apre la struttura del progetto
  5. Seleziona la scheda Dipendenze, aggiungi il file usando +
  6. Barra degli strumenti Sincronizza il progetto con il file gradle usando il pulsante

Questo ha risolto il mio problema. Prova, se qualcuno vuole maggiori dettagli fammi sapere.


Passo 1: Ora sotto la app folder dovresti vedere le libs , se non la vedi, quindi crearla .

Passaggio 2: Drag & Drop the .jar file here , potresti ricevere un messaggio di richiesta "This file does not belong to the project" , fai semplicemente clic su Pulsante OK .

Passo 3: Ora dovresti vedere il file jar nella cartella libs , fare clic con il pulsante destro del mouse sul file jar e selezionare "Add as library", Click OK for prompt "Create Library"

Passaggio 4: ora questo barattolo è stato aggiunto.


Ecco le istruzioni per aggiungere un file jar locale come libreria a un modulo:

  1. Crea una cartella 'libs' nel livello più alto della directory del modulo (la stessa directory che contiene la directory 'src')

  2. Nel build.gradle file aggiungere quanto segue in modo che la chiusura delle dipendenze abbia:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    
  3. Android Studio dovrebbe avere già installato un wrapper gradlew. Dalla riga di comando, vai al livello più alto del tuo progetto (la directory che ha un file gradlew ).

    Esegui ./gradlew assemble . Questo dovrebbe compilare il progetto con la libreria. Potrebbe essere necessario correggere gli errori nel file build.gradle se necessario.

  4. Per fare in modo che Android Studio riconosca i file jar locali come librerie per il supporto durante la codifica nell'IDE, devi fare qualche altro passo:

    4.1. Fai clic con il tasto destro del mouse sul modulo nel pannello di sinistra e seleziona Open Library Settings .

    4.2. Nel pannello di sinistra della finestra di dialogo, scegli Libraries .

    4.3. Fare clic sul segno + sopra il pannello in secondo luogo da sinistra -> Java

    4.4. Seleziona il tuo barattolo locale e aggiungilo al progetto.

  5. Potrebbe essere necessario eseguire il comando sopra ./gradlew ancora una volta


Ho fatto sopra 3 punti e il suo fascino di lavoro per me.

(Sto usando Android Studio 2.1.2)

Passo 1

  • Aggiungi il nome del pacchetto jar (ad esempio compile 'com.squareup.okhttp3:okhttp:3.3.1' ) nello script gradle build in build.gradle (Module: app) .

Passaggio 2: fare clic con il pulsante destro sulla cartella dell'app -> Nuovo -> Modulo

Passaggio 3: fare clic su Importa pacchetto JAR / .AAR quindi sfoglia il pacchetto. come esempio: OkHttp.jar


Scarica e copia il tuo file .jar nella cartella libs quindi aggiungi queste righe a build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3.1'
}

Non dimenticare di fare clic su "Sincronizza ora"

Android Studio 1.1.0


Nel progetto, fai clic con il pulsante destro del mouse

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

Segui gli screenshot qui sotto:

1:

2:

3:

Vedrai questo:


Gradle è un toolkit di build avanzato per Android che gestisce le dipendenze e consente di definire la logica di build personalizzata. le funzionalità sono come 1. Personalizzare, configurare ed estendere il processo di compilazione. 2. Crea più APK per la tua app con funzioni diverse utilizzando lo stesso progetto. 3. Riutilizzare codice e risorse. fai riferimento a questo link http://developer.android.com/sdk/installing/studio-build.html





android android-studio gradle gson dependency-management