Добавление внешней библиотеки в Android Studio

119

Я хочу добавить внешнюю библиотеку https://github.com/foursquare/foursquare-android-oauth в свое приложение для Android (я использую Android Studio, инструкции, предоставленные автором библиотеки для Eclipse, не работают для Android Studio).

Я пытался сделать это с помощью maven, поэтому в File-> Project Structure-> Dependencies я добавил, com.foursquare:foursquare-android-nativeoauth-lib:1.0.0но Gradle Sync не работает:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

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

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Любой другой способ импортировать эту библиотеку? Я могу просто скопировать и вставить исходный код в свой источник или создать из него JAR?

Кстати: если у вас возникнут проблемы, см. Этот вопрос (у меня была эта проблема после импорта): Не удалось объединить манифест: uses-sdk: minSdkVersion 14

Мариан Пандзиох
источник
1
Это должно помочь вам stackoverflow.com/questions/16588064/… androidsx.com/…
jackgris 01

Ответы:

96

Попробуй это:

File> Project Structure> Dependencies Tab> Add module dependency( scope = compile)

Где зависимость модуля - это папка библиотеки проекта Android.

malcubierre
источник
2
Я знаю это по опыту и проверке .... Но есть документы: developer.android.com/sdk/installing/studio-build.html
malcubierre 02
26
Как это сделать БЕЗ копирования? Библиотека используется другими проектами, отличными от Android, и регулярно обновляется. Если он копирует источник, то изменения в оригинале не будут видны. Разве это не глупо?
Брайан Рейнхольд
1
где вариант структуры проекта?
zulkarnain shah 01
2
Обнаружена зависимость заданного модуля, но затем я получил диалоговое окно «Выбрать модули \ nВыберите модули, от которых должен зависеть текущий модуль: \ nНичего не показывать \ n [Ок] [Отмена]». Невозможно выбрать загруженную библиотеку.
David162795 01
1
Я добавил таким образом внешнюю библиотеку и получил сообщение об ошибке «Не удалось разрешить зависимость для ': app @ buildTypeUnitTest / compileClasspath': не удалось разрешить проект: zip_file». Сгенерированный код в зависимости - это `реализация проекта (': zip_file')`. Кроме того, я использую com.android.tools.build:gradle:3.2.0-rc03 и https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Никола
209

Попробуйте один из следующих подходов:

Подход 1)

1- Выберите вид проекта

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

2- Скопируйте файл JAR в приложение -> папка lib

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

3- Щелкните правой кнопкой мыши файл JAR и выберите «Добавить как библиотеку».

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

4- Проверьте это в build.gradle

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


Подход 2)

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

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

2- Импорт пакета .JAR / .AAR

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

3- Просмотрите свой файл JAR

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

4- Готово

5- Файл -> Структура проекта -> Зависимости

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

6- Вы должны нажать кнопку +, а затем нажать «Зависимость модуля».

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

7- Здесь вы увидите свою библиотеку

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

8- выберите свою библиотеку и нажмите ОК

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

9- Затем вы увидите, что ваша библиотека добавлена.

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


Для первых двух подходов вам понадобится файл JAR. Вы можете выполнить поиск по http://search.maven.org/, чтобы найти файлы JAR, относящиеся к Android. Например, это результат поиска jdom по этой ссылке

Результат поиска по jdom


Подход 3) Android использует http://jcenter.bintray.com/ в качестве удаленной библиотеки. Например, это результат поиска jdom по ссылке.

jcenter jdom

Чтобы добавить библиотеку в этом подходе, выполните следующие действия:

1- Файл -> Структура проекта -> Зависимости

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

2- Нажмите кнопку + и выберите зависимость библиотеки

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

3- найдите свою библиотеку и выберите ее, затем нажмите ОК.


Я надеюсь, что это помогает.

Мохаммад
источник
13
Лучший ответ при переполнении стека
mizerablebr
1
Рад, что мой ответ оказался для вас полезным. Я очень ценю ваш отзыв.
Мохаммад
1
Подход 2 у меня работает. Спасибо за иллюстрации :)
Hichem Acher
1
Пожалуйста. Я рад, что этот пост вам помог.
Mohammad
1
Я не получаю опцию «Добавить как библиотеку» на шаге 3 в моей Android Studio 3.0.1
Шилендра Мадда
28

Чтобы сослаться на внешний проект библиотеки без копии, просто сделайте следующее: - Вставьте эти две строки в setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Вставьте эту строку в часть build.gradleфайла с зависимостями :

compile project(':your-lib-name')

Синхронизировать проект

Педро Сантос
источник
1
Отличный ответ, создает ссылку на исходную библиотеку, так что вам не придется повторно импортировать каждый раз при изменении кода библиотеки!
диман
21

