Как добавить Guava в проект Android Studio?
В первую очередь, я знаю о существовании этого вопроса - Как добавить проект библиотеки в Android Studio? - и, к сожалению, он не помог я.
Моя цель довольно проста. Я хочу написать приложение для Android с помощью Android Studio IDE (0.2.11) и библиотеки Guava в моем коде.
Я не знаю, Gradle, я только начал использовать Android Studio, и мой фон Visual Studio/С# ошарашил меня, за что я извиняюсь (в этом мире Микки Мауса вы обычно просто добавляете ссылку на библиотеку и вы идете).
Я буду документировать свои шаги со скриншотами. Я в основном следовал рекомендациям, приведенным в этом ответе.
Я создал папку libraries
в моей папке проекта.
![enter image description here]()
Я клонировал в него репозиторий Guava.
![enter image description here]()
Файлы успешно появились.
![enter image description here]()
Я пошел в Project Structure
и выбрал Import Module
.
![enter image description here]()
![enter image description here]()
Я выбрал Create module from existing sources
и согласился со всеми вариантами по умолчанию.
Я обновил файл settings.gradle
до include ':libraries:guava', ':Test'
:
![enter image description here]()
И мой build.gradle
файл с compile project(":libraries:guava")
:
![enter image description here]()
Но все, что я получаю, когда я пытаюсь перестроить проект, это:
Error: Gradle: A problem occurred configuring project ':Test'.
> Failed to notify project evaluation listener.
> Configuration with name 'default' not found.
Я попытался поместить build.gradle
, как показано ниже в папке guava
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android-library'
dependencies {
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
(как говорится в вышеупомянутом ответе).
У меня googled вверх и вниз, чтобы найти "правильный" build.gradle
для Guava.
https://code.google.com/p/guava-libraries/wiki/UseGuavaInYourBuild - тоже не помог.
Я пробовал бесчисленные вещи, которые я не буду описывать здесь, поскольку они были довольно случайными - я попытался добавить зависимость от модуля, я попытался включить Use auto-import
в Gradle settings
и т.д.
Я знаю, что это не способ решения проблем, и я обещаю, что буду усердно читать Gradle Руководство пользователя от 1 до 5.4.2 до 7.3, но я не могу поверить, что это действительно предпосылка для достижения чего-то столь же незаметного, как просто добавление библиотеки в проект? Почему нет файла по умолчанию build.gradle
, из которого можно приступать к работе со всеми вещами, если это необходимо?
И реальный вопрос - как создать приложение (в Android Studio), которое строит, на самом деле работает на устройстве Android, а сверху это позволяет мне использовать Guava, чтобы я мог сортировать отображение значений без записи 50 строк кода?:)
Извините за болтливый тон моего вопроса, я знаю, что тренировка здесь, это просто мой способ избавить меня от разочарования.
Судя по тому, сколько голосов было подано за вопросы и ответы, которые занимались подобными проблемами, я уверен, что я не единственный, кто выиграет от некоторых дополнительных инструкций. Я сразу начну щедрость, но правила меня запрещают.
Ответы
Ответ 1
Если вам просто нужно использовать стабильную выпущенную версию библиотек Guava, импортировать ее очень просто.
Просто перейдите в файл build.gradle
модуля, где вы хотите использовать библиотеку (i.e GuavaTestProject/GuavaTest/build.gradle
), и сразу после
repositories {
mavenCentral()
}
добавить зависимость от Maven:
dependencies {
compile group: 'com.google.guava', name: 'guava', version: '15.0'
}
Восстановите свой проект, если это необходимо, и все (протестирован прямо сейчас с новым проектом, созданным с помощью Android Studio 0.2.13).
Если вам действительно нужно включить исходный код библиотеки Guava и скомпилировать его как модуль вашей сборки Gradle, что представляет собой совершенно другую проблему, поскольку Guava работает с Maven и поэтому вам нужно переместить систему сборки Guava от Maven до Gradle, что, по моему мнению, является чрезвычайно сложным для ваших целей.
Если вам просто нужно просмотреть источник или просмотреть его во время отладки, я бы сделал следующее:
-
Загрузите исходный код Guava в отдельной папке:
git clone https://code.google.com/p/guava-libraries/
git checkout v15.0
-
Когда Android Studio не найдет источники, нажмите "Прикрепить источники" и укажите на это альтернативное местоположение.
Я думаю, что если вам не нужно на самом деле изменять и компилировать исходный код Guava, это самое простое решение.
Ответ 2
В вашем вопросе много информации.
Я использую Guava
тоже. Но я не помню, чтобы пройти через эту проблему.
Guava
доступен на mavencentral
. Поэтому добавление guava к вашему проекту должно быть довольно простым. AFAIK, вам не нужно проверять, создавать и добавлять зависимость проекта и т.д.
Смотрите файл gradle для моего приложения ниже.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
// Dependencies
dependencies {
compile fileTree(dir: 'libs', include: '*.jar') // jar files under the libs folder.
compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' // actionbarsherlock,
compile 'com.android.support:support-v4:18.0.0' // android support lib
compile 'com.google.code.gson:gson:2.2.4' // google GSON
compile 'com.google.guava:guava:14.0.1' // guava 14.0.1
}
Ответ 3
dependencies {
compile 'com.google.guava:guava:19.0'
}
Источник: https://github.com/google/guava
EDIT:
Начиная с версии v22, существует специальная версия guava для Android.
dependencies {
compile 'com.google.guava:guava:22.0-android'
}
* Спасибо Сэм:)
Ответ 4
В Android Studio 0.3.0 Теперь это работает на Mac. См. Примечания к выпуску для дополнительных опций в добавлении библиотек
http://tools.android.com/recent/androidstudio030released
Я работаю над Windows сейчас, и есть два варианта
Щелкните правой кнопкой мыши на банке в библиотеках, и у вас есть добавление в библиотеку
Или вы можете нажать F4 и перейти к открытию настроек библиотеки, поэтому кажется, что вам не нужно так много работать в Windows, как на Mac
Это то, что я сделал. Пожалуйста, прочитайте до конца, потому что он работает непоследовательно, и если вы не видите сначала синюю стрелку, есть разрешение. Сначала я создал папку libs. Я не думаю, что это необходимо, но это привычка.
![enter image description here]()
Сначала попробуйте перейти к файлу, структуре проекта.
Если вы видите маленькую синюю стрелку в левом верхнем углу, нажмите ее, и вы перейдете на экран, где вы можете добавить библиотеку
![enter image description here]()
Если вам удастся добраться до этого экрана, нажмите знак плюса и добавьте библиотеку.
![enter image description here]()
Вы также можете увидеть красную линию внизу, говоря, что Guava не используется с лампочкой. Это заполнение добавляет зависимость от файла сборки Gradle
![enter image description here]()
Если вы не видите синюю стрелку
GO вместо этого в файл, другие настройки, структура проекта по умолчанию.
С этого экрана вы можете добавить библиотеку
![enter image description here]()
Затем вернитесь к структуре проекта и добавьте его. Дело в том, что оно останется по умолчанию для всех ваших проектов, чтобы вы могли добавлять и удалять его для каждого отдельного проекта через меню структуры проекта. Я не уверен, что это ошибка в Android Studio, потому что вы можете быть заблокированы от добавления ее в отдельный проект без изменения значения по умолчанию.
Ответ 5
не используйте полную библиотеку guava, используйте версию для Android,
dependencies {
compile 'com.google.guava:guava:23.0-android'
}