Adicionando biblioteca externa no Android Studio

119

Quero adicionar a biblioteca externa https://github.com/foursquare/foursquare-android-oauth ao meu aplicativo Android (eu uso o Android Studio, as instruções fornecidas pelo autor lib para Eclipse não funcionaram para o Android Studio).

Tentei fazer isso com o maven, portanto, em Arquivo-> Estrutura do projeto-> Dependências adicionei, com.foursquare:foursquare-android-nativeoauth-lib:1.0.0mas a sincronização do Gradle falhou:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

Quando tento construir meu aplicativo (sem corrigir o erro acima porque não sei como), recebo:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Qualquer outra maneira de importar esta lib? Posso simplesmente copiar e colar o código-fonte no meu código-fonte ou criar JAR a partir dele?

BTW: se você tiver problemas, veja esta pergunta (eu tive esse problema após a importação): Manifest merger failed: uses-sdk: minSdkVersion 14

Marian Paździoch
fonte
1
Isso deve ajudá-lo a stackoverflow.com/questions/16588064/… androidsx.com/…
jackgris 01 de

Respostas:

96

Experimente isto:

File> Project Structure> Dependencies Tab> Add module dependency( scope = compile)

Onde a dependência do módulo é a pasta Android da biblioteca do projeto.

Malcubierre
fonte
2
Eu sei disso por experiência e inspeção .... Mas existem documentos disponíveis: developer.android.com/sdk/installing/studio-build.html
malcubierre
26
Como fazer isso SEM copiar? A biblioteca é usada por outros projetos não Android e é atualizada rotineiramente. Se ele copiar a fonte, as alterações no original não serão vistas. Isso não é estúpido?
Brian Reinhold
1
onde está a opção de estrutura do projeto?
zulkarnain shah
2
Encontrei dependência de módulo de ass, mas recebi a caixa de diálogo "Escolher Módulos \ nSelecione os módulos dos quais o módulo atual deve depender: \ nNada para mostrar \ n [Ok] [Cancelar]". Não é possível selecionar a biblioteca baixada.
David162795
1
Eu adicionei uma biblioteca externa dessa forma e recebi um erro "Não foi possível resolver a dependência de ': app @ buildTypeUnitTest / compileClasspath': Não foi possível resolver o projeto: zip_file." O código gerado na dependência é `projeto de implementação (': arquivo_zip')`. Além disso, estou usando 'com.android.tools.build:gradle:3.2.0-rc03' e https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola
208

Experimente uma destas abordagens:

Abordagem 1)

1- Escolha a visualização do projeto

insira a descrição da imagem aqui

2- Copie seu arquivo JAR no app -> pasta lib

insira a descrição da imagem aqui

3- Clique com o botão direito no seu arquivo JAR e escolha adicionar como biblioteca

insira a descrição da imagem aqui insira a descrição da imagem aqui

4- Verifique em build.gradle

insira a descrição da imagem aqui


Abordagem 2)

1- Arquivo -> Novo -> Novo Módulo

insira a descrição da imagem aqui

2- Importar Pacote .JAR / .AAR

insira a descrição da imagem aqui

3- Navegue pelo seu arquivo JAR

insira a descrição da imagem aqui

4- Terminar

5- Arquivo -> Estrutura do Projeto -> Dependências

insira a descrição da imagem aqui

6- Você deve clicar no botão + e depois clicar em Dependência do Módulo

insira a descrição da imagem aqui

7- Você verá sua biblioteca aqui

insira a descrição da imagem aqui

8- escolha sua biblioteca e clique em ok

insira a descrição da imagem aqui

9- Então, você verá que sua biblioteca está adicionada.

insira a descrição da imagem aqui


Para as duas primeiras abordagens, você precisa de um arquivo JAR. Você pode pesquisar http://search.maven.org/ para localizar arquivos JAR relacionados ao Android. Por exemplo, este é o resultado da pesquisa por jdom neste link

