Як додати проект бібліотеки до Android Studio?


796

Як додати проект бібліотеки (наприклад, Sherlock ABS) до Android Studio ?

(Не до старого пакета на основі ADT Eclipse, а до нового Android Studio .)


28
так, з'ясувати це було набагато заплутаніше, ніж це мало бути ... не так, як це було краще в затемненні.
Даніель Сміт

4
Відео YouTube, як додати бібліотеки до Android Studio, пояснює процес.

2
Якщо ви використовуєте Gradle, дивіться цю відповідь StackOverflow .
викрадено

2
Ось відео, яке мені здалося дуже корисним: youtube.com/watch?v=1MyBO9z7ojk
Саймон

Відповіді:


718

Оновлення для Android Studio 1.0

З моменту виходу Android Studio 1.0 (і багато версій між v1.0 та однією з перших з моєї попередньої відповіді) деякі речі змінилися.

Мій опис зосереджений на додаванні проекту зовнішньої бібліотеки вручну за допомогою файлів Gradle (для кращого розуміння процесу). Якщо ви хочете додати бібліотеку за допомогою творця Android Studio, просто перевірте відповідь нижче за допомогою наочного посібника (є деякі відмінності між Android Studio 1.0 та тими, що є на скріншотах, але процес дуже схожий).

Перш ніж почати додавати бібліотеку до проекту вручну, подумайте про те, як додати зовнішню залежність. Це не заплутається у вашій структурі проекту. Практично кожна відома бібліотека Android доступна у сховищі Maven, і її встановлення містить у app/build.gradleфайлі лише один рядок коду :

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
}

Додавання бібліотеки

Ось повний процес додавання зовнішньої бібліотеки Android до нашого проекту:

  1. Створіть новий проект за допомогою творця Android Studio. Я назвав її HelloWorld .
  2. Ось оригінальна структура проекту, створена Android Studio:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. У кореневому каталозі ( HelloWorld/) створіть нову папку: /libsв яку ми розмістимо наші зовнішні бібліотеки (цей крок не потрібен - лише для збереження більш чистої структури проекту).
  2. Вставте свою бібліотеку у новостворену /libsпапку. У цьому прикладі я використав бібліотеку PagerSlidingTabStrip (просто завантажте ZIP з GitHub, перейменуйте каталог бібліотеки на „PagerSlidingTabStrip” та скопіюйте його). Ось нова структура нашого проекту:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. Відредагуйте settings.gradle, додавши свою бібліотеку до include. Якщо ви використовуєте спеціальний шлях, як я, вам також слід визначити каталог проектів для нашої бібліотеки. Цілий settings.gradle має виглядати нижче:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')

5.1 Якщо ви зіткнулися з помилкою "Конфігурація за замовчуванням", спробуйте це замість кроку 5,

    include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. В app/build.gradleдодати наш проект бібліотеки в якості залежності:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    }

6.1. Якщо ви дотримувались кроку 5.1, виконайте це замість 6,

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    }
  1. Якщо у вашому проекті бібліотеки немає build.gradleфайлу, його потрібно створити вручну. Ось приклад цього файлу:

        apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        }
  2. Крім того, ви можете створити глобальну конфігурацію для свого проекту, яка буде містити версії SDK та створювати версію інструментів для кожного модуля для збереження узгодженості. Просто відредагуйте gradle.propertiesфайл та додайте рядки:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21

    Тепер ви можете використовувати його у своїх build.gradleфайлах (у модулях додатків та бібліотек), як показано нижче:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //...
  3. Це все. Просто натисніть „синхронізувати проект із піктограмою Gradle” синхронізувати з Gradle. Ваша бібліотека повинна бути доступною у вашому проекті.

Google I / O 2013 - Нова система Android SDK Build Build - це чудова презентація про створення програм для Android за допомогою системи Gradle Build: Як сказав Xavier Ducrohet:

Android Studio - це питання редагування, налагодження та профілювання. Справа вже не в тому, щоб будувати.

На початку це може бути трохи заплутано (особливо для тих, хто працює з Eclipse і ніколи не бачив мурашника, як я;)), але наприкінці Gradle дає нам чудові можливості і варто вивчити цю систему побудови.


