Как добавить проект библиотеки в 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
Simon

Ответы:


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 Creator. Я назвал это 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 представляет собой отличную презентацию о создании приложений Android с помощью Gradle Build System: как сказал Ксавье Дюкро:

Android Studio - это все о редактировании, отладке и профилировании. Это больше не о строительстве.

В начале это может немного сбивать с толку (особенно для тех, кто работает с Eclipse и никогда не видел муравья, похожего на меня;)), но в конце Gradle дает нам большие возможности, и стоит изучить эту систему сборки.


6
Привет, ты прекрасно объяснил реальную проблему. проголосуйте за ваш ответ, чтобы другие могли его увидеть. одна незначительная вещь, которая не сработала на моей стороне, это ссылка на библиотеку поддержки в build.gradle зависимости. как выясняется, «Project / libs ...» по какой-то причине не работает. я должен был покончить с идентификацией проекта. так что "libs / ...". и скомпилировано нормально. Следует отметить, что эти два способа ссылки на пути или проекты сбивают с толку. Я надеюсь, что в будущем появится простая и унифицированная схема. нет причины, по которой оригинальное решение не сработало бы.
Виктор Н.

9
+1. Долго боролся с этим. Как сказал Виктор n , ссылка на jar поддержки основного проекта из модуля actionbarsherlock не работает. Мне нужно было сделать следующее, чтобы заставить его работать ... (1) Удалите файлы компиляции ('libs / android-support-v4.jar') из build.gradle проекта. Основной модуль должен иметь только проект компиляции (": library: 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 Build Tools (xx.xx) слишком мала. Требуется минимум yy.yy

просто откройте 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
Это скопирует библиотечный модуль в ваш проект, а это не то, что вам нужно, если вы хотите, чтобы общая кодовая база распределялась между несколькими проектами
Реми ДЭВИД

@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-compiler: styles.xml: 5: error: Ошибка при получении родительского элемента: не найден ресурс, который соответствует названию «Theme.Sherlock.Light.DarkActionBar».
Александр Куляхтин

Под модулем Шерлока -> Зависимости у меня есть Android 4.2.2 и поддержка Library v4
Blackbelt

@ ρяσѕρєяK рядом с кнопкой запуска есть ярлык с Android. Если вы нажмете там, вы найдете Редактировать конфигурацию. Нажмите и под Target Device нажмите на «Show Chooser Dialg»
Blackbelt

7
Привет, у меня та же проблема, что и у Алекса ("Gradle: Ошибка при получении родительского элемента: элемент не найден, который соответствует указанному имени 'Theme.Sherlock.Light'.") - зависимость Java, похоже, решена правильно, потому что IDE не винит мою SherlockActivity, но почему-то Gradle, похоже, не изучает ресурсы ABS. Любые идеи?
рыба

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

52

Я бы посчитал необходимым прочитать Зависимости, библиотеки Android и настройку мультипроекта. Пожалуйста, уделите несколько минут.

В частности, в случае не библиотечного проекта jar, прочитайте следующий фрагмент из вышеупомянутого источника:

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 GUI практически не использовался для этого.

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


Очень полезно и, что более важно, не играть в прихоть дня.
RichieHH

1
Большое спасибо за включение единственного ответа, который имеет смысл. все остальные ответы устарели и просто не работают. Я даже не пробовал в CS в Virginia Tech, потому что первые два года учился fckn click в Eclipse. это не имеет никакого смысла fckn, но видя Gradle результат случайных кликов в IDE делает.
dcunited001

Спасибо за совет по подмодулям git. Раньше я пользовался развязкой, но теперь перешел на внешние SVN. Работает как шарм.
Вели

25

Я только что нашел более простой способ (вместо записи непосредственно в файлы .gradle).

Это для Android Studio 1.1.0.

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

    Импортировать существующий проект

    Нажмите «Импортировать существующий проект».

  2. Выберите нужную библиотеку и нужный модуль.

  3. Нажмите готово. Android Studio импортирует библиотеку в ваш проект. Это будет синхронизировать файлы Gradle.

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

    Щелкните правой кнопкой мыши папку приложения -> Открыть настройки модуля -> перейдите на вкладку зависимостей -> нажмите кнопку «+» -> щелкните «Зависимость модуля».

    Модуль библиотеки будет добавлен в зависимости проекта.

    Добавить библиотечный модуль

  5. ???

  6. прибыль


17

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

  1. В settings.gradle добавь

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
  2. В разделе зависимостей build.gradle добавьте

    compile project ('facebook')

Осталось только синхронизировать проект с файлами Gradle.


Привет Вилен, что такое настройкиDir здесь
Rajnish Mishra

Привет Райниш. Из документации: settingsDir Возвращает каталог настроек сборки. Каталог настроек - это каталог, содержащий файл настроек. Возвращает: каталог настроек. Никогда не возвращает ноль.
Вилен

Две точки перед / зависимости более важны, чтобы о них заботиться. Ваш ответ мне очень
помогает

ПРИМЕЧАНИЕ: для оценки строки в gradle вы должны использовать двойную кавычку ("). Это" спасите день "для меня.
Связано

15

Простой способ добавить файл JAR в качестве библиотеки в проект Android Studio:

а) Скопируйте ваши * .jar файлы

б) Вставьте в каталог libs под ваши проекты:

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

в) Добавить в build.gradle:

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

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

c) Если ваш проект и библиотеки имеют другое пространство имен, вы должны щелкнуть правой кнопкой мыши по библиотеке и выбрать опцию «Добавить как библиотеку» и выбрать тип, который вам нужен.