Resultado da pesquisa para jdom


Abordagem 3) O Android está usando http://jcenter.bintray.com/ como biblioteca remota. Por exemplo, este é o resultado da pesquisa por jdom no link.

jcenter jdom

Para adicionar uma biblioteca nesta abordagem, siga estas etapas:

1- Arquivo -> Estrutura do Projeto -> Dependências

insira a descrição da imagem aqui

2- Clique no botão + e escolha a dependência da biblioteca

insira a descrição da imagem aqui insira a descrição da imagem aqui

3- encontre sua biblioteca, selecione-a e clique em OK.


Espero que ajude.

Maomé
fonte
13
Melhor resposta em todo estouro de pilha
mizerablebr
1
Estou feliz que você considere minha resposta útil. Eu realmente aprecio o seu feedback.
Mohammad
1
Approche 2 funciona para mim. Obrigado pelas ilustrações :)
Hichem Acher
1
Você é muito bem-vindo. Estou feliz que este post ajudou você.
Mohammad
Muito obrigado!!
Vinoth Vino
28

Para referenciar um projeto lib externo sem cópia, basta fazer o seguinte: - Insira estas 2 linhas em setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Insira esta linha na parte das dependências do build.gradlearquivo:

compile project(':your-lib-name')

Sincronizar projeto

Pedro santos
fonte
1
Ótima resposta, cria um link para a biblioteca original, para que você não precise reimportar sempre que o código da biblioteca for alterado!
diman
21

Existem duas maneiras mais simples: se uma não funcionar, tente a outra.

  1. Adicione dependência da biblioteca dentro da dependência dentro do build.gradlearquivo da biblioteca que você está usando e cole sua biblioteca em Bibliotecas externas.

OU

  1. Apenas vá para sua libspasta dentro da apppasta e cole todos os seus, .jarpor exemplo, arquivos de biblioteca lá. Agora o truque aqui é que agora vá para dentro do settings.gradlearquivo agora adicione esta linha include ':app:libs'depois include ':app'que definitivamente funcionará.
Sudhanshu Gaur
fonte
19

Qualquer outra maneira de importar esta lib? Posso simplesmente copiar e colar o código-fonte no meu código-fonte ou criar JAR a partir dele?

Etapas completas para importar uma biblioteca no Android Studio 1.1

  1. Vá para Arquivo -> Módulo de importação.
  2. Diretório de origem -> Navegue pelo caminho do projeto.
  3. Especifique o nome do módulo
  4. Abra o arquivo build.gradle (Módulo: app)
  5. Adicione a seguinte linha com o nome do seu módulo

    compilar projeto (': internal_project_name')

Retirado de: como adicionar biblioteca no Android Studio

Sei
fonte
8

Uma resposta tardia, embora tenha pensado em dar uma resposta aprofundada a essa pergunta. Este método é adequado para Android Studio 1.0.0 e superior.

PASSOS

  1. Primeiro mude sua estrutura de pastas de Android para Project .

insira a descrição da imagem aqui

  1. Agora procure a pasta libs dentro da pasta app - build.

insira a descrição da imagem aqui

  1. Depois de colar o arquivo .jar dentro da pasta libs. Clique com o botão direito no arquivo jar e ao final clique em Adicionar como biblioteca . Isso cuidará da adição de arquivos de compilação ('libs / library_name.jar') em build.gradle [Você não precisa inserir isso manualmente em seu arquivo de compilação].

insira a descrição da imagem aqui

Agora você pode começar a usar a biblioteca em seu projeto.

capt.swag
fonte
no meu caso, ao usar a primeira abordagem, não vi a opção adicionar como biblioteca na lista ... mas a segunda opção funcionou para mim. Mas minha pergunta é por que a opção adicionar como biblioteca não foi mostrada no meu caso
Abdul Waheed
Muito útil, obrigado! Observação: depois de atualizar o Android Studio, o botão "Adicionar como biblioteca" não está mais no final da lista. Agora é cerca de 5º da parte inferior.
JFreeman
8

