Yritän käyttää uutta Android Studiota, mutta en saa sitä toimimaan oikein.
Käytän Gson-kirjastoa JSON-objektien serialisointiin/deserialisointiin. Mutta kirjasto ei jotenkin sisälly buildiin.
Olin luonut uuden projektin, jossa oli vain MainActivity. Kopioin gson-2.2.3.jar /libs-kansioon ja lisäsin sen kirjastoriippuvuudeksi (oikealla klikkauksella->Add as library). Tämä sisällyttää jarin android studioon, jotta siihen voidaan viitata lähdetiedostoista.
Kun yritän ajaa projektia, se ei voi kääntää, joten lisäsin:
compile files('libs/gson-2.2.3.jar')
.gradle-tiedoston riippuvuuksiin. Tämän jälkeen se kääntyy oikein, mutta kun sovellusta ajetaan, saan ClassDefNotFoundException
.
Tietääkö kukaan mitä teen väärin?
Olen kamppaillut saman asian kanssa monta tuntia, yrittäen saada Gson-purkin toimimaan. Olen vihdoin murtunut se - tässä ovat vaiheet otin:
Laita Gsonin purkki (minun tapauksessani gson-2.2.4.jar
) libs
-kansioon.
Klikkaa sitä hiiren oikealla painikkeella ja paina 'Add as library'
Varmista, että compile files('libs/gson-2.2.4.jar')
on build.gradle
-tiedostossasi (tai compile fileTree(dir: 'libs', include: '*.jar')
, jos käytät monia jar-tiedostoja).
Muokkaa : Käytä implementointitiedostoja('libs/gson-2.2.4.jar')
(tai implementointitiedostopuu(dir: 'libs', include: '*.jar')
) Android Studiossa 3.0+.
Tee puhdas build (voit luultavasti tehdä tämän hyvin Android Studiossa, mutta varmuuden vuoksi siirryin terminaalissa sovellukseni juurikansioon ja kirjoitin gradlew clean
. Käytän Mac OS X:ää, komento voi olla erilainen sinun järjestelmässäsi.
Kun tein edellä mainitut neljä, se alkoi toimia hienosti. Luulen, että 'Add as library' -vaihe oli se, jonka olin aiemmin unohtanut, ja se ei toiminut, ennen kuin puhdistin sen.
[Edit - lisätty build.gradle
-askel, joka on myös välttämätön, kuten muut ovat huomauttaneet].
IIRC, pelkkä "Lisää kirjastona" ei riitä, että se käännetään projektin kanssa.
Tarkista Intellij'n ohje kirjastojen lisäämisestä projektiin.
Se osa, jonka pitäisi kiinnostaa sinua eniten, on tämä:
(kohdassa
File > Project Structure
) Avaa moduuliasetukset ja valitse Dependencies-välilehti.
Napsauta Dependencies-välilehdellä add ja valitse Library.
Valitse Choose Libraries (Valitse kirjastot) -valintaikkunassa yksi tai useampi kirjasto ja napsauta Add Selected (Lisää valitut).
Jos kirjasto ei näy valintaikkunassa, lisää se Kirjastot-asetuksissa, heti Moduulien alapuolella.
Sinun ei enää pitäisi tarvita compile files()
-lisäystä, ja kirjaston pitäisi olla oikein lisätty projektiisi.
Mac OS X:ssä:
Lisää purkki kirjastona (vedä purkki kohtaan libs, napsauta hiiren oikealla painikkeella add as lib).
Lisää kääntämislauseke tiedostoon build.grade
.
Asenna gradle v1.6
(käytä homebrew:tä).
Tämä selvitti minut.