"A conversão para o formato Dalvik falhou com o erro 1" no JAR externo

908

No meu aplicativo Android no Eclipse, recebo o seguinte erro.

EXCEÇÃO DE NÍVEL SUPERIOR INESPERADA:
java.lang.IllegalArgumentException: já adicionado: Lorg / xmlpull / v1 / XmlPullParser;
....
Falha na conversão para o formato Dalvik com erro 1

Este erro aparece apenas quando adiciono um arquivo JAR externo específico ao meu projeto. Procurei por um longo tempo a solução possível, mas nenhuma das soluções possíveis funciona.

Eu até tentei mudar para o Android 1.6 em vez de 1.5 (a versão atual que eu uso).

Michel
fonte
Este artigo pode ajudá-lo a corrigir esse erro, caso você use o projeto de biblioteca em sua área de trabalho.
Nguyen Minh Binh
4
Eu tentei isso e deu o mesmo erro. Finalmente, eu o corrigi adicionando a biblioteca em Propriedades-> JavaBuildPath-> Projetos e adicione a biblioteca lá. É chamado "Objetos Necessários no Caminho da Construção:".
27
Este problema tornou-se brutal para mim. É quase o suficiente para desistir da codificação do Android. Nenhuma das soluções funciona para mim. Eu simplesmente tenho que tentar continuamente exportar falhas com o erro Dalvik 1 e, eventualmente, ele será bem-sucedido. Demora 15 a 30 minutos para criar uma versão compilada. É um desastre completo.
Anthony
Se você usar dois computadores em uma área de trabalho com um software de compartilhamento de arquivos, às vezes duplicará a área de trabalho-> projeto-> bin-> com pasta como com 1, com 2. Simplesmente exclua tudo com 1 ou 2, limpe seu projeto e você estará pronto ir.
Ozan Atmar

Respostas:

826

Vá para Projeto »Propriedades» Caminho de compilação Java »Bibliotecas e remova tudo, exceto o" Android XY "(no meu caso, Android 1.5). Clique OK. Vá para Projeto »Limpar» Limpar projetos selecionados abaixo »selecione seu projeto e clique em OK. Isso deve funcionar.

Também é possível que você tenha um arquivo JAR localizado em algum lugar nas pastas do seu projeto (eu copiei o arquivo Admob JAR na minha pasta src) e ENTÃO o adicionei como uma Java Path Library. Ele não aparece no Package Explorer, então você não percebe, mas é contado duas vezes, causando o temido erro Dalvik 1.

Outro motivo possível pode ser conflitos de nome de pacote. Suponha que você tenha um pacote com.abc.xyze uma classe nomeados A.javadentro deste pacote e outro projeto de biblioteca (que é adicionado à dependência deste projeto) que contém o mesmo com.abc.xyz.A.java, e você receberá o mesmo erro exato. Isso significa que você tem várias referências ao mesmo arquivo A.javae não pode construí-lo adequadamente.

De outras maneiras, isso pode ocorrer se você editar / adicionar acidental ou intencionalmente qualquer coisa no arquivo do caminho da classe. Em certos casos, podemos adicionar o caminho android.jar manualmente ao arquivo do caminho da classe para gerar o java doc. O código funcionará bem. Verifique isso também se ainda ocorrer algum.

user408841
fonte
4
Eu tive o mesmo problema e as etapas acima pelo user408841 funcionaram para mim.
Arunabh Das 14/08/10
112
Oi. Isso me corrige apenas "Projeto» Limpar »Limpar projetos selecionados abaixo» selecione seu projeto e clique em OK. " ignorando o 1º bit
Kurru
79
Estou bastante confuso com esta solução. Se você remover todos os arquivos e bibliotecas jar, como irá compilar o projeto com sucesso?
Cheok Yan Cheng
3
Eu descobri que a única maneira que isso funcionava para mim era LIMPAR TODOS OS PROJETOS! Especialmente aqueles dos quais o projeto ofensivo depende.
Roy Hinkley
7
Eu sou novo no desenvolvimento Android vindo do .NET e, para ser sincero, esse erro resume minha experiência com ele. Sério ... o que você deve fazer com essa mensagem de erro? É totalmente sem sentido. 'Dalvik' ?? Você o que?? Volte ao visual studio: p
David Masters
271

Eu resolvi o problema.

Este é um conflito de arquivo JAR.

Parece que tenho dois arquivos JAR no meu caminho de construção que incluem o mesmo pacote e classes.