Eu também havia enfrentado esse problema. Naquela época, segui alguns passos como:

  1. File> New> Import module> select your library_project. Em seguida include 'library_project', será adicionado ao settings.gradlearquivo.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Se library_projectnão estiver exibindo, clique no +botão e selecione seu library_project.

  3. Limpe e construa seu projeto. As seguintes linhas serão adicionadas em seu módulo de aplicativo build.gradle( dica: este não é aquele em que classpathestá definido ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Se essas linhas não estiverem presentes, você deve adicioná-las manualmente e limpar e reconstruir seu projeto novamente ( Ctrl + F9).

  2. Uma pasta chamada library_projectserá criada na pasta do seu aplicativo.

  3. Se algum ícone ou erro de mesclagem de tarefa for criado, vá para o AndroidManifestarquivo e adicione<application tools:replace="icon,label,theme">

Ratna Halder
fonte
7

Três maneiras no Android Studio para adicionar uma biblioteca externa.

  1. se você deseja adicionar dependência de projeto de biblioteca em seu projeto:

    A. No menu de arquivo, clique em novo e escolha o módulo de importação, escolha o caminho do seu projeto de biblioteca e clique em ok, projeto de biblioteca adiciona automaticamente em seu projeto do Android Studio.

    B. Agora abra o arquivo gradle do módulo principal (como o app) e adicione a dependência do projeto nas dependências da seção de dependência {

    compilar projeto (': nome do projeto de biblioteca')

  2. se você deseja adicionar o arquivo jar: A. adicione o arquivo jar na pasta libs. B. E adicionar dependência

    compile fileTree (dir: 'libs', inclua: '* .jar') // adicione todos os arquivos jar da pasta libs, se você quiser adicionar um jar específico de libs adicione a dependência abaixo.

    compilar arquivos ('libs / abc.jar')

  3. Adicionar dependência do url (recomendado). gostar

    compilar 'com.mcxiaoke.volley: library-aar: 1.0.0'

vinod
fonte
oi vinod, você pode explicar como adicionar a dependência com URL? Além disso, pode ser um URL git que, se sofrer uma alteração, será importado diretamente para o meu projeto? Eu sou um pouco novo neste desenvolvimento, então, por favor, tenha
paciência
Olá, Nikhil, leia o artigo relacionado à dependência do Android que menciono developer.android.com/studio/build/dependencies.html
vinod
6

Para a maneira mais simples, basta seguir estas etapas

  1. Vá para File-> New-> Import Module->choose library or project folder

  2. Adicionar biblioteca para incluir seção no arquivo settings.gradle e sincronizar o projeto (depois disso você pode ver a nova pasta com o nome da biblioteca adicionada na estrutura do projeto)

    include ':mylibraryName'

  3. Vá para Arquivo -> Estrutura do Projeto -> aplicativo -> guia de dependência -> clique no botão mais

  4. Selecione a dependência do módulo -> selecione a biblioteca (o nome da sua biblioteca deve aparecer lá) e coloque o escopo (compilar ou implementação)

  5. Adicione esta linha em build.gradle no módulo de nível de aplicativo na seção de dependência

    implementation project(':mylibraryName')

kunal khedkar
fonte
3

Se a biblioteca de que você precisa está no GitHub, adicioná-la ao Android Studio é fácil com o JitPack .

Etapa 1. Adicione o repositório jitpack ao build.gradle:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Etapa 2. Adicione o repositório GitHub como uma dependência:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

O JitPack atua como um repositório maven e pode ser usado da mesma forma que o Maven Central. O bom é que os mantenedores não precisam fazer upload da biblioteca. Nos bastidores, o JitPack verifica o código do GitHub e o compila. Portanto, para que isso funcione, é necessário que haja um arquivo de compilação funcional no repositório git.

Também há um guia sobre como publicar uma biblioteca Android.

Andrejs
fonte
Isso não vai armazenar arquivos de dependência na árvore do projeto?
user7860670
2

O Android Studio não usa Maven, ele usa Gradle, você pode abrir sua build.gradlerota deve ser:/app/build.gradle e adicionar a dependência do Gradle que aparece no repo:

O build.gradletem uma dependenciesseção:

dependencies {
    //here add your dependency
}

O repo diz que você precisa adicionar esta dependência:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

só adicionar essa linha para o seu dependencieson buil.gradle, salve o arquivo, e android irá reconstruir o projeto, isso é tudo

Carlos Herrera Plata
fonte
1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Abra o arquivo build.gradle (Módulo: app).

 implementation project(':library')
Soumen Das
fonte
1

Transforme qualquer projeto github em uma implementação gradle de linha única com este site

https://jitpack.io/

Exemplo, eu precisava deste projeto: https://github.com/mik3y/usb-serial-for-android

Tudo o que fiz foi colar isso no meu arquivo Gradle:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
Cagney
fonte
Você me salvou! :). Obrigado, muito obrigado. É tão fácil com o truque que você disse! : Eu estava lutando por quase 4 horas, antes de ver Sua resposta! :)
Victor
0

