Android SDK - Como corrigir o problema da R.java do eclipse no linux
Se ao criar seu primeiro projeto android com o adt-bundle-linux-x86-64 você se deparou com a mensagem:
Então você veio ao lugar certo! Hoje mostrarei passo a passo como se deve fazer para corrigir isso.
Antes de tudo, esse problema é causado porque o adb está compilado para 32bits, mesmo que o pacote que você baixou seja para sistemas 64bits. Veja por você mesmo.
Primeiro Passo - Faça um diaginóstico:
Entre na pasta platform-tools que fica dentro de adt-bundle-linux.../sdk:
Agora utilize os comando ldd e file no executavel adb para analise:
se você obteve essas mensagens então podemos continuar.
Segundo Passo - Atualize seu repositorio
Nos meus tutoriais passo-a-passo recomendo atualizar seu repositório e o sistema antes de fazer qualquer alteração, até pra evitar eventuais problemas.
Terceiro Passo - Instale suporte 32bits e libs 32bits
A Solução do problema está aqui! Após concluir a instalção do suporte 32 bits o adb sera emulado e voltará a funcionar.
Ultimo Passo - Faça outro diagnóstico:
Se você chegou até aqui então seu sistema foi corrigido.
[2013-11-02 22:33:05 - adb] Unexpected exception 'Cannot run program "/home/user/adt-bundle-linux-x86_64/sdk/platform-tools/adb": error=2, No such file or directory' while attempting to get adb version from
Então você veio ao lugar certo! Hoje mostrarei passo a passo como se deve fazer para corrigir isso.
Antes de tudo, esse problema é causado porque o adb está compilado para 32bits, mesmo que o pacote que você baixou seja para sistemas 64bits. Veja por você mesmo.
Primeiro Passo - Faça um diaginóstico:
Entre na pasta platform-tools que fica dentro de adt-bundle-linux.../sdk:
$ cd /diretorio/adt-bundle-linux-x86_64/sdk/platform-tools
Agora utilize os comando ldd e file no executavel adb para analise:
$ ldd adb
not a dynamic executable
$ file adb
/opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped
se você obteve essas mensagens então podemos continuar.
Segundo Passo - Atualize seu repositorio
Nos meus tutoriais passo-a-passo recomendo atualizar seu repositório e o sistema antes de fazer qualquer alteração, até pra evitar eventuais problemas.
$ sudo apt-get update
$ sudo apt-get upgrade
Terceiro Passo - Instale suporte 32bits e libs 32bits
A Solução do problema está aqui! Após concluir a instalção do suporte 32 bits o adb sera emulado e voltará a funcionar.
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 ia32-libs
Ultimo Passo - Faça outro diagnóstico:
$ ldd /opt/adt-bundle-linux-x86_64-20130729/sdk/platform-tools/adb
linux-gate.so.1 => (0xf772a000) librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf770a000) libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7706000) libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf76ec000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7600000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf75da000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf75bd000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf745a000) /lib/ld-linux.so.2 (0xf772b000)
Se você chegou até aqui então seu sistema foi corrigido.
Olá luiz,
ResponderExcluirpara mim acontece um erro, dizendo que as dependencias nao foram encontradas, estou usando Debian 7.4.0 64bits
root@pc:/opt/adt-bundle-linux-x86_64-20140321/sdk/platform-tools# sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 ia32-libs
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
O pacote libc6:i386 não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
No entanto, os pacotes a seguir o substituem:
libc-bin initscripts tzdata
O pacote libstdc++6:i386 não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
O pacote libncurses5:i386 não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
No entanto, os pacotes a seguir o substituem:
libtinfo5
E: O pacote 'libc6:i386' não tem candidato para instalação
E: O pacote 'libncurses5:i386' não tem candidato para instalação
E: O pacote 'libstdc++6:i386' não tem candidato para instalação
E: Impossível encontrar o pacote ia32-libs
tentei instalar os pacotes que substituem como indicado mas a resposta é sempre que nao foi possivel encontrar.
Já deu uma olhada no teu source.list? tenta usar este.
Excluir$ sudo vim /etc/apt/source.list
# /etc/apt/source.list - debian 7 wheezy
deb http://ftp.br.debian.org/debian stable main contrib non-free
deb-src http://ftp.br.debian.org/debian stable main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
$ sudo apt-get update
$ sudo apt-get upgrade
e depois repete os passos a seguir
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 ia32-libs
Excelente tutorial. Funcionou certinho comigo. Com a única diferença de que o pacote ia32-libs estava obsoleto. Ele me sugeriu usar o lib32z1 e rodou normalmente.
ResponderExcluirMuito obrigado pelo post, me ajudou bastante.
Abraços
excelente tutorial, passei uma semana ralando, sem saber qual era o problema, mas agora consegui resolver seguindo seu tutorial, muito obrigado!
ResponderExcluir