6
ей там, ти прекрасно пояснив справжнє питання. озвучуючи свою відповідь, щоб інші люди могли її бачити. одна незначна річ, яка не працювала на моєму боці, - це посилання на бібліотеку підтримки в build.gradle залежності. як виявляється, "Project / libs ..." чомусь не працювали. мені довелося покінчити з ідентифікацією проекту. так 'libs / ...'. і складено штраф. одна примітка полягає в тому, що ці два способи посилання на шляхи чи проекти є заплутаними. Я сподіваюся, що в майбутньому з'явиться проста і уніфікована схема. немає жодної причини, чому оригінальне рішення не працювало б.
переможець н.

9
+1. Довго боровся з цим. Як сказав переможець , посилання на основну базу підтримки головного проекту з модуля actionbarsherlock не працює. Мені довелося зробити наступне, щоб він працював ... (1) Видалити файли компіляції ("libs / android-support-v4.jar") з build.gradle проекту. Основний модуль повинен мати лише проект компіляції (": бібліотеки: actionbarsherlock") . (2) Додайте компілюючі файли ('libs / android-support-v4.jar') замість файлів компіляції (': HelloWorld / libs / android-support-v4.jar') у build.gradle actionbarsherlock.
Акбар ібрагім

3
Де знаходиться Global libraries(# 10: "зараз перейдіть до Глобальних бібліотек")? Крім цього, він працює як описано :) Дякую. (Я сподіваюсь, що Google прийде до цього - таке просте завдання наразі є складним у голові)
Конрад Моравський

8
Чому я не маю розділ "Модуль імпорту" у виборі, куди ви направляєте нас? Я використовую Android Studio 0.3.1
alicanbatur

5
Відсутній варіант модуля імпорту !!
amalBit

274

Ось наочний посібник:

Оновлення для Android Studio 0.8.2:

У Android Studio 0.8.2 перейдіть до Структура проекту -> у розділі Модулі просто натисніть кнопку плюс та виберіть Імпорт існуючого проекту та імпорт actionbarsherlock. Потім синхронізуйте файли Gradle.

Якщо ви зіткнулися з помилкою

Помилка: версія версії інструментів побудови SDK (xx.xx) занизька. Мінімальний необхідний рік - рік

просто відкрийте build.gradleфайл у actionbarsherlockкаталозі та оновіть buildToolsVersionзапропонований.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


Файл меню -> Структура проекту ... :

Спочатку

Модуль -> Імпортувати модуль

Друге

Після імпорту модуля бібліотеки, виберіть свій модуль проекту і додати залежність:

Третя

А потім виберіть імпортований модуль :

Четвертий


31
Опція модуля імпорту недоступна в Android Studio4.3
amalBit

3
Ключовим для мене, щоб зробити цю роботу і вирішити пакет не знайдених помилок, був крокSelect your project module and add dependency dependencies { // ... compile project(':library') }
toobsco42

7
Це скопіює модуль бібліотеки у вашому проекті, а це не те, що ви хочете, якщо ви хочете, щоб загальна база коду ділилася між кількома проектами
Rémy DAVID

@amalBit це ... ти з майбутнього? Але якщо серйозно, то їм потрібно зробити так просто, як це було у Eclipse ADT; хто хоче потрапити на сторонній репо і зібрати (потенційно) довільний код у кожну збірку? Це серйозно підриває QA та протоколи заморожування коду
CCJ

Це було ще в бета-дні Android студії 0.4.3. Щодо репо приєднання третьої сторони, скажіть, уникайте використання +. Просто вкажіть версію, яку потрібно. Якщо ви все ще не можете йому довіряти достатньо, ви можете створити банку (або клон) будь-якого репо і використовувати його.
amalBit

111

Використовуйте меню Файл -> Структура проекту -> Модулі .

Я почав його використовувати сьогодні. Це трохи інакше.

Що стосується Шерлока, можливо, ви хочете видалити їх тестовий каталог або додати junit.jarфайл до класного шляху.

Щоб імпортувати бібліотеку за допомогою gradle, вам доведеться додати її до dependenciesрозділу свого build.gradle(модуля).

Напр

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Android Studio змінюється.

Існує розділ під назвою "Відкрити настройки модуля", якщо ви клацніть правою кнопкою миші на папці модуля в розділі проекту Android Studio (я використовую версію 0.2.10).


1
Хм, він все ще говорить android-apt-компілятор: styles.xml: 5: error: Помилка отримання батьківського елемента для елемента: Не знайдено ресурсу, який відповідає заданому імені 'Theme.Sherlock.Light.DarkActionBar'.
Олександр Куляхтін

Під модулем Шерлока -> Залежності У мене є android 4.2.2 та бібліотека підтримки v4
Blackbelt

@ ρyaσѕρєяK поруч із кнопкою запуску є мітка з Android. Якщо натиснути там, ви знайдете Правка конфігурації. Натисніть і під цільовим пристроєм натисніть на "Показати вибір Dialg"
Blackbelt

7
Привіт, у мене така ж проблема, як і Alex ("Gradle: Помилка отримання батьківського елемента для елемента: Не знайдено ресурсу, який би відповідав заданому імені" Theme.Sherlock.Light ".") - Здається, залежність від Java правильно вирішена, тому IDE не звинувачує мою SherlockActivity, але чомусь Gradle, здається, не заглядає у ресурси АБС. Будь-які ідеї?
риба

4
На Android Studio 0.2.8 Modulesу Project Structureвікні немає розділу .
Конрад Моравський

52

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

Зокрема, у випадку з проектом бібліотеки, що не є джерелом, прочитайте наступний фрагмент зверху:

Проекти Gradle можуть також залежати від інших проектів gradle, використовуючи налаштування для багатьох проектів. Налаштування мультипроекту зазвичай працює, коли всі проекти є підпапками даного кореневого проекту.

Наприклад, надано такій структурі:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

Ми можемо виділити 3 проекти. Gradle посилатиме їх на таку назву:

:app
:libraries:lib1
:libraries:lib2

У кожного проекту буде свій власний build.gradle, який оголошує, як він будується. Крім того, у корені буде оголошено проект, який називається settings.gradle. Це дає таку структуру:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

Зміст settings.gradle дуже простий:

include ':app', ':libraries:lib1', ':libraries:lib2'

Це визначає, яка папка насправді є проектом Gradle.

Проект: app, ймовірно, залежатиме від бібліотек, і це робиться шляхом оголошення наступних залежностей:

dependencies {
    compile project(':libraries:lib1')
}

Будь ласка, зауважте, що для цього не вдалося використати графічний інтерфейс Android Studio або взагалі нічого не використовувати.

В даний час я використовую підмодулі git для зв’язку вкладеної бібліотеки до фактичної бібліотеки git repo, щоб уникнути безладу залежності.


Дуже корисно і, що ще важливіше, не грати до примх цього дня.
RichieHH

1
велике дякую за включення єдиної відповіді, яка має сенс. кожна інша відповідь застаріла і просто не працює. Я навіть не пробував CS в Virginia Tech, тому що цілі перші два роки вчився збиватися в затемненні. це не має ніякого сенсу fckn, але бачачи Gradle результат випадкових кліків в IDE робить.
dcunited001

Дякуємо за підказку git submodules. Раніше я використовував з'єднання, але тепер перейшов на зовнішні зовнішні файли SVN. Працює як шарм.
Веліс

25

Я щойно знайшов простіший спосіб (а не записувати безпосередньо у файли .gradle).

Це для Android Studio 1.1.0.

  1. Файл меню -> Новий модуль ... :

    Імпорт існуючого проекту

    Клацніть на "Імпортувати існуючий проект".

  2. Виберіть потрібну бібліотеку та потрібний модуль.

  3. Клацніть закінчити. Android Studio імпортує бібліотеку у ваш проект. Він буде синхронізувати файли gradle.

  4. Додайте імпортований модуль до залежностей вашого проекту.

    Клацніть правою кнопкою миші на папці програми -> Відкрити налаштування модуля -> перейдіть на вкладку залежностей -> Клацніть на кнопку '+' -> натисніть на залежність модуля.

    Потім модуль бібліотеки буде доданий до залежностей проекту.

    Додати модуль бібліотеки

  5. ???

  6. Прибуток


17

Найпростіший спосіб я включити проект зовнішньої бібліотеки - це (наприклад, включити бібліотеку Facebook, яка зберігається в одному каталозі в папці залежностей):

  1. У налаштуваннях.gradle додати

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
  2. Додайте в розділ залежностей build.gradle

    compile project ('facebook')

Залишилося синхронізувати проект з файлами gradle.


Привіт Вілен, що тут налаштуванняДір
Рахініш Мішра

Привіт Райніш. З документації: settingsDir Повертає каталог налаштувань збірки. Каталог налаштувань - це каталог, що містить файл налаштувань. Повернення: Каталог налаштувань. Ніколи не повертає нуль.
Vilen

Дві точки перед / залежностями важливіші, щоб їх піклували. Ваша відповідь мені дуже допомагає .. Дякую
Rajnish Mishra

ПРИМІТКА: для оцінки рядків у gradle ви повинні використовувати подвійну цитату ("). Це" збережіть день "для мене. Пов'язане з цим
Solata

15

Простий спосіб додати файл JAR як бібліотеку до проекту Android Studio:

а) Скопіюйте файли * .jar

b) Вставте в каталог libs під своїми проектами:

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

в) Додати до build.gradle:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) Якщо ваш проект із прикладу com.example.MYProject і бібліотеки com.example.ScanAPI має однакову область імен com.example , Android Studio перевірить вашу збірку та створить усі необхідні зміни у вашому проекті. Після цього ви можете переглянути ці налаштування в меню Файл -> Структура проекту .