smack.jar e android_maps_lib-1.0.2

A exclusão deste pacote de um dos arquivos JAR resolveu o problema.

michel
fonte
18
+1 - Em resumo, este é um conflito de arquivo JAR. Especificamente, isso poderia ser um conflito em quaisquer dois arquivos JAR. No meu caso, o conflito foi entre jackson-all-1.7.4.jar, jackson-core-asl-1.5.4.jar e jackson-mapper-asl-1.5.4.jar. Eu removi os dois JARs 1.5.4 e deixei o 1.7.4 all.
jmort253
Se você possui jars em qualquer projeto de biblioteca que você adicionou em seu próprio projeto, como eu adicionei o ScoreloopUIprojeto ao meu jogo AndEngine, esses jars também interferem nos seus, mesmo que não estejam no caminho de criação do seu próprio projeto.
Pqn
1
Eu especifiquei android-sdk / platform / android-10 / android.jar manualmente em .classpath, depois mudei para 2.3.3 (Android 10) nas propriedades do projeto, o que causou um conflito entre os dois android.jar. Removendo o extra no Caminho de Construção Java fez o truque
styler1972
2
Do meu lado, o conflito veio do ActionbarSherlock, que já inclui o pacote de suporte para Android, que o git incluiu duas vezes.
Tobias
Apenas para informação: No meu caso, por causa da falha, era que o alvo android diferente não foi a mesma em ambos projeto: android: targetSdkVersion = "xx"
Andreas Mattisson
126

Solução Windows 7:

Confirmado que o problema foi causado pela linha de comando do ProGuard no arquivo
[Diretório de instalação do SDK do Android] \ tools \ proguard \ bin \ proguard.bat

Edite a seguinte linha resolverá o problema:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

para

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
Noah
fonte
isso não funcionou para mim, mas comentar a linha de progresso do meu arquivo default.properties fez com que o erro desaparecesse. meu problema parece estar relacionado ao progresso de alguma forma. Eu estava recebendo "Conversão para o formato Dalvik falhou com o erro 1" ao tentar exportar o projeto. Alguma ideia?
Ben H
Eu tentei a sugestão acima novamente e removi e re-adicionei meu projeto de biblioteca LVL e agora funciona. não sei o que exatamente o corrigiu, mas funciona. graças a Deus. eu perdi horas com isso.
Ben H
Windows Vista, e isso funcionou para mim. Eu já havia tentado alterar o caminho do SDK para programa ~ 2, reinstalando, limpando o projeto, removendo as bibliotecas e corrigindo, etc ... Então, obrigado Noah!
Mudar
Muito obrigado Noah, isso funcionou para mim também no Windows 7. O erro começou depois que eu atualizei ADT para a versão 12.
Kevin
Resolvido meu problema no Windiws 7. #
poiuytrez
94

Você pode resolver esse problema facilmente (com as Ferramentas de desenvolvedor do Eclipse Android, Build: v22.0.1-685705) desativando o menu> "Projeto"> "Construir automaticamente" ao exportar (não) aplicativo Android assinado. Depois disso, não se esqueça de ligá-lo novamente.

Ton Snoei
fonte
2
Isso resolveu no meu caso. O problema de outra forma ocorre esporadicamente e sem causa definitiva (por exemplo, má frasco ou o caminho)
Dirk Conrad Coetsee
Isso estava me deixando louco! A única solução que funcionou para mim. Imagino por que.
precisa saber é o seguinte
1
Isso resolveu para mim - outras soluções também poderiam ter ajudado, mas essa foi a última antes de fazê-la funcionar.
Pertz
Passei 4 horas trabalhando em todas as sugestões que encontrei e finalmente cheguei a essa. Obrigado - resolveu o problema imediatamente.
Squonk
Solução muito simples, mas funciona! Me salvou algumas horas de luta inútil com o Eclipse. Experimente antes de tentar qualquer solução mais complicada.
Frog 4/15
53

Se você tiver a revisão 12+ do ADT, atualize seu programa de 4.4 -> 4.6 (conforme descrito aqui ). Além disso, você deve deixar o arquivo ... \ bin \ proguard.bat no formato original.

Faça o download da Web e copie a pasta lib do pacote baixado para o:

[Diretório de instalação do Android SDK] \ tools \ proguard \ lib

