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?
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:
Coloque o frasco Gson (no meu caso,
gson-2.2.4.jar
) na pastalibs
.Clique com o botão direito do mouse e pressione 'Adicionar como biblioteca'
Certifique-se de que
compile files('libs/gson-2.2.4.jar')
esteja no seu arquivobuild.gradle
(oucompile fileTree(dir: 'libs', inclua: '*.jar')
se você estiver utilizando muitos arquivos jar)Edit : Utilize
arquivos de implementação('libs/gson-2.2.4.jar')
(ouarquivo de implementaçãoTree(dir: 'libs', inclua: '*.jar')
) no Android Studio 3.0+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 sistemaDepois 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]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:
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.No Mac OS X:
Adicionar jarro como biblioteca (arraste o jarro para a libs, clique com o botão direito do mouse em adicionar como lib)
Adicionar declaração de compilação ao `build.grade'.
Instale o
gradle v1.6
(utilize homebrew)Isto resolveu-me.