Додавання зовнішньої бібліотеки в студії Android


119

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

Я намагався зробити це з maven, тому у меню Файл-> Структура проекту-> Залежності, які я додав, 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?

BTW: якщо у вас виникли проблеми, перегляньте це питання (у мене виникла ця проблема після імпорту): Злиття маніфесту не вдалося: use-sdk: minSdkVersion 14


1
Це повинно допомогти вам stackoverflow.com/questions/16588064 / ... androidsx.com / ...
jackgris

Відповіді:


96

Спробуйте це:

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

Де залежність модуля - це папка Android, бібліотека проектів.


2
Я знаю це на досвіді та огляді .... Але є документи, доступні: developer.android.com/sdk/installing/studio-build.html
malcubierre

26
Як це можна зробити без копіювання? Бібліотека використовується іншими проектами, які не є Android, і регулярно оновлюється. Якщо воно скопіює джерело, зміни в оригіналі не будуть помічені. Хіба це не дурень?
Брайан Райнхолд

1
де варіант Структура проекту?
zulkarnain shah

2
Знайдена залежність модуля дупи, але тоді я отримав діалогове вікно "Вибрати модулі \ nВиберіть модулі, від яких повинен залежати поточний модуль: \ nНічого показувати \ n [Ок] [Скасувати]". Не вдається вибрати завантажену бібліотеку.
David162795

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 у папку app -> 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
Вас дуже вітають Я радий, що ця публікація вам допомогла.
Мохаммед

1
Я не отримую опцію Додати як бібліотеку на кроці 3 в моїй Android Studio 3.0.1
Shylendra Madda

28

Щоб посилатися на зовнішній проект ліб без копії, просто зробіть це: - Вставте ці 2 рядки на 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. Файл goto -> Модуль імпорту.
  2. Каталог джерел -> Огляд шляху проекту.
  3. Вкажіть ім'я модуля
  4. Відкрийте файл build.gradle (Модуль: додаток)
  5. Додайте наступний рядок із назвою вашого модуля

    компілювати проект (': Internal_project_name')

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


8

Пізня відповідь, хоча я думав дати поглиблену відповідь на це питання. Цей метод підходить для Android Studio 1.0.0 і вище.

КРОКИ

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

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

  1. Тепер знайдіть папку libs всередині папки app - build.

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

  1. Після того як ви вставили файл .jar всередину папки libs. Клацніть правою кнопкою миші файл банку і в кінці натисніть Додати як бібліотеку . Це допоможе додати файли компіляції ('libs / library_name.jar') у build.gradle [Вам не потрібно вручну вводити це у свій файл збирання].

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

Тепер ви можете почати використовувати бібліотеку у своєму проекті.


у моєму випадку, використовуючи перший підхід, я не бачив додавання як список бібліотеки у списку .. але другий варіант працював для мене. Але моє запитання, чому параметр додати як бібліотеку в моєму випадку не відображався
Abdul Waheed

Дуже корисно Дякую! Примітка: Після оновлення андроїд-студії кнопка "Додати як бібліотеку" вже не знаходиться внизу списку. Зараз він знаходиться приблизно о 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

Три способи в андроїд-студії для додавання зовнішньої бібліотеки.

  1. якщо ви хочете додати до свого проекту ліберальну залежність:

    A. У меню файлів клацніть нове і виберіть модуль імпорту, виберіть шлях до проекту бібліотеки та натисніть кнопку ОК, проект бібліотеки автоматично додається у проект андроїд-студії.

    B. Тепер відкрийте свій основний файл (наприклад, додаток) gradle і додайте залежність проекту в залежність розділу {

    компілювати проект (': назва бібліотечного проекту')

  2. якщо ви хочете додати jar-файл: A. додайте jar-файл у папку libs. B. І додайте залежність

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

    компілювати файли ('libs / abc.jar')

  3. Додати залежність від URL-адреси (рекомендується). подібно до

    компілювати 'com.mcxiaoke.volley: library-aar: 1.0.0'


привіт, Вино, можете пояснити, як додати залежність з URL? Також, чи може це бути git URL, який, якщо він зазнає змін, імпортується безпосередньо в мій проект? Я трохи новачок у цьому розвитку подій, тож будь ласка, будьте зі мною, якщо це просте питання :)
Katakam Nikhil

Привіт Nikhil, будь ласка, прочитайте статтю про залежність від андроїд, про яку я згадую developer.android.com/studio/build/dependency.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.


Чи не буде це збереження файлів залежності у дереві проектів?
користувач7860670

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. *. Це те, що я зробив, щоб виправити

У меню Файл-> Структура проекту-> Залежності я додав це як наданий файл, а не компіляцію. Потім перебудуйте проект.

Ця проблема почалася після оновлення андроїд-студії. Але я думаю, що це відбувається, коли ви намагаєтесь редагувати, ви створюєте файли вручну.


0

Додавання бібліотеки в Android студії 2.1

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

Просто змініть його на Перегляд проекту

під програмою app->lib folderви можете безпосередньо скопіювати вставити ліб і виконати синхронізацію Android. Це воно


Скопіюйте-Вставте губку? Його URL до репортажу github
Одіс

0

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

2) створити папку libs в каталозі додатків

3) вставити бібліотеку ур

4) клацніть правою кнопкою миші на бібліотеці ур та натисніть "Додати як бібліотеку"

5) це все, що вам потрібно зробити!

Я сподіваюся, що це точно допоможе вам !!!!


0

У новому класі 4.1 є зміни

замість компіляції ми повинні використовувати реалізації

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


-1
  1. У розділ сховищ проекту build.gradle проекту додайте наступне:
flatDir { dirs 'aars' } 
  1. У розділ залежностей build.gradle додайте наступне:

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

заміна [ідентифікатор групи] тощо на різні атрибути lib

  1. створити підкаталог aarsпід каталогом свого проекту

  2. Скопіюйте [youlibrary].aarдо підкаталогу, створеного вище.

  3. Будуйте та насолоджуйтесь!


-2

ПРОСТІ КРОКИ ДОДАТИ БІБЛІОТЕКУ В ANDROID STUDIO:

  1. Скопіюйте відповідний файл з будь-якої папки на вашому комп'ютері (наприклад, C: /documents/xyz.jar "), потім перейдіть до Android Studio і клацніть правою кнопкою миші папку" Бібліотека проектів "та виберіть пасти.

  2. Тепер клацніть правою кнопкою миші щойно доданий файл бібліотеки та оберіть опцію "додати як бібліотеку"

Зроблено

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.