Esta é uma pergunta em duas partes sobre como adicionar uma biblioteca de terceiros (JAR) a um projeto Android no Eclipse.
A primeira parte da pergunta é: quando tento adicionar um JAR (biblioteca) de terceiros ao meu projeto Android, primeiro encontro o problema de
Erro ao analisar XML: prefixo não acoplado
porque estou tentando usar uma classe desse JAR (e preciso do prefixo de alguma forma definido). O que está acontecendo?
Segundo, (depois de corrigir isso - a resposta é dada abaixo), meu aplicativo não funciona no Android e eu descobri através do depurador (LogCat) que a classe que estou tentando consumir não existe.
Causado por: java.lang.ClassNotFoundException: com.github.droidfu.widgets.WebImageView ...
Por que, quando não recebo erro de compilação ou vinculador no Eclipse, ele tem esse problema no emulador?
Essas duas perguntas são retóricas, pois eu mesmo vou respondê-las abaixo. Outras postagens neste fórum abordam o problema e em outros lugares há discussões, mas sinto que posso ser mais explicitamente útil para o próximo cara.
fonte
Verifique se os seus jars de terceiros estão na pasta "libs" dos projetos e serão colocados no .apk quando você empacotar o aplicativo. Você pode ver erros de tempo de execução no dispositivo se algo no jar não for suportado, mas, além disso, tive grande sucesso com isso.
fonte
Configurando um Projeto de Biblioteca
Um projeto de biblioteca é um projeto Android padrão, portanto, você pode criar um novo da mesma maneira que faria com um novo projeto de aplicativo.
Ao criar o projeto da biblioteca, você pode selecionar qualquer nome de aplicativo, pacote e definir outros campos, conforme necessário, conforme mostrado na figura 1.
Em seguida, defina as propriedades do projeto para indicar que é um projeto de biblioteca:
No Package Explorer, clique com o botão direito do mouse no projeto da biblioteca e selecione Propriedades. Na janela Propriedades, selecione o grupo de propriedades "Android" à esquerda e localize as propriedades da Biblioteca à direita. Marque a caixa de seleção "é biblioteca" e clique em Aplicar. Clique em OK para fechar a janela Propriedades. O novo projeto agora está marcado como um projeto de biblioteca. Você pode começar a mover o código-fonte e os recursos para ele, conforme descrito nas seções abaixo.
fonte
Se você estiver usando a versão 22 do ADT, precisará verificar as dependências do Android e as bibliotecas privadas do Android na guia Ordem e exportação no caminho de construção do projeto
fonte
Primeiro, o problema do prefixo ausente.
Se você consumir algo em seu arquivo de layout proveniente de terceiros, também poderá ser necessário consumir seu prefixo, algo como "droidfu:", que ocorre em vários locais na construção XML abaixo:
Isso sai do JAR, mas você também precisará adicionar o novo "xmlns: droidfu"
ou você recebe o erro de prefixo ilimitado. Para mim, houve uma falha ao copiar e colar todo o exemplo fornecido das páginas da biblioteca de terceiros.
fonte
Eu obtive os dois erros acima e finalmente resolvi.
Clique com o botão direito do mouse em seu projeto -> propriedades -> caminho de construção java -> googleadmobadsdk (selecione e coloque-o no topo) e execute e resolva o problema. Foi resolvido meu erro de tempo de execução.
fonte
Coloque a fonte em uma pasta fora do seu espaço de trabalho. Clique com o botão direito do mouse no explorador de projetos e selecione "Importar ..."
Importe o projeto no seu espaço de trabalho como um projeto Android. Tente compilá-lo e verifique se está marcado como um projeto de biblioteca. Verifique também se ele é compilado com o suporte da API do Google. Caso contrário, você receberá erros de compilação.
Em seguida, clique com o botão direito do mouse no seu projeto principal no explorador de projetos. Selecione propriedades e selecione Android à esquerda. Na seção da biblioteca abaixo, clique em "Adicionar".
A biblioteca mapview-balloons agora deve estar disponível para adicionar ao seu projeto.
fonte
Vá para construir o caminho no eclipse, clique em ordem e exportação, verifique a biblioteca / jar e clique no botão para cima para movê-lo para o topo da lista e compilá-lo primeiro.
fonte