Estúdio Android: Adicionar frasco como biblioteca?

I'estou a tentar usar o novo Android Studio mas parece que não consigo'não consigo pô-lo a funcionar correctamente.

I'm usando a biblioteca **Gson*** para serializar/deserializar os objetos do JSON. Mas a biblioteca de alguma forma está't incluída na construção.

Eu tinha criado um novo projeto com apenas um **MainActivity*. Copiei gson-2.2.3.jar** na pasta /libs e adicionei-o como uma dependência de biblioteca(clique direito>Adicionar como biblioteca). Isto inclui o frasco em android studio para que possa ser referenciado a partir dos arquivos fonte.

Quando eu tento executar o projeto ele não pode ser compilado, então eu adicionei:

compile files('libs/gson-2.2.3.jar')

para as dependências no arquivo de .gradle. Depois disso, ele compila corretamente, mas ao executar a aplicação eu recebo uma `ClassDefNotFoundException'.

Alguém sabe o que eu'estou a fazer mal?

Solução

I'há muitas horas que me esforço com a mesma coisa, tentando fazer o frasco Gson trabalhar nada menos que isso. Eu finalmente o rachei - aqui estão os passos que eu dei:

  1. Coloque o frasco Gson (no meu caso, gson-2.2.4.jar) na pasta libs.

  2. Clique com o botão direito do mouse e pressione 'Adicionar como biblioteca'

  3. Certifique-se de que compile files('libs/gson-2.2.4.jar') esteja no seu arquivo build.gradle (ou compile fileTree(dir: 'libs', inclua: '*.jar') se você estiver utilizando muitos arquivos jar)

    Edit : Utilize arquivos de implementação('libs/gson-2.2.4.jar') (ou arquivo de implementaçãoTree(dir: 'libs', inclua: '*.jar')) no Android Studio 3.0+

  4. Faça uma compilação limpa (provavelmente você pode fazer isso bem no Android Studio, mas para ter certeza que eu naveguei em um terminal para a pasta raiz da minha aplicação e digitei gradlew clean. I'm no Mac OS X, o comando pode ser diferente no seu sistema

Depois de ter feito os quatro acima, começou a funcionar bem. Acho que o 'Adicionar como biblioteca'passo foi o que o I'faltou anteriormente, e também não funcionou'não funcionou até eu o limpar.

[Editar - adicionado o passo build.gradle que também é necessário, como outros já apontaram]

Comentários (20)

IIRC, simplesmente usando "Adicionar como biblioteca" é'não é suficiente para compilar com o projeto.

Verifique Intellij's help sobre a adição de bibliotecas a um projeto

A parte que mais lhe deve interessar é esta:

(Em `File > Project Structure') Abra as configurações do módulo e selecione a guia Dependências.

na guia Dependências, clique em adicionar e selecione Biblioteca.

No diálogo Selecionar bibliotecas, selecione uma ou mais bibliotecas e clique em Adicionar selecionadas.

Se a biblioteca não't aparecer no diálogo, adicione-a nas configurações das bibliotecas, logo abaixo dos Módulos.

Você não deve't precisar mais adicionar compile files(), e a biblioteca deve ser devidamente adicionada ao seu projeto.

Comentários (4)

No Mac OS X:

  1. Adicionar jarro como biblioteca (arraste o jarro para a libs, clique com o botão direito do mouse em adicionar como lib)

  2. Adicionar declaração de compilação ao `build.grade'.

  3. Instale o gradle v1.6 (utilize homebrew)

  • grau de instalação da poção
  • graduar -v
  • se não v1.6, atualizar homebrew
  1. Gradle clean (reconstruir o andróide não funcionou)

Isto resolveu-me.

Comentários (0)