Помните, что параметр «Структура проекта» не выполняет автоматических изменений в «build.gradle» в текущей версии Android Studio (0.2.3). Возможно, эта функция будет доступна в следующих версиях.


12

Вариант 1. Перетащите файлы в каталог libs / Project.

Соответствующий файл build.gradle будет обновлен автоматически.

Вариант 2. Вручную измените файл build.gradle

Откройте файл build.gradle и добавьте новое правило сборки в закрытие зависимостей. Например, если вы хотите добавить Google Play Services, раздел зависимостей вашего проекта будет выглядеть примерно так:

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 (Module: app) в разделе зависимостей:

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

Перестройте проект, и все.

* Вы можете добавить столько библиотек (модулей), сколько захотите. В этом случае в 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. Нажмите Модули, что вы хотите добавить JAR, выберите вкладку Зависимости , нажмите +и добавьте библиотеку.

6

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

Например, учитывая следующую структуру:

Мой проект/

  • приложение/
  • библиотеки /
    • lib1 /
    • lib2 /

Мы можем выделить три проекта. Gradle будет ссылаться на них со следующими именами:

  1. :приложение
  2. : Библиотеки: lib1
  3. : Библиотеки: lib2

Проект: app, вероятно, будет зависеть от библиотек, и это делается путем объявления следующих зависимостей:

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

В самом деле? Странно, у них есть весь графический интерфейс, и все же это не рекомендуется. Как же так?
Александр Куляхтин

Поскольку редактирование через GUI не записывает эти изменения в ваш файл build.gradle. Редактирование GUI сохраняет только изменения в данных проекта IntelliJ. На данный момент это ошибка, которая будет исправлена ​​в следующих версиях. Вы можете сослаться на этот ответ от Руководителя команды Android-студии Google stackoverflow.com/questions/16678447/…
Шакти Малик

5

Чтобы добавить к ответу: Если в среде IDE не отображается ошибка, но при попытке компиляции вы получите что-то вроде:

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

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

Файл меню -> Структура проекта -> Грани -> [Имя библиотеки] -> Отметьте «Модуль библиотеки».


5

Первый способ Это работает для MacBook.

Сначала выберите ваш файл builder.gradle, как показано на экране:

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

Добавьте зависимости как на выбранном экране:

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

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

Если вы получаете сообщение об ошибке «Проект с путем»: signature-pad «не может быть найдено в проекте«: приложение »», используйте второй способ:

Выберите меню Файл -> Создать -> Импортировать модуль ... :

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

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

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

укажите путь к библиотеке, как мой путь к 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'.. Похоже, мой основной проект не видит ресурсов библиотечного проекта (АБС). Однако среда 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. См. Этот Q & A для объяснения разницы.


На самом деле это изменение в Gradle 4, а не в Android Studio 3. Вы можете продолжать использовать com.android.tools.build:gradle:2.3.3вместо 3.0.0 в Android Studio 3, если хотите продолжать использовать «compile».
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

Я нашел решение. Это так просто. Следуйте инструкциям froger_mcs .

Убедитесь, что вы сделали папку src Исходной папкой в Структуре проекта -> Модули (Источники).

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


2

По сути, вы можете включать файлы JAR тремя различными способами. Последняя - это удаленная библиотека, которая использует https://bintray.com/ jcenter онлайн-репозиторий. Но если вы сделаете это одним из двух других способов, файл JAR будет физически включен в ваш проект. Пожалуйста, прочитайте эту ссылку https://stackoverflow.com/a/35369267/5475941 для получения дополнительной информации. В этом посте я объяснил, как импортировать файл JAR в Android Studio, и объяснил все возможные способы.

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

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

Но, если это такой интернет-адрес, это удаленные библиотеки (часть bintray.com jcenter), и они будут использоваться удаленно:

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

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


2

Откройте файл приложения build gradle module и добавьте свою зависимость. Если вы загружаете библиотеку, просто импортируйте и собирайте ее как Gradle.

В противном случае добавьте репозитории в приложение side 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 Studio перейдите в папку приложения и откройте файл build.gradle. Здесь вы увидите зависимости {}. Внутри вы можете добавить проект библиотеки и синхронизировать. Теперь после синхронизации библиотека будет добавлена ​​в ваш проект, и вы сможете использовать ее функции и классы в вашем проекте.


1

Для Android Studio:

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

Нажмите на Build.gradle (модуль: приложение) .

И добавить для

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

и в вашем каталоге "app" создайте каталог "libs". Добавьте файл yourfile.jar:

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

Наконец, скомпилируйте файлы Gradle:

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


0

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

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

  2. Затем я перешел к своему основному модулю, в котором я хочу, чтобы проект библиотеки был зависимым.

  3. Щелкните правой кнопкой мыши по основному модулю (в моем случае это имя приложения ) -> открыть настройки модуля -> перейдите на вкладку зависимостей -> нажмите кнопку + (вы получите его в правой части окна) -> щелкните по зависимости модуля - > выберите свой библиотечный проект из списка

Примените изменения и нажмите OKкнопку.

Это сработало для меня. Я надеюсь, что это поможет и другим.



-1

Действительно, как версии меняются, так и меняется пользовательский интерфейс и опции, доступные в меню. Прочитав большинство ответов на эти вопросы, я должен был догадаться, что будет работать для Android Studio 1.1.0 .

  1. С помощью мыши выберите проект на главном уровне (именно там отображается название вашего приложения).

  2. Щелкните правой кнопкой мыши и выберите пункты меню « Создать», «Папка», «Папка активов» .

  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.