Есть два самых простых способа, если один не работает, попробуйте другой.

  1. Добавьте зависимость библиотеки внутри зависимости внутри build.gradleфайла библиотеки, которую вы используете, и вставьте свою библиотеку во внешние библиотеки.

ИЛИ

  1. Просто перейдите в свою libsпапку внутри appпапки и вставьте .jarтуда все свои файлы библиотеки, например, теперь трюк заключается в том, что теперь войдите в settings.gradleфайл, теперь добавьте эту строку, include ':app:libs'после include ':app'того как она определенно будет работать.
Судханшу Гаур
источник
19

Любой другой способ импортировать эту библиотеку? Я могу просто скопировать и вставить исходный код в свой источник или создать из него JAR?

Полные шаги для импорта библиотеки в Android Studio 1.1

  1. Перейти к файлу -> Импортировать модуль.
  2. Исходный каталог -> Просмотрите путь к проекту.
  3. Укажите имя модуля
  4. Откройте файл build.gradle (Модуль: приложение)
  5. Добавьте следующую строку с именем вашего модуля

    скомпилировать проект (': внутреннее_имя_проекта')

Взято из: как добавить библиотеку в Android Studio

KnowIT
источник
8

Поздний ответ, хотя я думал дать исчерпывающий ответ на этот вопрос. Этот метод подходит для Android Studio 1.0.0 и выше.

ШАГОВ

  1. Сначала переключите структуру папок с Android на Project .

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

  1. Теперь найдите папку libs внутри приложения - папку сборки.

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

  1. После того, как вы вставили файл .jar в папку libs. Щелкните правой кнопкой мыши файл jar и в конце щелкните Добавить как библиотеку . Это позаботится о добавлении файлов компиляции ('libs / имя_библиотеки.jar') в build.gradle [вам не нужно вручную вводить это в свой файл сборки].

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

Теперь вы можете начать использовать библиотеку в своем проекте.

capt.swag
источник
в моем случае при использовании первого подхода я не видел в списке вариант добавления в качестве библиотеки .. но второй вариант у меня сработал. Но мой вопрос в том, почему опция добавления в качестве библиотеки не была показана в моем случае
Абдул Вахид
Очень полезно Спасибо! Примечание. После обновления студии Android кнопка «Добавить как библиотеку» больше не находится внизу списка. Сейчас он примерно 5-й снизу.
JFreeman
8

Я тоже столкнулся с этой проблемой. В тот раз я сделал несколько шагов, например:

  1. File> New> Import module> select your library_project. Затем include 'library_project'будет добавлен в settings.gradleфайл.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Если library_projectне отображается, нажмите +кнопку и выберите свой library_project.

  3. Очистите и создайте свой проект. Следующие строки будут добавлены в ваш модуль приложения build.gradle( подсказка: это не та, где classpathопределено ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Если этих строк нет, вы должны добавить их вручную, а затем снова очистить и перестроить свой проект ( Ctrl + F9).

  2. В папке library_projectвашего приложения будет создана папка с именем .

  3. Если возникает какая-либо ошибка объединения значков или задач, перейдите в AndroidManifestфайл и добавьте<application tools:replace="icon,label,theme">

Ратна Гальдер
источник
7

Три способа добавления внешней библиотеки в студии Android.

  1. если вы хотите добавить в свой проект зависимость проекта libarary:

    A. В меню «Файл» нажмите «Создать» и выберите «Модуль импорта», выберите путь к проекту библиотеки и нажмите «ОК», проект библиотеки автоматически добавится в проект студии Android.

    Б. Теперь откройте файл gradle вашего основного модуля (например, приложения) и добавьте зависимость проекта в dependency section dependencies {

    скомпилировать проект (': имя проекта библиотеки')

  2. если вы хотите добавить файл jar: A. добавьте файл jar в папку libs. Б. И добавить зависимость

    compile fileTree (dir: 'libs', include: '* .jar') // добавить весь файл jar из папки libs, если вы хотите добавить конкретный jar из libs, добавьте ниже dependency.

    компилировать файлы ('libs / abc.jar')

  3. Добавить зависимость от url (рекомендуется). лайк

    скомпилировать com.mcxiaoke.volley: library-aar: 1.0.0

Винод
источник
привет винод, не могли бы вы объяснить, как добавить зависимость с URL? Кроме того, может ли это быть URL-адрес git, который, если он претерпевает изменение, импортируется непосредственно в мой проект? Я немного новичок в этой разработке, поэтому, пожалуйста,
потерпите
Привет, Никхил, пожалуйста, прочтите статью о зависимостях Android, в которой я упоминаю developer.android.com/studio/build/dependencies.html
vinod
6

Для простейшего способа выполните следующие действия.

  1. Перейти File-> New-> Import Module->choose library or project folder

  2. Добавьте библиотеку для включения раздела в файл settings.gradle и синхронизируйте проект (после этого вы увидите, что новая папка с именем библиотеки добавлена ​​в структуру проекта)

    include ':mylibraryName'

  3. Перейдите в Файл -> Структура проекта -> приложение -> вкладка зависимости -> нажмите кнопку с плюсом

  4. Выберите зависимость модуля -> выберите библиотеку (там должно появиться имя вашей библиотеки) и установите область (компиляция или реализация)

  5. Добавьте эту строку в build.gradle в модуль уровня приложения в разделе зависимостей

    implementation project(':mylibraryName')

кунал хедкар
источник
3

Если нужная вам библиотека находится на GitHub, то добавить ее в Android Studio легко с помощью JitPack .

Шаг 1. Добавьте репозиторий jitpack в build.gradle:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Шаг 2. Добавьте репозиторий GitHub в качестве зависимости:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack действует как репозиторий maven и может использоваться так же, как Maven Central. Приятно то, что сопровождающим не нужно загружать библиотеку. За кулисами JitPack извлечет код из GitHub и скомпилирует его. Поэтому для того, чтобы это работало, в репозитории git должен быть рабочий файл сборки.

Также есть руководство по публикации библиотеки Android.

Андрейс
источник
Разве это не будет хранить файлы зависимостей в дереве проекта?
user7860670
2

Студия Android не использует Maven, она использует Gradle, вы можете открыть свой build.gradleмаршрут, который должен быть: /app/build.gradleи добавить зависимость Gradle, которая отображается в репо:

В нем build.gradleесть dependenciesраздел:

dependencies {
    //here add your dependency
}

В репо сказано, что вам нужно добавить эту зависимость:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

только добавить , что в свой dependenciesON buil.gradle, сохранить файл, и андроид будет восстановить проект, то все

Карлос Эррера Плата
источник
1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Откройте файл build.gradle (Модуль: приложение).

 implementation project(':library')
Soumen Das
источник
1

Превратите любой проект github в однострочную реализацию градиента с помощью этого веб-сайта

https://jitpack.io/

Например, мне нужен был этот проект: https://github.com/mik3y/usb-serial-for-android

Все, что я сделал, это вставил это в свой файл gradle:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
Кэгни
источник
Ты спас меня! :). Спасибо, большое спасибо. Вы сказали, что это так просто! : Я бился около 4 часов, пока не увидел Твой ответ! :)
Виктор
0

