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?
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:
Sett Gson-krukken (i mitt tilfelle
gson-2.2.4.jar
) ilibs
-mappenHøyreklikk på den og trykk "Legg til som bibliotek";
Forsikre deg om at
compile files('libs/gson-2.2.4.jar')
er ibuild.gradle
-filen (ellercompile fileTree(dir: 'libs', include: '*.jar')
hvis du bruker mange jar-filer).Rediger : Bruk
implementation files('libs/gson-2.2.4.jar')
(ellerimplementation fileTree(dir: 'libs', include: '*.jar')
) i Android Studio 3.0+.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 dittEtter 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]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:
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.På Mac OS X:
Legg til krukke som bibliotek (dra krukke til libs, høyreklikk legg til som bibliotek)
Legg til compile statement i
build.grade
.Installer
gradle v1.6
(bruk homebrew)Dette sorterte meg ut.