Android Studio: Lägg till jar som bibliotek?

Jag försöker använda den nya Android Studio, men jag kan inte få den att fungera korrekt.

Jag använder biblioteket Gson för att serialisera/deserialisera JSON-objekt. Men biblioteket är på något sätt inte med i byggnaden.

Jag hade skapat ett nytt projekt med bara en MainActivity. Kopierade gson-2.2.3.jar i mappen /libs och lade till det som ett biblioteksberoende (högerklick>Lägg till som bibliotek). Detta inkluderar jar i android studio så att den kan refereras från källfilerna.

När jag försöker köra projektet kan den inte kompilera så jag lade till:

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

till beroendena i .gradle-filen. Efter det kompileras det korrekt men när jag kör programmet får jag ett ClassDefNotFoundException.

Är det någon som vet vad jag gör fel?

Lösning

Jag har kämpat med samma sak i många timmar och har försökt få Gson jar att fungera. Jag har äntligen knäckt det - här är de steg jag tog:

  1. Lägg Gson jar (i mitt fall gson-2.2.4.jar) i mappen libs.

  2. Högerklicka på den och tryck 'Add as library'

  3. Se till att compile files('libs/gson-2.2.4.jar') finns i filen build.gradle (eller compile fileTree(dir: 'libs', include: '*.jar') om du använder många jar-filer).

    Redigera : Använd implementation files('libs/gson-2.2.4.jar') (eller implementation fileTree(dir: 'libs', include: '*.jar')) i Android Studio 3.0+

  4. Gör en clean build (du kan antagligen göra det här utan problem i Android Studio, men för att vara säker navigerade jag i en terminal till rotmappen för min app och skrev gradlew clean. Jag använder Mac OS X, kommandot kan vara annorlunda på ditt system.

Efter att jag gjorde de fyra ovanstående åtgärderna började det fungera bra. Jag tror att steget 'Add as library' var det som jag tidigare hade missat, och det fungerade inte heller förrän jag rensade det.

[Redigera - lade till steget build.gradle som också är nödvändigt som andra har påpekat].

Kommentarer (20)

Det räcker inte att bara använda "Add as library" för att det ska kompileras med projektet.

Kolla Intellij's hjälp om att lägga till bibliotek till ett projekt.

Den del som borde intressera dig mest är detta:

(I File > Project Structure) Öppna modulinställningarna och välj fliken Dependencies.

På fliken beroenden klickar du på add och väljer Library.

I dialogrutan Choose Libraries väljer du ett eller flera bibliotek och klickar på Add Selected.

Om biblioteket inte visas i dialogrutan lägger du till det i inställningarna för Libraries, precis under Modules.

Du borde inte behöva lägga till compile files() längre, och biblioteket borde läggas till på rätt sätt i ditt projekt.

Kommentarer (4)

På Mac OS X:

  1. Lägg till burken som bibliotek (dra burken till bibliotek, högerklicka på Lägg till som bibliotek).

  2. Lägg till kompileringsförklaring i build.grade.

  3. Installera gradle v1.6 (använd homebrew).

  • brew install gradle
  • gradle -v
  • om inte v1.6, uppgradera homebrew
  1. gradle clean (ombyggnaden av android fungerade inte)

Detta löste mig.

Kommentarer (0)