У меня такая же проблема. Это произошло из-за зависимости основной библиотеки. Я использовал javax. *. Это то, что я сделал, чтобы исправить

В File-> Project Structure-> Dependencies я добавил это как предоставленный файл, а не как компиляцию. Затем заново соберите проект.

Эта проблема возникла после обновления студии Android. Но я думаю, что это происходит, когда вы пытаетесь редактировать файлы сборки вручную.

sudheer
источник
0

Добавление библиотеки в Android Studio 2.1

Just Go to project -> then it has some android,package ,test ,project view

Просто измените его на Project View

под app->lib folderвы можете напрямую скопировать вставку библиотеки и синхронизировать ее с Android. это оно

Винаяк Шеджери
источник
Копировать-вставить библиотеку? Это URL-адрес репозитория github
Odys
0

1) просто получите свою библиотеку отсюда http://search.maven.org/

2) создайте папку libs в каталоге приложения

3) вставьте сюда библиотеку ur

4) щелкните правой кнопкой мыши на библиотеке ur и выберите «Добавить как библиотеку».

5) это все, что вам нужно сделать!

Надеюсь, это вам обязательно поможет !!!!

Адитья Кумар
источник
0

В новом Gradle 4.1 внесены некоторые изменения

вместо компиляции мы должны использовать реализацию

реализация 'com.android.support:appcompat-v7:26.0.0'

Ваге Гарибян
источник
-1
  1. В разделе репозиториев build.gradle проекта добавьте следующее:
flatDir { dirs 'aars' } 
  1. В разделе зависимостей build.gradle добавьте следующее:

скомпилировать '[идентификатор группы]: [идентификатор артефакта]: [версия] @aar'

замена [идентификатор группы] и т. д. различными атрибутами библиотеки

  1. создайте подкаталог в каталоге aarsвашего проекта

  2. Скопируйте [youlibrary].aarфайл в подкаталог, созданный в 3. выше.

  3. Создавай и наслаждайся!

Эд Маннерс
источник
-2

ПРОСТЫЕ ШАГИ ПО ДОБАВЛЕНИЮ ЛЮБОЙ БИБЛИОТЕКИ В ANDROID STUDIO:

  1. Скопируйте соответствующий файл из любой папки на вашем компьютере (например, C: /documents/xyz.jar "), затем перейдите в Android Studio, щелкните правой кнопкой мыши папку Project Library и выберите" Вставить ".

  2. Теперь щелкните правой кнопкой мыши только что добавленный файл библиотеки и выберите опцию «добавить как библиотеку».

СДЕЛАНО

Джон Йептоми
источник