Como importar a dependência do Maven no Android Studio / IntelliJ?

92

Criei um novo projeto Android usando o assistente padrão no Android Studio. Compilei e implantei o aplicativo no meu dispositivo. Tudo está bem.

Agora quero importar uma biblioteca externa que está disponível no Maven. ( http://square.github.io/picasso/ ). Fui às propriedades do módulo e adicionei uma biblioteca Maven. Ele aparece corretamente na lista de dependências. Além disso, ele aparece no editor e posso usá-lo corretamente no código.

No entanto, durante a compilação, recebo um erro do Gradle: não foi possível encontrar a classe

Alguma ideia?

Munkay
fonte

Respostas:

71

A partir da versão 0.8.9, o Android Studio oferece suporte ao Repositório Central Maven por padrão. Portanto, para adicionar uma dependência externa do maven, tudo o que você precisa fazer é editar o arquivo build.gradle do módulo e inserir uma linha na seção de dependências como esta:

dependencies {

    // Remote binary dependency
    compile 'net.schmizz:sshj:0.10.0'

}

Você verá uma mensagem como 'Sincronizar agora ...' - clique nela e aguarde o download do repositório maven junto com todas as suas dependências. Haverá algumas mensagens na barra de status na parte inferior informando o que está acontecendo em relação ao download. Depois de terminar isso, o arquivo JAR importado junto com suas dependências serão listados na árvore Repositórios Externos na janela Navegador de projeto, conforme mostrado abaixo.

insira a descrição da imagem aqui

Algumas explicações adicionais aqui: http://developer.android.com/sdk/installing/studio-build.html

dodgy_coder
fonte
6
Não funciona sem: repositórios {mavenCentral ()}
Johannes
1
Às vezes, não podemos simplesmente usar em dependências, adicionando externamente vontade de treino, amostra aqui ... repositórios {maven {url ' oss.sonatype.org/content/repositories/ksoap2-android-releases '}} ... compile 'com.google .code.ksoap2-android: ksoap2-android: 3.6.0 '
Nandha
81

Estou usando o artefato android springframework como exemplo

abrir build.gradle

Em seguida, adicione o seguinte no mesmo nível do plugin de aplicação: 'android'

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
   compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}

você também pode usar esta notação para artefatos maven

compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'

Seu IDE deve mostrar o jar e suas dependências em 'Bibliotecas externas' se ele não aparecer, tente reiniciar o IDE (isso aconteceu comigo várias vezes)

aqui está o exemplo que você forneceu que funciona

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 
    } 
} 
user1568967
fonte
1
Eu tentei isso, aqui está meu arquivo build.gradle: `` `buildscript {repositories {maven {url ' repo1.maven.org/maven2 '}} dependencies {classpath 'com.android.tools.build:gradle:0.4'}} aplicar plug-in: dependências de 'android' {arquivos de compilação ('libs / android-support-v4.jar') grupo de compilação: 'com.squareup.picasso', nome: 'picasso', versão: '1.0.1'} android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig {minSdkVersion 14 targetSdkVersion 17}} `` `Erro: Não foi possível encontrar com.squareup.picasso: picasso: 1.0.1.
domingo
1
@munkay Eu atualizei a resposta com um build.gradle corrigido que corresponde ao seu comentário
user1568967
18
Parte fundamental é reiniciar o IDE. Esta versão do IntelliJ não está recebendo mudanças.
Jimmy2Times
Sim, após reiniciar está tudo ok.
firen
1
"Parte fundamental é reiniciar o IDE". AMD. Estamos em 2016 ... mas sim, obrigado Jimmy2Times.
Guy Moreillon
6

Android Studio 3

As respostas que falam sobre o Maven Central são datadas, pois o Android Studio usa o JCenter como o centro de repositório padrão agora. O arquivo build.gradle do seu projeto deve ter algo assim:

repositories {
    google()
    jcenter()
}

Assim, desde que o desenvolvedor tenha seu repositório Maven lá (o que o Picasso tem), tudo o que você precisa fazer é adicionar uma única linha à seção de dependências do arquivo build.gradle do seu aplicativo.

dependencies {
    // ...
    implementation 'com.squareup.picasso:picasso:2.5.2'
}
Suragch
fonte
4
  1. Desmarque "Trabalho off-line" em Arquivo> Configurações> Gradle> Configurações globais do Gradle
  2. Sincronize novamente o projeto, por exemplo, reiniciando o Android Studio
  3. Depois de sincronizado, você pode marcar a opção novamente para trabalhar offline.
rinkesh
fonte
0

Experimente itext. Adicione dependência ao seu build.gradlepara o mais recente a partir desta postagem

Nota: versão especial para Android, depois de "g":

dependencies {
    compile 'com.itextpdf:itextg:5.5.9'
}
tom
fonte