Android Studio: Legg til krukke som bibliotek?

Jeg prøver å bruke det nye Android Studio, men jeg ser ikke ut til å få det til å fungere riktig.

Jeg bruker Gson -biblioteket for å serialisere / deserialisere JSON-objekter. Men biblioteket er på en eller annen måte ikke inkludert i bygningen.

Jeg hadde opprettet et nytt prosjekt med bare en MainActivity. Kopierte gson-2.2.3.jar i / libs-mappen og la den til som en biblioteksavhengighet (høyreklikk - > Legg til som bibliotek). Dette inkluderer krukken i Android Studio slik at den kan refereres fra kildefilene.

Når jeg prøver å kjøre prosjektet, kan det ikke kompilere, så jeg la til:

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

til avhengighetene i .gradle-filen. Etter det kompilerer den riktig, men når jeg kjører applikasjonen får jeg en ClassDefNotFoundException.

Er det noen som vet hva jeg gjør galt?

Løsning

Jeg har slitt med det samme i mange timer og prøvd å få Gson-krukken til å fungere ikke mindre. Jeg sprakk det til slutt - her er trinnene jeg tok:

  1. Sett Gson-krukken (i mitt tilfelle gson-2.2.4.jar) i libs -mappen

  2. Høyreklikk på den og trykk "Legg til som bibliotek";

  3. Forsikre deg om at compile files('libs/gson-2.2.4.jar') er i build.gradle-filen (eller compile fileTree(dir: 'libs', include: '*.jar') hvis du bruker mange jar-filer).

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

  4. Gjør en ren build (du kan sannsynligvis gjøre dette fint i Android Studio, men for å være sikker på at jeg navigerte i en terminal til rotmappen til appen min og skrev gradlew clean. Jeg' er på Mac OS X, kommandoen kan være forskjellig på systemet ditt

Etter at jeg gjorde de fire ovennevnte, begynte det å fungere bra. Jeg tror trinnet "Legg til som bibliotek" var det jeg tidligere hadde savnet, og det fungerte ikke før jeg renset det heller.

[Rediger - lagt til build.gradle-trinnet som også er nødvendig som andre har påpekt]

Kommentarer (20)

IIRC er det ikke nok å bare bruke "Legg til som bibliotek" for at det skal kompileres med prosjektet.

Se Intellij's hjelp om hvordan du legger til biblioteker i et prosjekt.

Den delen som bør interessere deg mest er denne:

(I Fil > Prosjektstruktur) Åpne modulinnstillingene og velg fanen Avhengigheter.

På fanen Avhengigheter klikker du på Legg til og velger Bibliotek.

I dialogboksen Velg bibliotek velger du ett eller flere biblioteker og klikker på Legg til valgt.

Hvis biblioteket ikke vises i dialogboksen, kan du legge det til i innstillingene Biblioteker, rett under Moduler.

Du skal ikke trenge å legge til compile files() lenger, og biblioteket skal være riktig lagt til i prosjektet ditt.

Kommentarer (4)

På Mac OS X:

  1. Legg til krukke som bibliotek (dra krukke til libs, høyreklikk legg til som bibliotek)

  2. Legg til compile statement i build.grade.

  3. Installer gradle v1.6 (bruk homebrew)

  • brew install gradle
  • gradle -v
  • hvis ikke v1.6, oppgradere homebrew
  1. gradle clean (rebuild android fungerte ikke)

Dette sorterte meg ut.

Kommentarer (0)