Опитвам се да използвам новото Android Studio, но не мога да го накарам да работи правилно.
Използвам библиотеката Gson, за да сериализирам/десериализирам JSON-обекти. Но библиотеката някак си не е включена в компилацията.
Бях създал нов проект само с MainActivity. Копирах gson-2.2.3.jar в папката /libs и я добавих като зависима библиотека (кликнете с десния бутон на мишката върху>Add as library). Това включва буркана в android studio, така че да може да се препраща към него от изходните файлове.
Когато се опитам да стартирам проекта, той не може да се компилира, затова добавих:
compile files('libs/gson-2.2.3.jar')
към зависимостите в .gradle файла. След това се компилира правилно, но при стартиране на приложението получавам ClassDefNotFoundException
.
Някой знае ли какво правя погрешно?
Аз се борих със същото нещо в продължение на много часове, опитвайки се да накарам буркана Gson да работи не по-малко. Най-накрая се справих - ето стъпките, които предприех:
Поставете буркана на Gson (в моя случай gson-2.2.4.jar
) в папката libs
.
Щракнете с десния бутон на мишката върху него и натиснете 'Add as library'
Уверете се, че compile files('libs/gson-2.2.4.jar')
е във вашия файл build.gradle
(или compile fileTree(dir: 'libs', include: '*.jar')
, ако използвате много jar файлове)
Редактиране : Използвайте implementation files('libs/gson-2.2.4.jar')
(или implementation fileTree(dir: 'libs', include: '*.jar')
) в Android Studio 3.0+
Направете чиста сглобка (вероятно можете да направите това добре в Android Studio, но за да се уверя, влязох в терминала в основната папка на моето приложение и написах gradlew clean
. Аз съм на Mac OS X, командата може да е различна на вашата система
След като направих горните четири, то започна да работи добре. Мисля, че стъпката 'Add as library' беше тази, която преди това бях пропуснал, и тя също не работеше, докато не я почистих.
[Редактиране - добавих стъпката build.gradle
, която също е необходима, както посочиха другите]
IIRC, простото използване на "Add as library" не е достатъчно, за да се компилира с проекта.
Проверете Intellij'help за добавянето на библиотеки към проекта
Частта, която трябва да ви интересува най-много, е следната:
(В
File > Project Structure
) Отворете настройките на модула и изберете раздела Dependencies.
В раздела Dependencies (Зависимости) щракнете върху Add (Добавяне) и изберете Library (Библиотека).
В диалоговия прозорец Choose Libraries (Избор на библиотеки) изберете една или повече библиотеки и щракнете върху Add Selected (Добавяне на избрани).
Ако библиотеката не се появи в диалоговия прозорец, добавете я в настройките Libraries (Библиотеки), точно под Modules (Модули).
Вече не би трябвало да се налага да добавяте compile files()
и библиотеката ще бъде правилно добавена към проекта ви.
В Mac OS X:
Добавяне на jar като библиотека (плъзнете jar към libs, щракнете с десния бутон на мишката върху add as lib)
Добавете декларация за компилиране в build.grade
Инсталирайте gradle v1.6
(използвайте homebrew)
Това ме оправи.