page.title=Host System Setup pdk.version=1.0 doc.type=guide @jd:body <a name="toc"/> <div style="padding:10px"> <a href="#androidSourceSetupIntro">Introduction</a><br/> <a href="#androidSourceSetupBuildSystemSetupPackages">Installing Packages</a><br/><div style="padding-left:40px"> <a href="#androidSourceSetupBuildSystemSetupRequiredPackages">Required Packages</a><br/> <a href="#androidSourceSetupUbuntu606Intro">Ubuntu 6.06 (Dapper)</a><br/> <a href="#androidSourceSetupUbuntu710Intro">Ubuntu 7.10</a><br/> <a href="#androidSourceSetupUbuntu804Intro">Ubuntu 8.04</a><br/></div> <a href="#androidSourceSetupBuildSystemSetupJavaIntro">Installing Java</a><br/></div> <a name="androidSourceSetupIntro"></a><h2>Introduction</h2> <p>This section provides instructions on how to configure your host system to build Android for mobile devices. While Android is designed as host-environment agnostic, it has been tested and is known to work on the following Linux operating system; Ubuntu 6.06 (Dapper), 7.10 (Gutsy), and 8.04. Cygwin is not recommended. </p> <a name="androidSourceSetupBuildSystemSetupPackages"></a><h2>Installing Packages</h2> <a name="androidSourceSetupBuildSystemSetupRequiredPackages"></a><h3>Required Packages</h3> <p>Android requires the following system packages:</p> <p><ul> <li>flex: This lexical analyzer generator is used to read a given input file for a description of a scanner to generate.</li> <li>bison: This is a general-purpose parser generator.</li> <li>gperf: This is a perfect hash function generator.</li> <li>libesd0-dev: This enlightened sound daemon (dev files) is used to mix digitized audio streams for playback by a single device.</li> <li>libwxgtk2.6-dev: This package provides GUI components and other facilities for many different platforms.</li> <li>build-essential: This package contains a list of packages considered fundamental to building Debian packages.</li> </ul></p> <a name="androidSourceSetupUbuntu606Intro"></a><h3>Ubuntu 6.06 (Dapper)</h3> <p>On a clean Dapper system, type the following:</p> <pre class="prettyprint"> % sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential </pre> <p>This snippet includes an artificial line break to maintain a print-friendly document.</p> <a name="androidSourceSetupUbuntu710Intro"></a><h3>Ubuntu 7.10</h3> <ol><li>The libwxgtk2.6-dev package will only work if the following code is included in your /etc/apt/source file. <p><pre class="prettyprint"> ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free license. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. # Line commented out by installer because it failed to verify: deb http://us.archive.ubuntu.com/ubuntu/ gutsy universe # Line commented out by installer because it failed to verify: deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy universe # Line commented out by installer because it failed to verify: deb http://us.archive.ubuntu.com/ubuntu/ gutsy-updates universe # Line commented out by installer because it failed to verify: deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy-updates universe </pre></p></li> <li>Install required packages with the following command: <p><pre class="prettyprint"> % sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential </pre></p> This snippet includes an artificial line break to maintain a print-friendly document. </li> <li> <p>Install the X11 development environment with the following commands:</p> <p><pre class="prettyprint"> % sudo apt-get install x-dev % sudo apt-get install libx11-dev % sudo apt-get install libncurses5-dev </pre></p> </li> </ol> <a name="androidSourceSetupUbuntu804Intro"></a><h3>Ubuntu 8.04</h3> <p>On a clean system, type the following:</p> <pre class="prettify"> % sudo apt-get install flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential % sudo apt-get install x-dev % sudo apt-get install libx11-dev % sudo apt-get install libncurses5-dev % sudo apt-get install sun-java5-jdk </pre> <a name="androidSourceSetupBuildSystemSetupJavaIntro"></a><h2>Installing Java</h2> <p>Android source code includes a hard dependency on the Java Developer Kit (JDK) 5.0 Update 12 or greater. The specific file name of the Update 12 package is <code>jdk-1_5_0_12-linux-i586.bin</code>. To download this version of the Java JDK:</p> <p><ol> <li>Navigate to: <a href="http://java.sun.com/products/archive/">http://java.sun.com/products/archive/</a>.</li> <li>Select '5.0 Update 12' from the 'Java 2 Platform Standard Edition (J2SE)' -> 'JDK/JRE - 5.0' field and click 'Go.'</li> <li>Click 'Download JDK.'</li> <li>In the 'Linux Platform' section, click 'Linux self-extracting file' associated with the jdk-1_5_0_12-linux-i586.bin package.</li> <li>Follow the installation instructions.</li> </ol> </p> <p>Once you have cleanly installed the JDK, modify your PATH environment variable to include <code><jdk-install-dir>/jdk1.5.0_12/bin</code> at its beginning so that Dapper will use the correct installation. </p> <p><b>Ubuntu 7.10</b></p> <p>An alternative method to quickly install Java is to enable multiverse repo in <code>/etc/apt/sources.list</code> and then execute:</p> <pre class="prettyprint"> % sudo apt-get install sun-java5-jdk </pre>