Desde a atualização para ADT
14, não consigo mais construir meu projeto. Estava construindo bem antes da atualização.
O erro:
[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
Problemas semelhantes foram relatados e tentei as sugestões, incluindo
- Reiniciando
Eclipse
. - Limpando o projeto e reconstruindo - Desative a opção "Projeto-> Construir Automaticamente", depois o projeto "Limpar" e "Construir" e tente executar. redefina a opção "Criar automaticamente" para Ativado
- Reinstalando as
Android
Ferramentas do Desenvolvedor - Reinstalando o Eclipse (atualizado para a versão mais recente 3.7.1)
- Criou um novo projeto importando do sistema de arquivos
- Criou um novo projeto a partir do subversion.
Respostas:
Eu tive o mesmo problema, bastante estranho, porque isso estava acontecendo apenas ao usar o Eclipse (mas estava tudo bem com o Ant). Foi assim que eu consertei:
Project Name
Build Path
->Configure Build Path
Em
Java Build Path
, vá para a guiaOrder and Export
Desmarque sua
.jar
bibliotecaApenas algumas vezes: na guia Ordem e exportação, não havia nenhuma biblioteca jar lá, por isso desmarquei o item Bibliotecas particulares do Android. Agora meu projeto está em execução.
fonte
Android Private Libraries
item. Agora meu projeto está em execução.Meu problema foi resolvido após a limpeza de alguns diretórios e arquivos que sobraram das versões anteriores das ferramentas. O ADT Rev 14 muda onde os binários são armazenados . Excluí o diretório bin inteiro, reiniciei o Eclipse e limpei a construção e forcei uma reconstrução. Isso pareceu resolver o problema inicialmente, mas o problema voltou após a próxima execução.
Finalmente descobri que meu diretório bin foi incluído no caminho de construção do projeto. Excluí a lixeira do caminho da construção e repeti as etapas acima. Isso resolveu meu problema.
fonte
[Resolvido para mim]
Propriedades do projeto Eclipse-> Caminho de Construção Java-> Solicitar e Exportar
Desmarque as bibliotecas privadas do Android.
fonte
Nenhuma das opções acima ajudou. No final, foi um problema simples.
Eu tive um projeto que usa o FacebookSDK e o ViewPagerIndicator como projetos de biblioteca. Todos foram criados na API Android 16 e esses dois projetos usaram a biblioteca de suporte ao Android vX (X não tem 16 anos!)
Adicionei um JAR externo a esses dois projetos e apontei para \ extras \ android \ v4 ... E também removi o jar v4 que eu tinha nas pastas libs.
Limpe todos os projetos e recrie.
Voilla!
O erro exato que eu estava recebendo: Não foi possível executar o dex: vários arquivos dex definem Landroid / support / v4 / view / PagerAdapter; Falha na conversão para o formato Dalvik: Não é possível executar o dex: vários arquivos dex definem Landroid / support / v4 / view / PagerAdapter;
fonte
Esse problema estava acontecendo comigo, eu tinha um .jar externo na minha pasta libs chamado gson-2.2.2.jar, mas por algum motivo havia dois deles, gson-2.2.2.jar e gson-2.2.2.jar ( 1), simplesmente apaguei o último e meu projeto foi bem desenvolvido novamente.
fonte
/libs
de um experimento anterior, resultando em um Projeto de Biblioteca e no .jar que foi gerado a partir dele. A exclusão desse frasco/libs
resolve o problema. +1fonte
manifest file
for removido pelo eclipse dobin
diretório, adicione-o manualmente e limpe o projeto novamente.Como outros já mencionaram, isso ocorre quando você tem várias cópias da mesma classe no caminho de construção - incluir bin / no caminho de classe é uma maneira de garantir esse problema.
Para mim, isso ocorreu quando eu adicionei o android-support-v4.jar à minha pasta libs / e, de alguma forma, o eclipse adicionou uma segunda cópia ao bin / classes / android-support-v4.jar.
A exclusão da cópia extra em bin / classes resolveu o problema - sem saber por que o Eclipse fez uma cópia lá.
Você pode testar isso com
fonte
Para mim, clique com o botão direito do mouse em projeto -> Caminho da compilação -> configurar caminho da compilação -> Bibliotecas -> remover dependência
depois que funciona.
fonte
Este erro pode ocorrer se você tiver dois jars que contêm os mesmos nomes de classe, por exemplo, eu tinha duas bibliotecas: jsr311-api-1.1.1.jar e jersey-core-1.17.1.jar, ambos contendo a classe javax.ws .rs.ApplicationPath. Eu removi o jsr311-api-1.1.1.jar e funcionou bem.
fonte
Eu estava recebendo esse erro depois de adicionar o facebooksdk.jar a um projeto que já tinha dependências no android-support-v4.jar . Como o facebooksdk.jar já inclui seu próprio android-support-v4.jar, houve conflitos. A remoção do android-support-v4.jar anterior dos projetos Properties / Java Build Path / Libraries resolveu o problema para mim.
fonte
Vá para Project / properties e Java Build Path e desmarcou as Bibliotecas particulares do Android .
Feito
fonte
Eu removi as dependências do Android do caminho de construção e funcionou.
Edit: ignore isso. Eu tinha o mesmo jar na minha pasta de dependências e libs. Eu removi o da pasta lib.
fonte
Provavelmente você instalou o r14 , esse erro pode ter sido causado devido à atualização das ferramentas da plataforma, é necessário reinstalar o sdk
fonte
Para mim, esse problema existe apenas enquanto houver projetos de biblioteca do Android envolvidos no meu projeto. Portanto, quando eu removo todas as bibliotecas e faço o que você disse, posso executar meu aplicativo novamente. Se houver bibliotecas envolvidas, até o truque de remoção de lixeira venceu.
Não entendo por que esse bug apareceu hoje, pois estou usando o ADT 14 há vários dias. Bem, houve outros erros que me mantiveram feliz.
fonte
Excluir a pasta bin não foi suficiente, eu também excluí a pasta gen. Depois de duas reconstruções, a mensagem de erro dex desapareceu.
fonte
Selecione o projeto no Project Explorer , clique com o botão direito do mouse e selecione Propriedades -> Caminho de Construção Java -> Origem -> Marque a caixa de seleção Permitir pastas de saída para pastas de origem
fonte
Eu estava basicamente enfrentando o mesmo problema. Excluí a pasta BIN e removi os arquivos jar não utilizados para Order e Import do eclipse. Funcionou depois disso
fonte
Estou atrasado para esta festa, mas adicionando minha própria experiência para encontrá-la novamente mais tarde :)
Corri para esse problema depois de atualizar os anúncios do Android SDK e do Eclipse. Nenhuma atualização fica impune!
O problema para mim estava relacionado a projetos de bibliotecas, meu aplicativo faz referência a projetos java padrão e projetos de bibliotecas Android. Percebi que as configurações do Java Build Path estavam incluindo as pastas src e res dos projetos da biblioteca android na lista Fonte (upvotes para todos que mencionam bin na origem como issue, src e res também foi um problema).
Então a solução foi:
Foi o caminho para juntar tudo isso das outras soluções! Ufa!
fonte
Eu me deparei com isso quando atualizei do adt 14 para o 15 e, para fazê-lo funcionar, acabei excluindo a pasta .eclipse (junto com minhas configurações) e reinstalando o adt 15.
fonte
Depois de ler a resposta do Terrys sobre a exclusão do diretório bin e Larrys sobre o local do diretório ANT:
Movi os arquivos localizados no diretório BIN dos meus projetos para o BIN / CLASSES e estou em funcionamento.
Edit 1 Então falhou na segunda execução ... doh
Editar 2 O Eclipse tão fechado moveu os arquivos de volta ao local original e está tudo funcionando ... hum o que? Não pretendo saber por que isso funcionou. Será atualizado se houver alguma alteração.
Editar 3 Observei nos meus backups que havia realmente arquivos duplicados no diretório BIN e no BIN / CLASSES.
Portanto, a resposta é: não tenha arquivos nos dois locais. Pelo menos para mim, foi o que funcionou.
fonte
Modifique seu arquivo eclipse.ini e configure o parâmetro máximo de memória para
Depois reinicie o seu computador.
Funcionou para mim.
fonte
encontrei uma solução eu acredito ??
Onde está escrito: "Lcom / coremedia / iso / AbstractBoxParser $ 1" que por acaso é o local da biblioteca que eu importei que estava causando o problema. Procurou por com.codemedia.iso.AbstractBoxParser $ 1.class e .AbstractBoxParser.class .... pegou o pote, descompactou-o, removeu os dois arquivos e depois empacotou-o como .zip, adicionado à biblioteca, limpo e funcionou! não há mais conflito para mim! (também não há atualizações ou downloads adicionais)
fonte
Eu tinha duas versões diferentes dos arquivos .jar da Cordova na minha pasta libs, apaguei a que não estava usando e funcionou imediatamente. Estranho porque eu não percebi isso antes e funcionou antes e de repente parou de funcionar ...
fonte
A atualização do ADT R14 muda para onde as classes vão para o diretório bin / classes (consulte http://tools.android.com/recent/buildchangesinrevision14 ). Se você estiver usando o ANT, altere o caminho para suas classes de bin para bin / classes. Isso funcionou para mim.
fonte
Solução para mim:
Navegue para o espaço de trabalho do seu projeto (não o seu projeto) e execute os seguintes comandos:
dev1: espaço de trabalho $ cd ~ / Documents / workspace / .metadata / .plugins / dev1: espaço de trabalho $ rm -rf org.eclipse.core.resources
Navegue para o diretório Eclipse e digite este comando:
dev1: eclipse $ ./eclipse clear
O Eclipse começará com um espaço de trabalho vazio - não se preocupe, seus projetos ainda estão lá. Simples criar novo projeto a partir de recursos existentes e as coisas devem ser molho.
O erro exato que eu estava recebendo: [2012-02-07 14:15:53 - Dex Loader] Não foi possível executar o dex: vários arquivos dex definem Landroid / support / v4 / view / PagerAdapter; [2012-02-07 14:15:53 - ProjectCloud] Falha na conversão para o formato Dalvik: Não foi possível executar o dex: vários arquivos dex definem Landroid / support / v4 / view / PagerAdapter;
fonte
Eu tenho vários projetos de biblioteca com o mesmo nome de pacote especificado no AndroidManifest (portanto, nenhum nome de campo duplicado é gerado por R.java). Eu tive que remover todas as permissões e atividades do AndroidManifest.xml para todos os projetos de biblioteca para remover o erro, para que o Manifest.java não fosse criado várias vezes. Espero que isso possa ajudar alguém.
fonte
Depois de tentar todas as outras sugestões sem sorte, excluí todo o conteúdo do diretório 'bin' dos meus projetos, executei o eclipse novamente e funcionou.
fonte
Eu converti um projeto que não é de biblioteca para um projeto de biblioteca, mas ele tinha um arquivo jar criado anteriormente na pasta libs. A remoção deste arquivo jar fez com que esse erro desaparecesse.
fonte
Eu estava enfrentando o mesmo problema, então eu vi enquanto empurrava meu aplicativo alguns arquivos jar que foram carregados duas vezes, portanto, vários erros dex. Basta ir às propriedades do projeto -> Java Build Path e tentar desmarcar o jar que está sendo carregado duas vezes.
fonte
[Resolvido para mim]
removendo a biblioteca duplicada "arquivo JAR" e remova o arquivo BuildConfig.java, Limpe o projeto e seu trabalho.
fonte