c) Якщо ваш проект та бібліотеки мають інший простір імен, вам слід клацнути правою кнопкою миші на бібліотеці та вибрати опцію "Додати як бібліотеку" та вибрати тип необхідного.

Пам'ятайте, що в поточній версії Android Studio (0.2.3) опція "Структура проекту" не робить жодних автоматичних змін у "build.gradle". Можливо, ця функція буде доступна в наступних версіях.


12

Варіант 1: Видалення файлів у файли / каталог проекту

Відповідний файл build.gradle буде оновлено автоматично.

Варіант 2: Змініть файл build.gradle вручну

Відкрийте файл build.gradle та додайте нове правило збірки до закриття залежностей. Наприклад, якщо ви хочете додати служби Google Play, розділ залежності вашого проекту виглядатиме приблизно так:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   }

Варіант 3: Використовуйте інтерфейс користувача Android Studio

На панелі "Проект" Controlнатисніть модуль, до якого потрібно додати залежність, і виберіть "Відкрити налаштування модуля".

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

Перейдіть на вкладку Залежності, а потім у нижньому лівому куті натисніть кнопку +. Ви можете вибрати з наступного списку варіантів:

  • Залежність бібліотеки
  • Файлова залежність
  • Залежність модуля

Потім можна ввести додаткову інформацію про залежність, яку ви хочете додати до свого проекту. Наприклад, якщо ви вибрали залежність бібліотеки, Android Studio відображає список бібліотек, які ви можете вибрати.