Eu tive o mesmo problema. Isso aconteceu por causa da dependência da biblioteca principal. Eu estava usando javax. *. Isso é o que eu fiz para consertar

Em Arquivo-> Estrutura do Projeto-> Dependências, adicionei isso como um arquivo fornecido, não como uma compilação. Em seguida, reconstrua o projeto.

Este problema começou após a atualização do Android Studio. Mas acho que isso acontece quando você tenta editar os arquivos de compilação manualmente.

Sudheer
fonte
0

Adicionando biblioteca no Android Studio 2.1

Just Go to project -> then it has some android,package ,test ,project view

Basta alterá-lo para Visualização do Projeto

sob o app->lib foldervocê pode copiar diretamente, colar o lib e sincronizá-lo com o android. É isso aí

Vinayak Shedgeri
fonte
Copiar e colar a biblioteca? É um url para um repositório github
Odys
0

1) obtenha sua biblioteca aqui http://search.maven.org/

2) criar uma pasta libs no diretório do aplicativo

3) cole sua biblioteca lá

4) clique com o botão direito em sua biblioteca e clique em "Adicionar como Biblioteca"

5) isso é tudo que você precisa fazer!

Espero que isso definitivamente te ajude !!!!

Aditya Kumar
fonte
0

Existem algumas mudanças no novo gradle 4.1

em vez de compilar, devemos usar a implementação

implementação 'com.android.support:appcompat-v7:26.0.0'

Vahe Gharibyan
fonte
-1
  1. Na seção de repositórios do build.gradle do projeto, adicione o seguinte:
flatDir { dirs 'aars' } 
  1. Na seção de dependências de build.gradle, adicione o seguinte:

compilar '[id do grupo]: [id do artefato]: [versão] @aar'

substituindo [id do grupo] etc pelos vários atributos lib

  1. crie um subdiretório no diretório aarsdo seu projeto

  2. Copie o [youlibrary].aarpara o subdiretório criado em 3. acima.

  3. Construa e aproveite!

Ed Manners
fonte
-2

ETAPAS SIMPLES PARA ADICIONAR QUALQUER BIBLIOTECA NO ANDROID STUDIO:

  1. Copie o arquivo em questão de qualquer pasta em seu computador (por exemplo. C: /documents/xyz.jar "), vá para o Android Studio e clique com o botão direito na pasta Project Library e selecione paste.

  2. Agora, clique com o botão direito no arquivo de biblioteca recém-adicionado e selecione a opção "adicionar como biblioteca"

FEITO

John yepthomi
fonte