Kocus
fonte
3
Esse foi o meu problema em vários ADTs. Fazer o download e substituir os JARs programados funciona.
Sr. S
Uau, obrigado, isso foi corrigido para mim, embora eu também precisasse esclarecer alguns avisos. stackoverflow.com/q/4525661/38258
Nick Gotch
Eu mudei a versão proguard de 4.4 para 4.9, depois disso meu problema ainda não foi resolvido.
precisa
1
Eu só tinha que fazer isso sozinho, passando de 4.7 -> 4.11 (o mais recente até agora aqui: sourceforge.net/projects/proguard/files ). Acabei de renomear o <sdk>/tools/proguarddiretório antigo e movi o proguard4.11diretório descompactado completo para o caminho antigo. Voila! Agora, se eu pudesse recuperar minha hora anterior ... -_-
qix
1
Obrigado! isso resolve meu problema corretamente. Meu problema é causado quando eu atualizo meu sdk do sdk manager e o programa foi redefinido para a versão original que acompanha o api nível 11. Depois de atualizar o programa, envie para a versão mais recente. e funciona! Minha referência: java.dzone.com/articles/my-reminder-how-fix-conversion
mmw5610
41

EDIT (nova solução):

Parece que a solução anterior é apenas um desvio. Consegui finalmente resolver o problema permanentemente: no meu caso, houve uma incompatibilidade nos arquivos android-support-v4 no meu projeto e no projeto do Facebook que é mencionado no meu projeto.

Encontrei este erro executando o Lint Check (Ferramentas Android / Run Lint: verifique se há erros comuns)

Minha solução anterior:

Eu tentei qualquer solução possível neste site - nada ajudou !!!

Finalmente, encontrei uma resposta aqui: https://groups.google.com/forum/#!topic/actionbarsherlock/drzI7pEvKd4

Passos fáceis:

Vá para Projeto -> desmarque Compilar automaticamente

Vá para Projeto -> Limpar ..., limpe o projeto da biblioteca e o projeto do seu aplicativo

Exporte seu aplicativo como um APK assinado enquanto o Build Automaticamente ainda está desativado

Paveliko
fonte
Obrigado funcionou para mim para os meus js cocos2dx projeto usando adt eclipse 23
snowflakes74
Erro: Opção desconhecida '0409' no argumento número 1
Iman Marashi 22/04
30

Aqui está outro cenário e solução:

Se você se deparar com esse problema recentemente após atualizar o ADT for Eclipse:

  1. No seu projeto de aplicativo, verifique se há pastas de origem vinculadas que apontem para seus projetos de biblioteca (eles têm nomes no formato "LibraryName_src").
  2. Selecione todos esses projetos, clique com o botão direito do mouse, escolha " Caminho da Construção " -> " Remover do Caminho da Construção ".
  3. Escolha " Também desvincular a pasta do projeto " e clique em " Sim ".
  4. Limpe, reconstrua e reimplemente o projeto.

Parece que o motivo é que algumas versões anteriores das pastas de origem do projeto Library vinculadas ao ADT aos projetos "filhos" e a combinação atual do ADT / Dex não são mais compatíveis com essa solução.

EDIT: isso é confirmado por uma entrada do Android Dev Blog, especificamente esta - veja o 8º parágrafo em diante.

TheTerribleSwiftTomato
fonte
1
Essa é de longe a resposta mais útil para meu problema específico . Muito obrigado!!!
Bill The Ape
Isso é o que eu poderia usar com êxito, não a resposta altamente votada pelo usuário408841.
RICS
29

Vá para Projeto e desmarque a opção "Criar automaticamente". Em seguida, tente exportar o projeto e o erro desapareceu.

kgandroid
fonte
27

Isso também pode ser causado se você adicionou um Android.jararquivo ao seu caminho de construção, talvez por uma correção rápida acidental no Eclipse. Remova-o com o botão direito do mouse em Projeto -> caminho da construção -> configure o caminho da construção -> android.jar , remova.

Tom Dignan
fonte
25

Simplesmente limpar o projeto funcionou para mim toda vez que esse erro surgia.

BTR
fonte
Reiniciar o Eclipse + limpar o projeto + construção manual funcionou para mim.
Dodgy_coder
A limpeza funcionou para mim ... então, se você tem uma boa compilação de depuração que está executando em telefones reais e, em seguida, libera a exportação e vê esse erro ... tente limpar todos os projetos primeiro.
lepert
16