Після додавання залежності перевірте файл build.gradle на рівні модуля. Він повинен був автоматично оновлюватися, щоб включати нову залежність.

Джерело


10

Ось як це працює для мене в Android Studio 1.5+

У проекті, де ви хочете додати проект зовнішньої бібліотеки, перейдіть до меню Файл -> Новий -> * Імпортувати новий модуль **, перейдіть до проекту бібліотеки, який ви хочете додати до свого проекту, виберіть, щоб додати модуль "бібліотека" в ваш проект. Ви отримаєте settings.gradle у своїх проектах, окрім програми, включеної бібліотеки, приблизно так:

include ':app', ':library'

Додати в build.gradle (Модуль: додаток) у розділі залежностей:

Проект компіляції (': library')

Побудуйте проект, і все.

* Ви можете додати скільки завгодно бібліотек (модулів). У цьому випадку у settings.gradle у вас буде:

 include ':app', ':lib1', ':lib2', ...

А в build.gradle вам потрібно мати:

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

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
}

9

Якщо вам потрібен доступ до ресурсів бібліотечного проекту (як це робиться з ABS), переконайтеся, що ви додаєте проект / модуль бібліотеки як "залежність модуля" замість "бібліотеки".


9

Зробити це можна легко. Перейдіть до меню Файл -> Нове -> Модуль імпорту ... :

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

Знайдіть каталог, який містить модуль. Клацніть Готово:

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

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

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

Примітка. Якщо ви отримали помилку SDK, оновіть її.


1
На мою думку, найпростіший і найшвидший спосіб, який працює досі!
mrj

8
  1. Натисніть, F4щоб показати структуру проекту , клацніть бібліотеки або глобальні бібліотеки та натисніть, +щоб додати файл JAR.
  2. Клацніть Модулі, до чого потрібно додати банку, виберіть вкладку Залежності , натисніть +і додайте Бібліотека.

6

