Enquanto estava escrevendo esta questão, consegui resolvê-la, então repita aqui para o benefício de outras pessoas. Aqui está o problema inicial:
Eu criei um projeto de biblioteca muito simples que desejo fazer referência em outro projeto. Eu fiz isso anteriormente sem problemas, então não tenho certeza por que não está funcionando neste momento. Eu tenho:
Sinalizado o projeto da biblioteca por meio das propriedades do projeto. O
default.properties
arquivo tem este conjunto:android.library=true
Em meu outro projeto, adicionei referência ao meu projeto de biblioteca por meio das propriedades do projeto. O
default.properties
arquivo tem a referência adicionada conforme o esperado, ou sejaandroid.library.reference.1=K:/android_test_ws/applicationRegistrar
A marca verde contra o projeto de biblioteca referenciado começa verde e depois muda para uma cruz vermelha.
Isso implica que deve haver algo errado / faltando no projeto da biblioteca, mas não sei o quê. Meu projeto de biblioteca nesta ocasião é MUITO mais simples do que o anterior que criei.
Respostas:
OK. Aqui está a solução que encontrei quando estava procurando o arquivo default.properies do projeto de referência (não a biblioteca) em meu sistema de arquivos. Embora o projeto de referência estivesse no mesmo espaço de trabalho do eclipse que o projeto de biblioteca, os arquivos reais estavam em outro lugar no sistema de arquivos, ou seja, eles não estavam na mesma pasta pai do projeto de biblioteca. Assim que coloquei o projeto de referência na mesma pasta física do projeto da biblioteca, tudo correu bem.
Eu acho que isso deve ser algo a ver com o android usando formiga por baixo das tampas.
Editar: O nome do projeto precisa corresponder ao nome da pasta no sistema de arquivos. O que você está vendo em Propriedades do projeto-> Android-> Referência da biblioteca é um caminho relativo do sistema de arquivos.
fonte
Certifique-se de que ambos os projetos estejam presentes no mesmo espaço de trabalho. Para fazer isso, ao importar os projetos, certifique-se de que a caixa de seleção "copiar projeto para o espaço de trabalho" esteja marcada.
fonte
o mesmo problema ocorrerá se seu projeto de biblioteca estiver em uma partição diferente do seu espaço de trabalho atual. Eu tenho o mesmo problema agora. Meu código-fonte git está em C: e eu apenas movo minha área de trabalho para D: e tudo começa a entrar em colapso.
fonte
A maneira mais simples de obter os caminhos dos caminhos da biblioteca corretos é usar a GUI do Eclipse para adicionar a biblioteca conforme mostrado na captura de tela a seguir e deixar o Eclipse cuidar de colocar os caminhos relativos corretos em project.properties. É uma configuração comum ter seus projetos de biblioteca hospedados em diretórios muito diferentes dos projetos principais que usam a biblioteca. Este método funcionará se o "projeto de biblioteca" e o projeto que o utiliza estiverem no mesmo "espaço de trabalho" do eclipse (eles "não precisam" estar na mesma pasta pai):
fonte
Certifique-se de que o projeto de biblioteca está marcado como "Is Library" - clique com o botão direito do mouse no projeto de biblioteca - propriedades - Android - marque a caixa de seleção "Is Library" - em project.properties do projeto de biblioteca, você deve ter uma nova entrada: "android .library = true. Agora adicione-o ao projeto que você deseja conforme descrito no post abaixo. (o post com imagem integrada - de Nilesh Pawar).
fonte
Este bug é referenciado várias vezes aqui 27199 , 35786 , 36460 e 38052
Talvez votando neles, será consertado um dia ...
fonte
Mais uma observação sobre o mesmo assunto.
Para mim, os dois projetos estavam na mesma pasta pai e eram locais dentro da área de trabalho. Mesmo assim, o problema ainda estava acontecendo.
Editei o arquivo "project.properties" e coloquei o caminho absoluto (com barras '/' para separadores) do projeto da biblioteca. Salvei e fechou. Em seguida, foi para a caixa de diálogo de propriedades do projeto, removeu a biblioteca (que ainda estava mostrando o ícone de cruz, mas com o caminho do abdômen) e a adicionou de volta como de costume. Surpreendentemente, o problema foi resolvido e o projeto é compilado e executado.
Isso é realmente estranho e deve ser um bug do ADT. Estou usando o ADT versão 20.0.2
fonte
quando o desenvolvedor fizer referência ao Facebook ou a qualquer outro projeto de biblioteca, em primeiro lugar limpe o projeto de eclipse-> projeto-> projeto limpo. que querem permitir o erro da cruz vermelha na tela de referência.
fonte
Para mim, eu apenas reinicio o eclipse e a biblioteca adicionada funciona bem.
Quero dizer, a primeira vez mostrando marcas vermelhas após adicionar o projeto de biblioteca. Embora o projeto principal do eclipse e o projeto da biblioteca estejam na mesma pasta do espaço de trabalho e nenhum arquivo de recursos esteja fora da pasta do projeto.
Portanto, você pode tentar reiniciar seu eclipse. Boa codificação ...
fonte
A solução alternativa para mim foi
resolveu meu problema
fonte
Tive o mesmo problema lá quando tentei mudar meu espaço de trabalho, então esta é minha solução:
fonte
Apenas reinicie seu eclipse. Resolve o meu problema
fonte
Quando você der uma olhada no caminho de referência antes e depois, ele vem de, por exemplo, "C: / workspace / mylib" e vai para "../../mylib" quando copiado para o local correto, bastante interessante.
fonte
PARA SUA INFORMAÇÃO,
O que funcionou para mim foi excluir os projetos de 'biblioteca' (os projetos reais) do meu espaço de trabalho (sem excluir os arquivos) e, em seguida, reimportá-los usando o assistente (importar projeto android existente do código-fonte).
fonte
Obrigado por postar a pergunta. Tive exatamente o mesmo problema ao integrar o Facebook ao meu aplicativo Android. Corrigi o problema movendo meu projeto de desenvolvimento para a mesma unidade do Windows em que o projeto de biblioteca estava localizado. De alguma forma, o Eclipse não é capaz de ler a localização do projeto de biblioteca adequadamente no arquivo default.properties se ele estiver em uma unidade diferente.
fonte
Semelhante à postagem de Sufi Khan, também resolvi esse problema com uma reinicialização. Meu caso era diferente porque, quando acessei Propriedades-> Android e adicionei a biblioteca, recebi uma linda marca de seleção verde. Quando fechei a caixa de diálogo, o Eclipse ainda estava mostrando erros de tipo classe não encontrada. Quando verifiquei as propriedades novamente, vi o X vermelho. Mas a solução do Sr. Kahn (exclua a lib inválida, reinicie o Eclipse, adicione a lib novamente) funcionou bem.
Estou usando a versão 0702 do pacote ADT (começa com "cluster", rima com "duck").
fonte
Segui a resposta aceita, mas também tive que garantir que meu arquivo "project.properties" estava legível.
Se o arquivo for somente leitura (verificado no controle de origem), o eclipse não o editará. Adicionar a referência da biblioteca será bem-sucedido, mas a alteração não será persistida após clicar em OK.
Se fechar a janela de preferências e reabrir novamente remover a biblioteca que você acabou de adicionar, esta pode ser a sua solução.
fonte
Caso seu projeto de biblioteca ainda não apareça, tente adicionar um sinalizador de biblioteca nas propriedades do projeto de biblioteca
Adicionar android.library = true
project.properties
fonte