Minha própria e única solução que encontrei hoje após quatro horas de teste de todas as soluções é uma combinação de muitas soluções fornecidas aqui:

  • Delete projeto do Eclipse
  • Excluir arquivos na \bine \genda pasta do projeto
  • Remover referências a bibliotecas no .classpatharquivo na pasta raiz do projeto
  • Reinicie o Eclipse com a linha de comandos: eclipse -clean
  • Import projeto
  • Botão direito do mouse no projeto - selecione Properties> Java Build Path> Librariese remover tudo o mais do queAndroid XX.Y
  • Finalmente cleanprojeto, espere para construção automática ou Buildque
  • Lançamento e agora funciona! Pelo menos para mim...

Eu tentei cada passo de cada vez e muitas combinações, mas apenas a sucessão de todos os passos conseguiu! Espero não enfrentar isso de novo ...

Darkendorf
fonte
Houve um aviso de um usuário anônimo de que isso teve resultados desastrosos. Tente por sua conta e risco!
PaulG 4/12/12
funcionou para mim, mas eu não fiz: "eclipse -clean" e não removi as bibliotecas.
NicoMinsk 26/10/12
A exclusão da binpasta fez isso por mim.
Boltup_im_coding
14

Apenas para as outras pessoas que ainda têm esse problema e tentaram as respostas acima, mas ainda estão recebendo o erro (que era o meu caso), então minha solução foi excluir o projeto do Eclipse e reimportá-lo novamente.

Isso fez com que a biblioteca do Android fosse adicionada novamente às minhas bibliotecas referenciadas; agora, eu tenho dois arquivos JAR do Android referenciados; portanto, excluí um deles e agora ele compila corretamente.

Solução: exclua o projeto do Eclipse IDE e importe-o novamente e verifique as soluções acima.

Peter Mortensen
fonte
Obrigado! Isso me ajudou a sair do zero.
precisa saber é o seguinte
10

Hoje me deparei com esse problema. A limpeza e a reconstrução não resolveram o problema. Excluir e reimportar o projeto também não ajudou.

Finalmente, dediquei-o a uma adição ruim ao meu arquivo .class. Acho que isso foi adicionado pelas ferramentas de plug-in quando eu estava tentando corrigir outro problema, removendo-o do erro de compilação "Conversão para o formato Dalvik falhou com o erro 1":

<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
    <attributes>
        <attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
    </attributes>
    <accessrules>
        <accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
    </accessrules>

Joe Fernandez
fonte
9

Para mim, uma referência JAR extra apareceu no meu caminho de construção. Eu apaguei isso, e ele funciona agora.

brux
fonte
8

Meu problema foi causado pela integração do ADT versão 12.0 e ProGuard. Esse bug está bem documentado e a solução está na documentação

A solução está aqui

Linha de comando do ProGuard

Croc
fonte
Obrigado Croc, não acho que o bug esteja muito bem documentado - não o encontrei depois de procurar uma hora por uma solução.
Kevin
Você provavelmente está gravando - o problema é que uma única mensagem de erro tem muitas causas. O Google deve ter mais algumas mensagens para ajudar os usuários a descrever o problema. Você pode obter conforto no fato de que levei dois dias para resolver o problema quando o encontrei ...
Croc
O comentário 11 na página de discussão de bug vinculado resolveu o problema aqui: configure a saída de compilação como Verbose (em Janela> Preferências> Android> Compilação) e procure JAR ou classes que o compilador está usando, mas não deveria estar lá. Remova eles. Experimente construir sem nenhum problema novamente.
Giulio Piancastelli
8

Eu lidei com esse problema ao usar a biblioteca Sherlock ActionBar no meu projeto. Você pode fazer o seguinte passo, é trabalho para mim.

  1. Clique com o botão direito do mouse no seu projeto, selecione propriedades.
  2. Uma caixa de diálogo será exibida, selecione 'Java build path' no menu esquerdo.
  3. Remova 'Dependências do Android' e 'Bibliotecas particulares do Android' no painel direito e clique em OK
  4. Limpe seu projeto (selecione menu Projeto -> Limpar)
  5. Clique com o botão direito do mouse em seu projeto, selecione Ferramentas Android -> Corrigir propriedades do projeto
  6. Projeto limpo mais uma vez.
  7. Reinicie o seu computador
  8. Eclipse aberto e exportação apk

Espero que ajude você.

mvmanh
fonte
Sua mensagem de erro deve ser mais especificada. Você economiza meu tempo. Obrigado.
teapeng
7