Редагувати залежність бібліотеки через графічний інтерфейс не рекомендується, оскільки це не записує ці зміни у файл build.gradle. Тож ваш проект не будуватиметься з командного рядка. Ми повинні редагувати файл build.gradle безпосередньо таким чином.

Наприклад, надано такій структурі:

MyProject /

  • додаток /
  • бібліотеки /
    • lib1 /
    • lib2 /

Ми можемо виділити три проекти. Gradle посилатиме їх на такі назви:

  1. : додаток
  2. : бібліотеки: lib1
  3. : бібліотеки: lib2

Проект: app, ймовірно, залежатиме від бібліотек, і це робиться шляхом оголошення наступних залежностей:

dependencies {
    compile project(':libraries:lib1')
}

Дійсно? Як не дивно, у них є весь графічний інтерфейс, і все ж це не доцільно. Як так?
Олександр Куляхтін

Оскільки редагування через GUI не записує цих змін у файл build.gradle. Редагування графічного інтерфейсу зберігає зміни лише у власних проектах IntelliJ. На даний момент це помилка, яка буде виправлена ​​в майбутніх випусках. Ви можете посилатися на цю відповідь від керівника команди Android Android-Studio stackoverflow.com/questions/16678447/…
Shakti Malik

5

Щоб додати відповідь: Якщо IDE не показує помилок, але при спробі компіляції ви отримуєте щось на кшталт:

No resource found that matches the given name 'Theme.Sherlock.Light'

Ваш проект бібліотеки, ймовірно, складений як прикладний проект. Щоб змінити це, перейдіть до:

Файл меню -> Структура проекту -> Грані -> [Назва бібліотеки] -> Поставте прапорець "Модуль бібліотеки".


5

Перший спосіб Це працює для MacBook.

Спочатку виберіть файл builder.gradle як даний екран:

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

Додайте залежності, як на вибраному екрані:

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

Виберіть проект синхронізації.

Якщо ви отримуєте помилку на кшталт "Проект із контуром": підпис "не вдалося знайти в проекті:: додаток" ", то будь ласка, використовуйте другий спосіб:

Виберіть меню Файл -> Нове -> Модуль імпорту ... :

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

Після натискання на модуль імпорту ,

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

надати шлях бібліотеки, як, як мій шлях MacBook:

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

Клацніть на Готово . Тепер ваша бібліотека додана.


4

Після імпорту модуля ABS (з Файл> Структура проекту) та переконання, що він має Android 2.2 та Бібліотеку підтримки v4 як залежності, я все-таки отримував таку помилку, як ви @Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

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


Я спробував усі кроки, включаючи додавання модуля як залежність, але все ще є Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'.. Схоже, мій основний проект не бачить ресурсів бібліотечного проекту (ABS). Однак IDE розпізнає посилання на класи та ресурси. Скріншот
christiaanderidder

Я переходжу до IDEA 13 з 12, і у мене є ця помилка. Тільки реімпорт для всіх моїх залежностей допоможе. Видаліть усі модулі вручну, видаліть пов’язані файли * .iml та повторно імпортуйте свої лібси
Дмитро Тарасов

4

Android Studio 3.0

Просто додайте ім’я бібліотеки до блоку залежностей файлу build.gradle додатка .

dependencies {
    // ...
    implementation 'com.example:some-library:1.0.0'
}

Зауважте, що вам слід скористатися, implementationа не compileзараз. Це нове для Android Studio 3.0. Дивіться це питання і відповіді для пояснення різниці.


Це насправді зміна Gradle 4, а не Android Studio 3. Ви можете продовжувати використовувати com.android.tools.build:gradle:2.3.3замість 3.0.0 в Android Studio 3, якщо хочете продовжувати використовувати "компілювати".
chauduyphanvu

3

Щоб вирішити цю проблему, потрібно просто додати шлях до ресурсу abs до файлу збирання проекту, як нижче:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

Отже, я знову компілюю без помилок.


3

Якщо у вас є Android Studio .0.4.0, ви можете створити нову папку в шляху збірки, YourApp/libraries. Скопіюйте файл JAR. Там правою кнопкою миші клацніть на ньому та "Додати як бібліотеку". Тепер у вас є спливаюче вікно. Просто виберіть каталог і натисніть ОК, і все.


3

Просто імпортуйте проект бібліотеки Android як модуль та у Build.gradle .

