Android Studio: добавить jar в качестве библиотеки?

Я пытаюсь использовать новую Android-студию, но я не могу заставить ее работать правильно.

Я использую библиотеку Gson для сериализации / десериализации JSON-объектов. Но библиотека как-то не включена в сборку.

Я создал новый проект только с MainActivity . Скопировал gson-2.2.3.jar в папку / libs и добавил его как зависимость от библиотеки ( щелкните правой кнопкой мыши- > Добавить как библиотеку). Это включает банку в студии android, поэтому на нее можно ссылаться из исходных файлов.

Когда я пытаюсь запустить проект, он не может скомпилироваться, поэтому я добавил:

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

к зависимостям в файле .gradle. После этого он компилируется правильно, но при запуске приложения я получаю ClassDefNotFoundException .

Кто-нибудь знает, что я делаю неправильно?

    Я боролся с тем же самым делом в течение многих часов, пытаясь заставить банку Джона работать не меньше. Я, наконец, взломал его – вот шаги, которые я сделал:

    1. Поместите банку Gson (в моем случае, gson-2.2.4.jar ) в папку libs
    2. Щелкните правой кнопкой мыши и нажмите «Добавить в библиотеку»,
    3. Убедитесь, что 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+

    4. Сделайте чистую сборку (вы, вероятно, можете сделать это в Android Studio, но убедитесь, что я перешел в терминал в корневую папку своего приложения и набрал gradlew clean . Я нахожусь в Mac OS X, команда может отличаться на вашей системы

    После того, как я сделал четыре выше, он начал нормально работать. Я думаю, что шаг «Добавить как библиотеку» был тем, который я раньше пропустил, и это не сработало, пока я его не очистил.

    [Изменить – добавлен шаг build.gradle который также необходим, как указывали другие]

    Ниже приведены инструкции по добавлению локального файла jar в виде библиотеки в модуль:

    1. Создайте папку «libs» на верхнем уровне каталога модуля (тот же каталог, который содержит каталог «src»)

    2. В build.gradle file добавьте следующее, чтобы ваше закрытие зависимостей:

       dependencies { // ... other dependencies compile files('libs/') } 
    3. Android Studio должна уже установить оболочку gradlew. В командной строке перейдите на верхний уровень вашего проекта (каталог с файлом gradlew ).

      Запустите ./gradlew assemble . Это должно скомпилировать проект с библиотекой. Возможно, вам потребуется исправить ошибки в файле build.gradle по мере необходимости.

    4. Чтобы Android Studio распознала локальные файлы jar в качестве библиотек для поддержки при кодировании в среде IDE, вам нужно сделать еще несколько шагов:

      4.1. Щелкните правой кнопкой мыши на модуле в левой панели и выберите « Open Library Settings .

      4.2. На левой панели диалогового windows выберите « Libraries .

      4,3. Нажмите знак + над панелью второй слева -> Java

      Меню

      4.4. Выберите свою локальную банку и добавьте ее в проект.

    5. Возможно, вам понадобится выполнить вышеприведенную команду ./gradlew еще раз

    В правом щелчке правой кнопкой мыши

     -> new -> module -> import jar/AAR package -> import select the jar file to import -> click ok -> done 

    Следуйте скриншотам ниже:

    1:

    Шаг 1

    2:

    введите описание изображения здесь

    3:

    введите описание изображения здесь

    Вы увидите следующее:

    введите описание изображения здесь

    IIRC, просто используя «Добавить как библиотеку», недостаточно для его компиляции с проектом.

    Проверьте помощь Intellij в добавлении библиотек в проект

    Часть, которая вас больше всего интересует, такова:

    File > Project Structure ) Откройте параметры модуля и выберите вкладку «Зависимости».

    На вкладке «Зависимости» нажмите «Добавить» и выберите «Библиотека».

    В диалоговом окне «Выбор библиотек» выберите одну или несколько библиотек и нажмите «Добавить выбранные».

    Если библиотека не отображается в диалоговом окне, добавьте ее в настройки «Библиотеки», прямо под Модулями.

    Вам больше не нужно добавлять compile files() , и библиотека должна быть правильно добавлена ​​в ваш проект.

    В Android Stuido мне нравится использовать Gradle для управления Gson lib.

    Добавьте зависимость ниже в файле build.gradle.

     repositories {mavenCentral()} dependencies {compile 'com.google.code.gson:gson:2.2.4'} 

    Все в порядке.

    Вы также можете увидеть этот пост. Лучший способ интеграции сторонней библиотеки в студию Android

    Все эти решения устарели. В Android Studio это очень просто:

    Файл> Новый модуль …

    Следующий экран выглядит странно, например, вы выбираете какой-то виджет или что-то подобное, но держите его на первом снимке и под свитком и находите «Импорт JAR или пакет .AAR»,

    Затем выберите « Project Structure из меню». Выберите app из открытого windows, затем выберите dependencies , затем нажмите кнопку « green plus button , выберите module dependency затем выберите модуль, который вы импортировали, затем нажмите « OK

    «компилировать файлы …» работал для меня, но не больше. после большой боли, я обнаружил, что использование этого вместо этого работает:

    compile fileTree(dir: 'libs', include: '*.jar')

    Я понятия не имею, почему это имело значение, но, по крайней мере, проклятая вещь сейчас работает.

    Легкие шаги для добавления внешней библиотеки в Android Studio

    1. Если вы находитесь в Android View в обозревателе проектов, измените его на представление Project, как показано ниже.

    введите описание изображения здесь

    1. Щелкните правой кнопкой мыши нужный модуль, где вы хотите добавить внешнюю библиотеку, затем выберите « Создать»> «Directroy» и назовите его « libs »,
    2. Теперь скопируйте blah_blah.jar в папку ‘ libs
    3. Щелкните правой кнопкой мыши blah_blah.jar, затем выберите « Добавить как библиотеку ». Это автоматически добавит и добавит в build.gradle как файлы компиляции (‘libs / blah_blah.jar’) и синхронизирует gradle. И все готово

    Обратите внимание: если вы используете сторонние библиотеки, лучше использовать зависимости, в которых скрипт Gradle автоматически загружает JAR и JAR зависимости, когда запускается скрипт gradleиента.

    Пример: compile ‘com.google.android.gms: play-services-ads: 9.4.0’

    Узнайте больше о Gradle Dependency Mangement

    1. Загрузить файл библиотеки с веб-сайта
    2. Копировать из windows
    3. Вставить в папку lib из Project Explorer
    4. Ctrl + Alt + Shift + S open Структура проекта
    5. Выберите вкладку «Зависимости», добавьте файл, используя +
    6. Панель инструментов Синхронизация проекта с файлом gradleации с помощью кнопки

    Это решило мою проблему. Попытайтесь, если кто-нибудь захочет получить более подробную информацию, дайте мне знать.

    Я сделал это, просто добавив одну строку для build.gradle:

      dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this compile 'com.google.code.gson:gson:2.3.1' ----------> I added this one } 

    Не забудьте нажать «Синхронизировать сейчас» в верхнем правом углу.

    Я использую Android Studio 1.0.1.

    Я нашел Dependency Manager для Android Studio довольно удобным и мощным для управления зависимостями сторонних разработчиков (например, упоминаемый здесь gson). Предоставление пошагового руководства, которое работало для меня (ПРИМЕЧАНИЕ. Эти шаги протестированы для Android Studio 1.6 и последующих версий на платформе Windows).

    Шаг 1: перейдите к «Build> Edit Libraries and Dependencies …», он откроет диалог «Структура проекта»,

    введите описание изображения здесь

    Шаг 2. Выберите «приложение», а затем выберите вкладку «Зависимости». Затем выберите «Добавить> 1 Библиотека зависимости»

    введите описание изображения здесь

    Шаг 3: появится диалоговое окно «Choose Library Dependency», укажите «gson» в поиске и нажмите «кнопка поиска»,

    введите описание изображения здесь

    Шаг 4: желаемая зависимость будет отображаться в списке поиска, выберите com.google.code.gson: gson: 2.7 (это последняя версия в то время, когда я написал ответ), нажмите OK

    введите описание изображения здесь

    Нажмите ОК в диалоговом окне «Структура проекта». Gradle будет соответствующим образом обновлять ваши скрипты сборки.

    введите описание изображения здесь

    Надеюсь, это поможет 🙂

    1. Поместите банку (в моем случае, gson-2.2.4.jar ) в папку libs.

    2. Убедитесь, что файлы компиляции ( libs/gson-2.2.4.jar ) находятся в файле build.gradle.

    3. Теперь щелкните «Sync Project with Gradle files» (слева на кнопку менеджера AVD на верхней панели).

    После того, как я сделал эти три, он начал работать нормально.

    Загрузите и скопируйте файл .jar в папку libs затем добавьте эту строку в build.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.google.code.gson: gson: 2.2.4’}

    thats it Однако мы также можем загрузить jar & add, что в качестве библиотеки, но лучше всего добавить зависимости 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-модуля, затем добавим этот модуль в любой модуль, который мы хотим.

    import module —> выберите файл .jar -> чем импорт в качестве .jar – введите описание изображения здесь

    Затем CTRL + ALT + SHIFT + S -> sturure проекта -> выберите модуль, который вы хотите добавить в банку -> Dependencendies -> Dependency Module. build.gradle модуля будет обновляться автоматически. введите описание изображения здесь

    Просто поместите файлы .jar в папку libs проекта Android.

    compile fileTree(dir: 'libs', include: ['*.jar'])

    эта строка кода в файле graddle apps сделает все остальное.

    Happy Coding :)

    Ive сделал выше 3 шага и свое рабочее очарование для меня.

    (Я использую Android Studio 2.1.2)

    введите описание изображения здесь

    Шаг 1

    • Добавьте имя пакета jar (в качестве примера compile 'com.squareup.okhttp3:okhttp:3.3.1' ) в скрипт построения gradleиента в файле build.gradle (Module: app) .

    введите описание изображения здесь

    Шаг 2: Щелкните правой кнопкой мыши папку приложения -> Создать -> Модуль

    введите описание изображения здесь

    Шаг 3: Нажмите « Импортировать пакет JAR / .AAR». Затем просмотрите свой пакет. в качестве примера: OkHttp.jar

    введите описание изображения здесь

     menu File -> project struct -> module select "app" -> dependencies tab -> + button -> File dependency -> PATH/myfile.jar 

    В Mac OS X:

    1. Добавить jar как library (перетащить jar в libs, щелкнуть правой кнопкой мыши как lib)

    2. Добавить компиляцию для build.grade

    3. Установите gradle v1.6 (используйте homebrew)

      • варить установку
      • gradle -v
      • если не v1.6, обновить homebrew
    4. gradle clean (rebuild android не работает)

    Это меня разобрало.

    Создайте папку libs. Добавьте файл .jar. Щелкните правой кнопкой мыши по нему, и вы найдете добавить jar в качестве зависимости. Нажмите здесь. Это все, что вам нужно сделать. Вы можете найти зависимости, добавленные в файл build.gradle.

    1) создайте папку «your_libs» внутри папки Project / app / src.

    2) Скопируйте файл jar в эту папку «your_libs»

    3) В Android Studio перейдите в меню Файл -> Структура проекта -> Зависимости -> Добавить -> Зависимость файла и перейдите к файлу jar, который должен находиться под символом ‘src / your_libs’

    3) Выберите файл jar и нажмите «Ok»

    а затем вы можете увидеть на своем build.gradle вот так: компилировать файлы (‘src / your_libs / your.jar’).

    В android Studio 1.1.0. Я решил этот вопрос, выполнив следующие шаги:

    1: Поместите файл jar в каталог libs. (в 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: Теперь эта банка добавлена.

    введите описание изображения здесь

    Как и многие предыдущие, вы должны добавить

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

    в файл build.gradle.

    Однако у меня есть проект в Android Studio, который был перенесен из Eclipse, и в этом случае папка «libs» называется «lib», поэтому для меня удаление «s» решило проблему.

    Я прочитал все ответы здесь, и все они, похоже, охватывают старые версии Android Studio!

    С проектом, созданным с помощью Android Studio 2.2.3, мне просто нужно было создать каталог libs в app и разместить там свою банку. Я сделал это с моим файловым менеджером, не нужно нажимать или редактировать что-либо в Android Studio.

    Почему это работает? Откройте Build / Edit Libraries и Dependencies, и вы увидите:

     {include=[*.jar], dir=libs} 

    С Android Studio 3.0:

    Вы должны просто просто скопировать файл jar в папку libs в папке приложения.

    … myproject \ app \ libs \ myfile.jar

    Затем выберите «Файлы проекта» в раскрывающемся списке в окне «Проекты», щелкните правой кнопкой мыши проект и выберите «Синхронизировать», чтобы просмотреть файл в файлах проекта. Он автоматически добавит зависимости в файле gradle (Module: app).

     dependencies { ... implementation files('libs/myfile.jar') 

    Вот еще одно решение:

    Перейдите в представление «Файлы проекта» (выберите «Файлы проекта» в раскрывающемся списке).

    введите описание изображения здесь

    Выберите New … Directory, создайте папку с именем libs прямо под приложением.

    введите описание изображения здесь

    Откройте File Explorer, скопируйте и вставьте файл jar в папку libs.

    В Android Studio щелкните правой кнопкой мыши файл jar и выберите «Добавить как библиотеку …» из всплывающего меню.

    введите описание изображения здесь

    Вы должны увидеть файл, указанный в списке зависимостей в файле gradle:

     dependencies { ... implementation files('libs/myfile.jar') } 

    Откройте свой java-файл и добавьте там оператор импорта:

     import com.xxx.xxx; 

    compile fileTree(dir: 'libs', include: '*.jar') отлично работает, но не compile files(...) , протестированные с помощью Studio Beta 0.8.1

    Мой ответ в основном собирает некоторые из правильных, но неполных ответов, приведенных выше.

    1. Открыть build.gradle
    2. Добавьте следующее:

       dependencies { compile 'com.android.support:appcompat-v7:19.+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.gson:gson:2.3' } 

      Это позволит поддерживать два разных способа добавления зависимостей. compile fileTree(dir: 'libs', include: ['*.jar']) (как упоминалось в @Binod) сообщает компилятору посмотреть под папкой libs для ЛЮБОЙ банки. Хорошей практикой является создание такой папки «libs», которая будет содержать пакеты баннеров, которые необходимо использовать нашему приложению.

    Но это также позволит поддерживать зависимость Maven. 'com.google.code.gson:gson:2.3' (как упоминалось в @saneryee) – это еще один рекомендуемый способ добавления зависимостей, которые находятся в центральном удаленном репозитории, а не в нашем / libs «локальном репозитории». Это в основном говорит о том, что gradle ищет эту версию этого пакета, и он говорит компилятору учитывать это при компиляции проекта (имея его в пути к classам)

    PS: Я использую оба

    Для нового Android 1.0.2 в вашем файле build.gradle уже есть следующее:

    compile fileTree (include: [‘* .jar’], dir: ‘libs’)

    Добавьте библиотеку jar в папку libs -> щелкните правой кнопкой мыши по библиотеке -> щелкните добавить в качестве библиотеки -> он попросит вас добавить проект для -> выберите проект -> нажмите ok. Следующая строка автоматически добавляется для сборки .gradle

    компилировать файлы (‘libs / android-query.jar’)

    Это сделало это для меня. больше ничего не требовалось. Я показал это для android aquery другой сторонней библиотеки для Android.

    1. Добавлена ​​папка «libs» на уровне «app».
    2. Добавлены все «банки» в этом проекте.
    3. Затем выберите все банки в папке «libs»,
    4. щелкните правой кнопкой мыши на выбранных элементах и ​​скажите «добавить библиотеку»,
    5. то вы найдете опцию расширения jars в самом проекте проекта.

    Я заметил, что структура проекта CTRL + ALT + SHIFT + S -> -> app-module -> Dependencies “уже имела запись как” (dir: ‘libs’, include: ‘* .jar’) “под” compile-option “, изначально. И после добавления банок в соответствии с шагами, указанными выше, «build.gradle» получил записи для новых добавленных банок.

    Давайте будем гением компьютера.