Как импортировать зависимости Maven в Android Studio/IntelliJ?
Я создал новый проект Android с помощью мастера по умолчанию в Android Studio. Скомпилировал и развернул приложение на моем устройстве. Все хорошо.
Теперь я хочу импортировать внешнюю библиотеку, которая доступна на Maven. ( http://square.github.io/picasso/). Я перешел к свойствам модуля и добавил библиотеку Maven. Правильно отображается в списке зависимостей. Кроме того, он отображается в редакторе, и я могу правильно использовать его в коде.
Тем не менее, во время компиляции я получаю ошибку Gradle: не удается найти класс
Есть идеи?
6 ответов
Начиная с версии 0.8.9, Android Studio по умолчанию поддерживает центральный репозиторий Maven. Поэтому для добавления внешней зависимости maven все, что вам нужно сделать, это отредактировать файл build.gradle модуля и вставить строку в раздел зависимостей следующим образом:
dependencies {
// Remote binary dependency
compile 'net.schmizz:sshj:0.10.0'
}
Вы увидите сообщение "Синхронизировать сейчас..." - щелкните по нему и дождитесь загрузки репозитория maven вместе со всеми его зависимостями. В строке состояния внизу будут отображаться сообщения о том, что происходит с загрузкой. После этого импортированный JAR-файл вместе с его зависимостями будет отображен в дереве внешних репозиториев в окне браузера проекта, как показано ниже.
Некоторые дальнейшие объяснения здесь: http://developer.android.com/sdk/installing/studio-build.html
Я использую Артефакт Android Springframework в качестве примера
открыть build.gradle
Затем добавьте следующее на том же уровне, что и применить плагин: "Android"
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}
Вы также можете использовать эту запись для Maven артефактов
compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
Ваша IDE должна показать jar и его зависимости в разделе "Внешние библиотеки", если он не появляется, попробуйте перезапустить IDE (это случилось со мной довольно часто)
вот пример, который вы предоставили, который работает
buildscript {
repositories {
maven {
url 'repo1.maven.org/maven2';
}
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('libs/android-support-v4.jar')
compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
}
Android Studio 3
Ответы, в которых говорится о Maven Central, устарели, поскольку Android Studio теперь использует JCenter в качестве центра хранилища по умолчанию. Файл build.gradle вашего проекта должен иметь что-то вроде этого:
repositories {
google()
jcenter()
}
Таким образом, пока у разработчика есть свой репозиторий Maven (что делает Picasso), вам нужно всего лишь добавить одну строку в раздел зависимостей файла build.gradle вашего приложения.
dependencies {
// ...
implementation 'com.squareup.picasso:picasso:2.5.2'
}
В
Android Studio Bumblebee
, объявления maven в
settings.gradle
файл (вместо
build.gradle
файл, как в предыдущей версии AS)
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
....
}
}
}
- Снимите флажок "Автономная работа" в меню "Файл"> "Настройки"> "Gradle"> "Глобальные настройки Gradle".
- Повторно синхронизируйте проект, например, перезапустив Android Studio
- После синхронизации вы можете снова проверить опцию, чтобы работать в автономном режиме.
Пытаться itext
, Добавить зависимость к вашему build.gradle
для последнего на этот пост
Примечание: специальная версия для Android, трейлинг "g":
dependencies {
compile 'com.itextpdf:itextg:5.5.9'
}