Como instalo as dependências de compilação para o Android?

2

Estou tentando criar a fonte Android usando esses pacotes. Mas estou recebendo este erro:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
[sudo] password for asdf: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libc6-dev-i386
E: Unable to locate package lib32ncurses5-dev
E: Unable to locate package ia32-libs
E: Unable to locate package lib32readline5-dev
E: Unable to locate package lib32z-dev

Eu tentei fazer o download do & amp; instalar o pacote de pacotes debc6-dev-i386 debian aqui . Mas quando clico duas vezes no arquivo .deb, o Gerenciador de Software do Ubuntu diz que a arquitetura errada 'amd64'.

(Meu sistema operacional: Ubuntu 10.10 de 32 bits (atualizado), Processador: AMD phenom II de 64 bits.)

    
por ruben 10.02.2011 / 23:02

3 respostas

3

Acredito que a página do android.com esteja um pouco desatualizada. Há muitas soluções diferentes que estão flutuando na rede. Vou tentar resumir o que funcionou para mim.

Duas páginas úteis, se imperfeitas, estão localizadas aqui:

crashcourse.ca
wildartist

Primeiro, parece que você provavelmente usará java6 e não java5 , a julgar por alguns dos tópicos do grupo . Então, se você vir java5 em instruções, saiba que precisará substituir o sun java6 ou o java 6.

Aqui estão os pacotes que eu precisava para o meu sistema de 32 bits:

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jdk ant gcc-multilib g++-multilib

Depois disso, crie repo :

sudo curl http://android.git.kernel.org/repo -o /usr/local/bin/repo   
sudo chmod a+x /usr/local/bin/repo

Em seguida, no diretório de criação:

repo init -u git://android.git.kernel.org/platform/manifest.git    
repo sync

O site do wildartist continua:

  

Se você encontrar a mensagem "comando não encontrado", poderá fazê-lo com os seguintes comandos:

$ sudo sh /usr/local/bin/repo init -u git://android.git.kernel.org/platform/manifest.git
$ sudo sh /usr/local/bin/repo sync
     

Demorará muito tempo para obter o código   mesmo que a linha seja rápida como o   projeto em si é realmente enorme. Depois de   a longa espera, você vai descobrir que   o processo de checkout foi finalizado.   A próxima coisa a fazer é fazer para construir   o projeto. Mas você vai conhecer um   mensagem que a versão do Java não é   correto e o processo de construção falhará.   Então você pode modificar o   arquivo build / core / main.mk para alterar o   texto "1.5" para "1.6".

Neste ponto, você deve ter as dependências e o código. Você ainda precisará make .

Como a base de código e as bibliotecas e componentes de suporte estão mudando, é difícil manter as instruções perfeitamente atualizadas, e é por isso que existem tantos procedimentos conflitantes para esse processo.

    
por belacqua 11.02.2011 / 00:53
0

Você está tentando instalar alguns pacotes de 32 bits que não estão disponíveis em seus repositórios. Você não pode instalar pacotes i386 já que sua configuração é de 64 bits. Tente encontrar pacotes semelhantes no gerenciador de pacotes Synaptic.Por exemplo, procure por libc6-dev e instale o pacote adequado para o seu sistema.

    
por Pedram 10.02.2011 / 23:15
0

EDIT: Veja a resposta de jgbelacqua. Getlibs provavelmente deveria se tornar um wiki da comunidade ou algo assim ...

getlibs:

  

getlibs / path / to / binary
  getlibs -l i386librarytoinstall.so
  getlibs -p i386packagename
  getlibs -w www.website.com/i386package.deb
  getlibs -i /home/chris/i386package.deb

link

@Pedram: Receio que sua resposta seja realmente enganosa.

    
por bumbling fool 10.02.2011 / 23:48