Застосувати плагін: 'com.android.library'

Після цього виконайте наступні дії:

  1. Клацніть правою кнопкою миші на модулі та виберіть відкрити налаштування модуля
  2. Виберіть залежності, натисніть +, виберіть залежності бібліотеки та додайте раніше імпортований модуль.



2

В основному, ви можете включати свої файли JAR трьома різними способами. Останній - віддалена бібліотека, яка використовує онлайн-сховище https://bintray.com/ jcenter. Але якщо ви зробите це одним із двох інших способів, файл JAR буде фізично включений у ваш проект. Прочитайте це посилання https://stackoverflow.com/a/35369267/5475941 для отримання додаткової інформації. У цій публікації я пояснив, як імпортувати свій файл JAR в студію Android, і пояснив усі можливі способи.

Підсумовуючи це, якщо він такий (локальна адреса), вони завантажуються, і ці файли JAR є фізично в проекті:

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

Але якщо це така Інтернет-адреса, це віддалені бібліотеки (частина bintray.com jcenter), і вони будуть використовуватися віддалено:

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

Я сподіваюся, що це допомагає.


2

Відкрийте файл програми модуля build gradle і додайте свою залежність. Якщо ви завантажуєте бібліотеку, просто імпортуйте та будуйте як gradle.

В іншому випадку додайте сховища в додаток модуля бічного gradle:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

Перші сховища завантажать бібліотеку для вас.

І компілюйте завантажену бібліотеку:

 compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    }

Якщо ви створюєте бібліотеку, вам просто потрібно імпортувати проект як імпортувати новий модуль.


2

У мене була інша причина проблеми, тому у людей:

repositories {
    mavenCentral()
}

змінити mavenCentral () на jcenter () та додати

allprojects {
    repositories {
        jcenter()
    }
}

1

У студії Android перейдіть до папки додатків та відкрийте файл build.gradle. Тут ви побачите залежності {}. Всередині нього можна додати проект бібліотеки та синхронізувати. Тепер після синхронізації бібліотеки вона буде додана до вашого проекту, і ви можете використовувати його функції та класи у вашому проекті.


1

Для Android Studio:

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

Клацніть на Build.gradle (модуль: додаток) .

І додати за

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

а у вашому каталозі "додаток" створіть каталог "libs". Додайте файл yourfile.jar:

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

Нарешті, складіть файли Gradle:

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


0

Я також зіткнувся з тією ж проблемою, що потім робив наступні речі.

  1. Я імпортую проект бібліотеки в свій AndroidStudio IDE як модуль, використовуючи меню Файл -> Імпорт меню модулів

  2. Потім я перейшов до свого основного модуля, в якому я хочу, щоб проект бібліотеки був залежним проектом

  3. Клацніть правою кнопкою миші на основний модуль (в моєму випадку його назва - додаток ) -> відкрити налаштування модуля -> перейти на вкладку залежності -> натиснути на кнопку + (ви отримаєте її в правій частині вікна) -> натисніть на залежність модуля - > виберіть зі свого списку проект бібліотеки

Застосуйте зміни та натисніть OKкнопку.

Це працювало для мене. Я сподіваюся, що це допоможе і іншим.



-1

Оскільки версії змінюються, так змінюється і користувальницький інтерфейс та параметри, доступні в меню. Прочитавши більшість відповідей на ці запитання, мені довелося здогадатися, що буде працювати для Android Studio 1.1.0 .

  1. За допомогою миші виберіть проект на головному рівні (саме тут відображається назва вашої програми).

  2. Клацніть правою кнопкою миші та виберіть параметри меню New, Folder, Assets Folder .

  3. Після створення папки активів, вставте або скопіюйте її, незалежно від файлу JAR, який вам потрібен для вашої бібліотеки.

  4. У головному меню Android Studio (у верхній частині екрана) виберіть Файл -> Структура проекту .

  5. Потім виберіть назву проекту та перейдіть на вкладку Залежності .

  6. Клацніть на знак плюс ( +) в нижній лівій частині діалогового вікна та виберіть залежність файлу.

  7. Нарешті відкрийте нещодавно створену папку активів, виберіть файли JAR, які ви скопіювали, а потім натисніть кнопку Застосувати та OK.

Очистіть і відновіть свій проект.


1
робити копії банок в активи - не дуже гарна ідея, це зайво збільшить розмір apk
Rajnish Mishra

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