Как импортировать зависимость Maven в Android Studio/IntelliJ?
Я создал новый проект Android, используя мастер по умолчанию в Android Studio. Скомпилировано и развернуло приложение на моем устройстве. Все хорошо.
Теперь я хочу импортировать внешнюю библиотеку, доступную на Maven. (http://square.github.io/picasso/). Я пошел в свойства модуля и добавил библиотеку Maven. Он корректно отображается в списке зависимостей. Кроме того, он появляется в редакторе, и я могу правильно использовать его в коде.
Однако во время компиляции я получаю ошибку Gradle:
не удалось найти класс
Любые идеи?
Ответы
Ответ 1
Начиная с версии 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
Ответ 2
В качестве примера я использую артефакт для артефакта springframework в качестве примера
open 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 должна отображаться банка и ее зависимости в разделе "Внешние библиотеки"
если он не появляется, попробуйте перезапустить 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
}
}
Ответ 3
- Снимите флажок "Автономная работа" в "Файл" > "Настройки" > Gradle > Глобальный Gradle
Настройки
- Повторите попытку проекта, например, перезапустив Android Studio
- После синхронизации вы можете снова проверить параметр для работы в автономном режиме.
Ответ 4
Обновленный ответ
Ответы, которые говорят о Maven Central, датируются с тех пор, как Android Studio использует JCenter в качестве центра репозитория по умолчанию. В файле build.gradle проекта должно быть что-то вроде этого:
repositories {
jcenter()
}
Итак, пока у разработчика есть свой репозиторий Maven (который Пикассо делает), тогда вам нужно будет добавить одну строку в раздел зависимостей вашего файла build.gradle приложения.
dependencies {
// ...
compile 'com.squareup.picasso:picasso:2.5.2'
}
Android Studio 3.0
С Android Studio 3.0 это будет выглядеть следующим образом:
Проект build.gradle
repositories {
google()
jcenter()
}
app build.gradle
dependencies {
// ...
implementation 'com.squareup.picasso:picasso:2.5.2'
}
Ответ 5
Попробуйте itext
. Добавьте зависимость от вашего build.gradle
для последней версии этого сообщения
Примечание: специальная версия для android, завершающая "g":
dependencies {
compile 'com.itextpdf:itextg:5.5.9'
}