No meu caso, o problema está realmente com o projeto da API OpenFeint. Adicionei o OpenFeint como projeto de biblioteca:

projeto da biblioteca]! [1]! [Insira a descrição da imagem aqui.

Também é adicionado ao caminho de construção, as ferramentas 16 do ADT dão erro neste cenário.

Clique com o botão direito do mouse em seu projeto e clique em caminho de construção, configure o caminho de construção e veja a imagem e remova seu projeto OpenFeint daqui e tudo está feito :)

Digite a descrição da imagem aqui

AZ_
fonte
7

Encontrei outra coisa. O Android usa o /libsdiretório para arquivos JAR. Vi o erro "Conversão para o formato Dalvik falhou com o erro 1" várias vezes, sempre quando cometia um erro nos meus arquivos JAR.

Agora, atualizei o Roboguice para uma versão mais nova, colocando o novo arquivo JAR no /libsdiretório e alternando o caminho da classe para a nova versão. Isso causou o erro de Dalvik.

Quando removi um dos arquivos JAR do Roboguice da /libspasta, o erro desapareceu. Aparentemente, o Android coleta todos os arquivos JAR /libs, independentemente de quais você especificar no caminho de construção do Java. Não me lembro exatamente, mas acho que o Android começou a usar /libspor padrão a partir do Android 4.0 (Ice Cream Sandwich, ICS).

Peter Mortensen
fonte
7

A atualização do Proguard para a versão mais recente resolveu isso para mim.

  • Meu caminho proguard foi C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • Eu baixei a nova versão daqui
  • e substituiu as pastas bin e lib

GRAÇAS A DEUS!

Pinhassi
fonte
7

Em geral, parece que esse problema ocorre quando há arquivos JAR desnecessários no caminho da construção.

Eu enfrentei esse problema enquanto trabalhava no IntelliJ IDEA . Para mim, aconteceu porque adicionei as bibliotecas JUnit e Mockito que estavam sendo compiladas em tempo de execução. Isso precisava ser definido como "testing" nas propriedades do módulo.

mindReader
fonte
Oh, obrigado por mencionar "Em geral, parece que esse problema ocorre quando há frascos desnecessários no caminho da compilação". Após excluir os arquivos jar desnecessários, o erro desaparece. :)
surendran 15/06
6

Nenhuma das soluções propostas anteriormente funcionou para mim. No meu caso, o problema ocorreu quando passei de uma pasta de código-fonte da biblioteca para o arquivo JAR da biblioteca. Inicialmente, havia um projeto de biblioteca do Android listado na seção Properties \ Android page \ Library do projeto de aplicativo para Android, e a biblioteca foi comparada também na árvore do explorador de projetos como um link para o diretório de origem da biblioteca.

Em primeiro lugar, acabei de excluir o link do diretório da árvore do projeto e adicionei a biblioteca JAR ao caminho da construção, mas isso causou a exceção.

O procedimento correto foi (após alterar novamente o caminho da compilação e colocar de volta a referência à fonte da biblioteca):

  • remova corretamente o link do diretório de origem da biblioteca, removendo a referência da página Propriedades do projeto do aplicativo \ Android

  • adicionando o JAR da biblioteca ao caminho de construção do projeto do aplicativo, como de costume.

superjos
fonte
6

Nenhuma das soluções listadas funcionou para mim.

Aqui é onde eu estava tendo um problema:

Adicionei o arquivo JAR externo do jSoup ao caminho do meu projeto, primeiro colocando-o em uma pasta de origem chamada "libs" e, em seguida, clicando com o botão direito do mouse em Build Path -> add to build path. Isso gerou o erro de conversão Dalvik. Ele disse que "já incluíra" uma classe desse arquivo JAR. Olhei em volta do diretório do projeto e descobri que o local em que estava "já incluído" era de fato o bindiretório. Excluí o arquivo JAR do bindiretório e atualizei o projeto no Eclipse e o erro desapareceu!

Andrew
fonte
5

Todas as soluções acima não funcionaram para mim. Não estou usando nenhum .jar pré-compilado. Estou usando os erros LVL e Dalvik, todos relacionados à biblioteca de licenciamento do mercado.

O problema foi resolvido excluindo o projeto principal e reimportando (crie um novo projeto a partir de fontes existentes).

olivierg
fonte
5

