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 работать не меньше. Я, наконец, взломал его – вот шаги, которые я сделал:

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

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

после того, как я сделал выше четырех, он начал работать нормально. Я думаю, что шаг "добавить как библиотеку" был тем, который я ранее пропустил, и он не работал, пока я не очистил его.

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


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

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

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

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    
  3. Android Studio уже должна была установить оболочку gradlew. От в командной строке перейдите на верхний уровень вашего проекта (каталог, который имеет ).

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

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

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

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

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

    Menu

    4.4. Выберите локальный jar и добавьте его в проект.

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


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

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

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

1:

Step 1

2:

enter image description here

3:

enter image description here

вы увидите это:

enter image description here


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

  1. если вы в Android просмотр в project explorer, измените его на проект вид, как показано ниже

enter image description here

  1. щелкните правой кнопкой мыши нужный модуль, в который вы хотите добавить внешнюю библиотеку, затем выберите New > Directroy и назовите его как 'libs'
  2. скопировать blah_blah.Джар в 'libs'
  3. щелкните правой кнопкой мыши blah_blah.фляги, затем выберите 'добавить в библиотеку..'. Это автоматически добавит и запись в построить.Gradle в as компиляции файлы ('libs / blah_blah.jar') и синхронизировать gradle. И вы закончили

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

Ex: compile ' com.гуглить.андроид.gms: play-услуги-объявления: 9.4.0'

подробнее о Gradle Зависимость Mangement


  1. Загрузить файл библиотеки с веб-сайта
  2. копировать из Windows explore
  3. вставить в папку lib из Project Explorer
  4. Ctrl+Alt+Shift+S открыть структуру проекта
  5. выберите вкладку зависимости, добавьте файл с помощью +
  6. проект синхронизации панели инструментов с файлом 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 > редактировать библиотеки и зависимости... проект "это откроет диалог" Структура"

enter image description here

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

enter image description here

Шаг 3: Появится диалоговое окно "выбрать зависимость от библиотеки", укажите" gson "в поиске и нажмите кнопку"Поиск"

enter image description here

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

enter image description here

нажать "ОК", "структура проекта" Диалог. Gradle обновит ваши сценарии сборки соответствующим образом.

enter image description here

надеюсь, это поможет:)


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 --> чем импортировать как .сосуд -- enter image description here

затем CTRL+ALT+SHIFT+S --> project sturure -->выберите модуль, который вы хотите добавить jar -->Dependencendies --> зависимость модуля. строить.gradle модуля будет обновляться автоматически. enter image description here


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

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

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

Happy Coding :)


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

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

enter image description here

Шаг 1

  • добавить имя пакета jar (например compile 'com.squareup.okhttp3:okhttp:3.3.1') в скрипт сборки gradle под построить.gradle (модуль:приложение).

enter image description here

Шаг 2: Право нажмите на кнопку app папку -> Новый -> Модуль

enter image description here

Шаг 3: клик импорт JAR/.Пакет AAR затем просмотрите пакет. в качестве примера: OkHttp.Джар

enter image description here


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

на Mac OS X:

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

  2. добавить инструкцию compile в build.grade

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

    • brew установить gradle
    • ш - в
    • если не v1.6, обновление homebrew
  4. 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 была добавлена.

enter image description here


С Android Studio 3+:

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

... myproject\app\libs\myfile.Джар

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

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

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

перейдите в представление файлы проекта (выберите файлы проекта из раскрывающегося списка).

enter image description here

Выберите Новый... Каталог, создайте папку с именем libs прямо под app.

enter image description here

Откройте проводник, скопируйте и вставьте файл Jar в папку libs.

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

enter image description here

вы должны увидеть файл, указанный в списке зависимостей в файле 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


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

  1. открыть сборки.Gradle в
  2. добавить следующее:

    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.


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

я заметил, что "CTRL+ALT+SHIFT+S --> структура проекта --> app-module -->зависимости" уже имели Запись Как (реж.:' libs', include:'*.jar') "в разделе" compile-option", изначально. И после добавления банки в соответствии с шагами, указанными выше, " build.gradle " получил записи для новой добавленной банки.