Добавление внешней библиотеки в 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


Ответы:


96

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

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

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


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


8

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

ШАГОВ

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

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

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

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

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

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

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


в моем случае при использовании первого подхода я не видел в списке вариант добавления в качестве библиотеки .. но второй вариант у меня сработал. Но мой вопрос в том, почему опция добавления в качестве библиотеки не была показана в моем случае
— Абдул Вахид

Очень полезно Спасибо! Примечание. После обновления студии 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')

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. Но я думаю, что это происходит, когда вы пытаетесь редактировать файлы сборки вручную.


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. Теперь щелкните правой кнопкой мыши только что добавленный файл библиотеки и выберите опцию «добавить как библиотеку».

СДЕЛАНО

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.