Eu tive o mesmo problema e nenhuma dessas soluções funcionou. Por fim, vi no console que o erro ocorreu devido à classe duplicada (uma no projeto existente e outra no arquivo jar adicionado):

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

Portanto, verifique se você está adicionando jar com classes duplicadas em seu projeto. Se sim, tente remover um deles.

Funcionou para mim.

Seynorth
fonte
veja a minha resposta: stackoverflow.com/questions/2680827/...
Michel
5

Geralmente, para mim, a limpeza do projeto NÃO corrige esse problema.

Mas fechar o projeto no Eclipse e reabri-lo parece corrigi-lo nesses casos ...

Andrew
fonte
1
O mesmo para mim, fechar o Eclipse e iniciar novamente normalmente o resolve. Então eu tento, mas não consigo fazer uma segunda exportação, tenho que reiniciar novamente.
Ted
5

Encontrei esse problema, mas minha solução era dupla. 1.) Eu tive que adicionar uma versão de destino do Android em projeto -> propriedades -> Android . 2.) Eu não tinha todos os 'add-ons' de terceiros. Clique no Gerenciador de AVD SDK sob pacotes disponíveis -> de terceiros add-ons -> Google Inc . Fiz o download de todos os SDKs e isso resolveu meu problema.

THE_DOM
fonte
Minha solução era praticamente a mesma que a solução do @THE_DOM. Clique com o botão direito do mouse no projeto, escolha Ferramentas Android e escolha Adicionar Biblioteca de Compatibilidade. Isso fará o download desses "complementos de terceiros" se você não os tiver (solução do THE_DOM), mas também os adicionará ao seu projeto. Ainda não se sabe se essa solução é apenas um placebo ou não. :)
Chris
5

Estou usando o Android 1.6 e tinha um arquivo JAR externo. O que funcionou para mim foi remover todas as bibliotecas, clicar com o botão direito do mouse no projeto e selecionar Ferramentas Android -> * Corrigir propriedades do projeto (que adicionou o Android 1.6) e depois adicionar o arquivo JAR externo.

Jim Rhodes
fonte
5

Corri para esse problema porque o plug-in Android-Maven no Eclipse aparentemente não reconhecia referências transitivas e referências referenciadas duas vezes em alguns projetos (incluindo um projeto de biblioteca do Android) e incluí-las mais de uma vez. Eu tive que usar o hocus-pocus para incluir tudo apenas uma vez, mesmo que Maven deva cuidar de tudo isso.

Por exemplo, eu tinha uma biblioteca principal globalmentor-core, que também era usada pelo globalmentor-google e globalmentor-android (o último dos quais é uma biblioteca Android). No globalmentor-android pom.xml, tive que marcar a dependência como "fornecida", além de ser excluída de outras bibliotecas nas quais foi incluída transitivamente:

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-core</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!-- android-maven-plugin can't seem to automatically keep this from being
             included twice; it must therefore be included manually (either explicitly
             or transitively) in dependent projects -->
        <scope>provided</scope>
    </dependency>

Então, no aplicativo final, pom.xmleu tive que usar as artimanhas certas para permitir apenas um caminho de inclusão - além de não incluir explicitamente a biblioteca principal:

    <!-- android-maven-plugin can't seem to automatically keep this from being
        included twice -->
    <!-- <dependency> -->
    <!-- <groupId>com.globalmentor</groupId> -->
    <!-- <artifactId>globalmentor-core</artifactId> -->
    <!-- <version>1.0-SNAPSHOT</version> -->
    <!-- </dependency> -->

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-google</artifactId>
        <version>1.0-SNAPSHOT</version>
        <exclusions>
            <!-- android-maven-plugin can't seem to automatically keep this from
                being included twice -->
            <exclusion>
                <groupId>com.globalmentor</groupId>
                <artifactId>globalmentor-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-android</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
Garret Wilson
fonte
Coisa estranha para mim foi que <extractDuplicates>true</extractDuplicates>no android-maven-plugin corrigiu o problema para mvn installmas não para mvn deployonde eu tenho o erro descrito ... realmente estranho
Karussell
5

No meu caso

projeto-> propriedades-> caminho da compilação java -> na guia ordem e exportação -> desmarque android-support-v4.jar

Mufrah
fonte
5

Apenas limpe o projeto

Se isso não funcionar, tente as outras soluções

Yassin
fonte
mais 1 para a solução simples
Shylendra Madda
E eu também preciso reiniciar o Eclipse.
Dino Tw