web-dev-qa-db-fra.com

Comment installer les dépendances de construction pour Android?

J'essaie de construire la source Android à l'aide de ces packages. Mais je reçois cette erreur:

$ 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

J'ai essayé de télécharger et d'installer disons libc6-dev-i386 sous forme de paquet debian ici . Mais lorsque je double-clique sur le fichier .deb, Ubuntu Software Manager dit la mauvaise architecture 'AMD64'.

(Mon système d'exploitation: Ubuntu 10.10 32 bits (mise à jour), Processeur: Phénomène AMD II 64 bits.)

2
ruben

Je crois que la page Android.com est un peu obsolète. Il existe de nombreuses solutions de contournement qui flottent sur le net. Je vais essayer de résumer ce qui a fonctionné pour moi.

Deux pages utiles, si imparfaites, se trouvent ici:

crashcourse.ca
wildartist

Premièrement, il semblerait que vous souhaitiez probablement utiliser Java6 et non pas Java5, à en juger par certains des fils du groupe . Par conséquent, si vous voyez Java5 dans les instructions, sachez que vous devrez remplacer Sun Java6 ou ouvrir Java 6.

Voici les packages dont j'avais besoin pour mon système 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

Une fois que ceux-ci sont en place, construisez repo:

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

Puis dans votre répertoire de construction:

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

Le site wildartist continue:

Si vous rencontrez le message "commande introuvable", vous pouvez le faire avec les commandes suivantes:

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

Il faudra beaucoup de temps pour obtenir le code, même si la ligne est rapide car le projet lui-même est vraiment énorme. Après une longue attente, vous constaterez que le processus de paiement est terminé. La prochaine chose à faire est de faire en sorte de construire le projet. Mais vous rencontrerez un message indiquant que la version Java n'est pas correcte et que le processus de construction échoue. Ensuite, vous pouvez modifier le fichier build/core/main.mk pour changer le texte "1.5" en "1.6".

À ce stade, vous devriez avoir les dépendances et le code prendre en charge. Vous aurez toujours besoin de make.

Étant donné que la base de code et les bibliothèques et composants de support changent, il est difficile de maintenir les instructions à jour, raison pour laquelle les procédures en conflit sont si nombreuses pour ce processus.

3
belacqua

Vous essayez d'installer des packages 32 bits qui ne sont pas disponibles dans vos référentiels. Vous ne pouvez pas installer de packages i386 car votre configuration est 64 bits. Essayez de trouver des paquets similaires dans le gestionnaire de paquets Synaptic.Par exemple, recherchez libc6-dev et installez le paquet approprié pour votre système.

0
Pedram

EDIT: Voir la réponse de jgbelacqua. Getlibs devrait probablement devenir un wiki de communauté à la place ou quelque chose comme ça ...

getlibs:

getlibs/chemin/à/binaire
getlibs -l i386librarytoinstall.so
getlibs -p i386packagename
getlibs -w www.website.com/i386package.deb
getlibs -i /home/chris/i386package.deb

http://ubuntuforums.org/showthread.php?t=47479

@Pedram: J'ai bien peur que votre réponse soit trompeuse.

0
bumbling fool