Android Studio: добавить банку в качестве библиотеки?
Я пытаюсь использовать новую студию Android, но я не могу заставить ее работать правильно.
Я использую Gson библиотека для сериализации / десериализации JSON-объектов. Но библиотека почему-то не включена в сборку.
Я создал новый проект с просто MainActivity. Скопировано gson-2.2.3.Джар в папке / libs и добавил его как зависимую библиотеку (щелкните правой кнопкой мыши->добавить как библиотеку). Это включает в себя банку в android studio, поэтому на него можно ссылаться из исходных файлов.
когда я пытаюсь запустить проект, он не может скомпилировать, поэтому я добавил:
compile files('libs/gson-2.2.3.jar')
к зависимостям в de .файл gradle. После этого он компилируется правильно, но при запуске приложения я получаю ClassDefNotFoundException
.
кто-нибудь знает, что я делаю неправильно?
30 ответов
я боролся с тем же самым в течение многих часов, пытаясь заставить банку Gson работать не меньше. Я, наконец, взломал его – вот шаги, которые я сделал:
- положите банку Gson (в моем случае,
gson-2.2.4.jar
) вlibs
папку - щелкните правой кнопкой мыши и нажмите "Добавить как библиотеку"
-
обеспечить
compile files('libs/gson-2.2.4.jar')
в своем (илиcompile fileTree(dir: 'libs', include: '*.jar')
если вы используете много файлов jar)Edit: Используйте
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, команда может отличаться в вашей системе
после того, как я сделал выше четырех, он начал работать нормально. Я думаю, что шаг "добавить как библиотеку" был тем, который я ранее пропустил, и он не работал, пока я не очистил его.
[редактирование - добавил build.gradle
шаг, который также необходим, как указали другие]
вот инструкции по добавлению локального файла jar в качестве библиотеки в модуль:
-
создайте папку "libs" на верхнем уровне каталога модуля (тот же каталог, который содержит каталог "src")
-
на
build.gradle file
добавьте следующее, чтобы закрытие зависимостей имело:dependencies { // ... other dependencies compile files('libs/<your jar's name here>') }
-
Android Studio уже должна была установить оболочку gradlew. От в командной строке перейдите на верхний уровень вашего проекта (каталог, который имеет ).
Run
./gradlew assemble
. Это должно скомпилировать проект с библиотекой. Возможно, Вам потребуется исправить ошибки в сборке.gradle файл по мере необходимости. -
для того, чтобы Android Studio распознала локальные файлы jar как библиотеки для поддержки при кодировании в IDE, вам нужно сделать еще несколько шагов:
4.1. Щелкните правой кнопкой мыши по модулю слева ручная панель и выберите
Open Library Settings
.4.2. На левой панели диалогового окна, выберите
Libraries
.4.3. Нажмите
+
знак над панелью второй слева ->Java
4.4. Выберите локальный jar и добавьте его в проект.
возможно, Вам придется выполнить выше еще раз
в проекте щелкните правой кнопкой мыши
-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done
следуйте скриншотам ниже:
1:
2:
3:
вы увидите это:
IIRC, просто используя "добавить как библиотеку", недостаточно для компиляции с проектом.
Регистрация помощь Intellij о добавлении библиотек в проект
часть, которая должна интересовать вас больше всего, это:
(In
File > Project Structure
) откройте Настройки модуля и выберите вкладку зависимости.на вкладке зависимости нажмите кнопку Добавить и выберите Библиотека.
в диалоговом окне Выбор библиотек выберите одну или дополнительные библиотеки и нажмите Добавить выбранные.
Если библиотека не отображается в диалоговом окне, добавьте ее в настройки библиотек, прямо под модулями.
вам не нужно добавлять compile files()
больше, и библиотека должна быть правильно добавлена в ваш проект.
в Android Stuido мне нравится использовать Gradle для управления Gson lib.
добавить зависимость ниже в вашей сборке.файл gradle.
repositories {mavenCentral()}
dependencies {compile 'com.google.code.gson:gson:2.2.4'}
все в порядке.
вы также можете увидеть этот пост. лучший способ интегрировать стороннюю библиотеку в Android studio
все эти решения устарели. Это действительно легко сейчас в Android Studio:
Файл > Новый Модуль...
следующий экран выглядит странно, как будто вы выбираете какой-то виджет или что-то, но держите его на первом рисунке и ниже прокрутите и найдите " Import JAR or .Пакет AAR"
взятьProject Structure
из меню Файл.Выберите app
В открывшемся окне выберите dependencies
,нажмите клавишу green plus button
выберите module dependency
затем выберите импортированный модуль и нажмите OK
'...- раньше работал на меня, но теперь нет. после большой боли я обнаружил, что использование этого вместо этого работает:
compile fileTree(dir: 'libs', include: '*.jar')
простые шаги для добавления внешней библиотеки в Android Studio
- если вы в Android просмотр в project explorer, измените его на проект вид, как показано ниже
- щелкните правой кнопкой мыши нужный модуль, в который вы хотите добавить внешнюю библиотеку, затем выберите New > Directroy и назовите его как 'libs'
- скопировать blah_blah.Джар в 'libs'
- щелкните правой кнопкой мыши blah_blah.фляги, затем выберите 'добавить в библиотеку..'. Это автоматически добавит и запись в построить.Gradle в as компиляции файлы ('libs / blah_blah.jar') и синхронизировать gradle. И вы закончили
Обратите Внимание : Если вы используете сторонние библиотеки, то лучше использовать зависимости где скрипт Gradle автоматически загружает банку и банку зависимостей при gradle запуск сценария.
Ex: compile ' com.гуглить.андроид.gms: play-услуги-объявления: 9.4.0'
подробнее о Gradle Зависимость Mangement
- Загрузить файл библиотеки с веб-сайта
- копировать из Windows explore
- вставить в папку lib из Project Explorer
- Ctrl+Alt+Shift+S открыть структуру проекта
- выберите вкладку зависимости, добавьте файл с помощью +
- проект синхронизации панели инструментов с файлом gradle с помощью кнопки
это решило мою проблему. Попробуйте, если кто-нибудь хочет больше деталей, пусть я знаю.
Я заставил его работать, просто добавив одну строку для сборки.Gradle в:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
compile 'com.google.code.gson:gson:2.3.1' ----------> I added this one
}
Не забудьте нажать "синхронизировать сейчас" в правом верхнем углу.
Im с помощью Android Studio 1.0.1.
Я нашел менеджер зависимостей Android Studio довольно удобным и мощным для управления зависимостями 3rd (например, Gson, упомянутый здесь). Предоставление пошагового руководства, которое сработало для меня (примечание: эти шаги протестированы для Android Studio 1.6 и последующих версий на платформе Windows).
Шаг 1: Goto " Build > редактировать библиотеки и зависимости... проект "это откроет диалог" Структура"
Шаг 2: Выберите "приложение", а затем выберите вкладку" зависимости". Затем выберите "Добавить > 1 зависимость библиотеки"
Шаг 3: Появится диалоговое окно "выбрать зависимость от библиотеки", укажите" gson "в поиске и нажмите кнопку"Поиск"
Шаг 4: Желаемая зависимость будет показана в списке поиска выберите com.гуглить.код.gson:gson: 2.7 (это последняя версия на момент написания ответа), нажмите OK
нажать "ОК", "структура проекта" Диалог. Gradle обновит ваши сценарии сборки соответствующим образом.
надеюсь, это поможет:)
1. ставим банку (в моем случае
gson-2.2.4.jar
) в папку libs.2. убедитесь, что файлы компиляции (
libs/gson-2.2.4.jar
) в сборку.файл gradle.3. Теперь нажмите "Синхронизировать проект с файлами Gradle" (слева на кнопку AVD manager на верхней панели).
после того, как я сделал выше трех, он начал работать нормально.
Скачать И Скопировать на libs
папка затем добавляет эти строки для сборки.Gradle в:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.3.1'
}
не забудьте нажать "синхронизация"
Android Studio 1.1.0
В отличие от Eclipse нам не нужно загружать jar и помещать его в папку /libs. Gradle обрабатывает эти вещи, нам нужно только добавить зависимости Gradle, Gradle загружает его и помещает в кэш gradle.
нам нужно добавить зависимости как:
зависимости {compile 'com.гуглить.код.gson: gson: 2.2.4'}
вот и все Однако мы также можем загрузить jar и добавить это как библиотеку, но лучше всего добавить зависимости Gradle.
вы можете сделать это с помощью двух вариантов.
первый простым способом.
скопировать .файл jar в буфер обмена, затем добавьте его в папку libs. Чтобы просмотреть папку libs в проекте, выберите проект из поля со списком над папками.
щелкните правой кнопкой мыши на .jar файл и нажмите кнопку Добавить в библиотеку, затем выберите модуль, затем ОК. Вы можете видеть .jar-файл в build.файл Gradle в блоке зависимостей.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':okhttp-2.0.0')
compile 'com.google.code.gson:gson:2.3.1'
}
Второй способ таков: мы можем добавить .файл jar в модуль путем импорта этого .jar файл как .модуль jar затем добавьте этот модуль в любой модуль, который мы хотим.
модуль импорта - - - > выберите свой.jar file --> чем импортировать как .сосуд --
затем CTRL+ALT+SHIFT+S --> project sturure -->выберите модуль, который вы хотите добавить jar -->Dependencendies --> зависимость модуля. строить.gradle модуля будет обновляться автоматически.
просто поставить .jar
файлы libs
папка проекта Android.
compile fileTree(dir: 'libs', include: ['*.jar'])
эта строка кода в файле graddle приложений сделает все остальное.
Happy Coding :)
Ive сделали выше 3 шага и его очарование работы для меня.
(Я использую Android Studio 2.1.2)
Шаг 1
- добавить имя пакета jar (например
compile 'com.squareup.okhttp3:okhttp:3.3.1'
) в скрипт сборки gradle под построить.gradle (модуль:приложение).
Шаг 2: Право нажмите на кнопку app папку -> Новый -> Модуль
Шаг 3: клик импорт JAR/.Пакет AAR затем просмотрите пакет. в качестве примера: OkHttp.Джар
menu File -> project struct -> module select "app" -> dependencies tab -> + button
-> File dependency -> PATH/myfile.jar
на Mac OS X:
добавить банку как библиотеку (перетащите банку в libs, щелкните правой кнопкой мыши добавить как lib)
добавить инструкцию compile в
build.grade
-
установить
gradle v1.6
(используйте homebrew)- brew установить gradle
- ш - в
- если не v1.6, обновление homebrew
gradle clean (перестроить android не получилось)
Это разобрало меня.
создайте папку libs. Добавь свой .файл jar. Щелкните правой кнопкой мыши на нем, и вы найдете add jar as dependency. Щелкнуть по нему. Все, что вам нужно сделать. Вы можете найти зависимости, добавленные в вашу сборку.файл gradle.
1) создайте папку "your_libs" внутри папки Project/app/src.
2) скопируйте файл jar в эту папку "your_libs"
3) в Android Studio перейдите в File -> Project Structure -> Dependencies -> Add -> file Dependency и перейдите к файлу jar, который должен быть под 'src/your_libs'
3) Выберите файл jar и нажмите "Ok"
и тогда вы можете посмотреть на сборку.gradle выглядит так: compile файлы ('src/your_libs / your.jar')
в Android Studio 1.1.0 . Я решил этот вопрос следующим образом:
1: Поместите файл jar в каталог libs. (in Finder)
2: Откройте Настройки модуля, перейдите в зависимости ,в левом нижнем углу есть кнопка плюс. Нажмите кнопку "Плюс", затем выберите" зависимость от файла".Здесь вы можете увидеть файл jar. Выберите его, и он разрешен.
Шаг 1 : теперь под вашим app folder
вы должны увидеть libs
, если вы этого не видите,затем создать его .
Шаг 2 : Drag & Drop the .jar file here
, вы можете получить подсказку "This file does not belong to the project"
, нажмите OK
.
Шаг 3 : Теперь вы должны увидеть jar файл в папке libs щелкните правой кнопкой мыши на файле jar и выберите "Add as library", Click OK for prompt "Create Library"
Шаг 4 : Теперь этот jar была добавлена.
С Android Studio 3+:
вы должны просто иметь возможность просто скопировать файл jar в папку libs прямо под папкой приложения.
... myproject\app\libs\myfile.Джар
затем выберите файлы проекта из раскрывающегося списка в окне проекты, щелкните правой кнопкой мыши на проекте, выберите Синхронизировать, чтобы увидеть файл в файлах проекта. Он автоматически добавит зависимости в файл gradle (Module:app).
dependencies {
...
implementation files('libs/myfile.jar')
вот еще один решение:
перейдите в представление файлы проекта (выберите файлы проекта из раскрывающегося списка).
Выберите Новый... Каталог, создайте папку с именем libs прямо под app.
Откройте проводник, скопируйте и вставьте файл Jar в папку libs.
В Android Studio щелкните правой кнопкой мыши файл jar и выберите Добавить как библиотеку... из всплывающего меню.
вы должны увидеть файл, указанный в списке зависимостей в файле gradle:
dependencies {
...
implementation files('libs/myfile.jar')
}
откройте файл java и добавьте туда инструкцию import:
import com.xxx.xxx;
как многие указывали ранее, вы должны добавить
compile files('libs/gson-2.2.3.jar')
в сборку.файл gradle.
однако у меня есть проект в Android Studio, который был перенесен из Eclipse, и в этом случае папка "libs" называется "lib", поэтому для меня удаление "s" решило проблему.
Я прочитал все ответы здесь, и все они, похоже, охватывают старые версии Android Studio!
С проектом, созданным с Android Studio 2.2.3, мне просто нужно было создать
compile fileTree(dir: 'libs', include: '*.jar')
работает нормально, но не compile files(...)
протестировали со Studio Beta 0.8.1
мой ответ в основном собирает некоторые из правильных, но неполных ответов, представленных выше.
- открыть сборки.Gradle в
-
добавить следующее:
dependencies { compile 'com.android.support:appcompat-v7:19.+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.gson:gson:2.3' }
Это позволит поддерживать два разных способа добавления зависимостей. The
compile fileTree(dir: 'libs', include: ['*.jar'])
(Как упоминалось в @Binod) говорит компилятору искать в папке libs для любого jar. Хорошей практикой является создание такой папки "libs", которая будет содержать пакеты jar, необходимые нашему приложению использовать.
но это также позволит поддерживать зависимость Maven. Компиляция 'com.google.code.gson:gson:2.3'
(Как упоминалось в @saneryee) это еще один рекомендуемый способ добавления зависимостей, которые находятся в Центральном удаленном репозитории, а не в нашем /libs "локальном репозитории". Он в основном говорит gradle искать эту версию этого пакета, и он говорит компилятору рассмотреть его при компиляции проекта (имея его в пути к классам)
PS: я использую как
для более нового Android 1.0.2 следующее уже есть в вашей сборке.файл gradle
compile fileTree (включая: ['*.банку'], а dir: 'libs'в)
добавить банку библиотеки в папку libs -> щелкните правой кнопкой мыши библиотеку - > нажмите кнопку Добавить как библиотеку - > он запрашивает проект, чтобы добавить его для - > выберите проект-> нажмите кнопку ОК Следующая строка автоматически добавляется в build.Gradle в
компилировать файлы ('libs / android-query.jar')
Это сделало это для меня. больше ничего не требовалось. я показал это для android aquery еще одну стороннюю библиотеку для android.
- добавлена папка " libs "на уровне"app".
- добавлены все "банки" в этом проекте.
- далее, выбраны все банки, в папке "libs",
- щелкните правой кнопкой мыши на выбранных элементах и скажите "добавить библиотеку"
- затем вы найдете опцию расширения jars в самом проводнике проекта.
я заметил, что "CTRL+ALT+SHIFT+S --> структура проекта --> app-module -->зависимости" уже имели Запись Как (реж.:' libs', include:'*.jar') "в разделе" compile-option", изначально. И после добавления банки в соответствии с шагами, указанными выше, " build.gradle " получил записи для новой добавленной банки.