« Previous - Version 7/9 (diff) - Next » - Current version
Beuc Beuc, 07/27/2015 10:15 PM
Precise Eclipse versioning


Build the Android Development Tools for Eclipse (ADT) with Replicant 4.2

Principle of operation

The Android 4.2 source code ships a sdk/eclipse/ directory with ADT build scripts.
The build script will also download Eclipse 3.6.2 files as build dependencies.

Note: as of 2015-07, ADT is deprecated in favor of Android Studio, based on IntelliJ.

Recreate matching build environment

Replicant 4.2 is based on CyanogenMod 10.1 which is based on AOSP 4.2.2, released 2013-02.
The build environment used by NDK release managers should be Ubuntu LTS 10.04.

To recreate it easily with LXC, follow:

Build dependencies

# Based on https://web.archive.org/web/20121201011547/http://source.android.com/source/initializing.html
# git recompiled manually, mingw32 dropped
apt-get install gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib python-markdown \
  libxml2-utils xsltproc
apt-get install openjdk-6-jdk libasm-java

Preparing the sources

Based on ReplicantSourceCode with additional configuration.
Login as user replicant and:

mkdir ~/tools/
cd ~/tools/
wget http://commondatastorage.googleapis.com/git-repo-downloads/repo
chmod a+x repo
cd ~

# Avoid prompts
git config --global user.email "you@example.com" 
git config --global user.name "Your Name" 
git config --global color.ui true

mkdir replicant-4.2/
cd replicant-4.2/
../tools/repo init -u git://git.replicant.us/manifest.git -b replicant-4.2
../tools/repo sync -j4 
# > 1h, 27GB (inc. 17GB .repo)

Building ADT 21

. build/envsetup.sh
cd sdk/eclipse/

# Complies with setup_eclipse.sh and fix download URL
sudo mkdir -p /buildbot/eclipse-android
sudo chown replicant /buildbot/eclipse-android
sed -i -e '/eclipse-rcp-helios-SR2/ s/download.eclipse.org/archive.eclipse.org/' \
  scripts/setup_eclipse.sh
# Note: I tried with 'apt-get install eclipse-rcp eclipse-pde' and ECLIPSE_HOME=/usr/lib/eclipse
# but it lacks org.eclipse.wst.* plugins aka eclipse-wtp-xmltools

mkdir ~/adt/
scripts/build_server.sh ~/adt
# 15mn with 4 cores, 32GB (inc. 17GB .repo)

The ADK release is in ~/adt/android-eclipse-v201507252158.zip :)

Testing

See the nice Eclipse tutorial at SDK.

TODOs

  • warning on installation, maybe we can sign the package:
    Warning: You are installing software that contains unsigned content.
    The authenticity or validity of this software cannot be established. Do
    you want to continue with the installation?
    
  • Note: partial incompatibility in Eclipse 3.8.1, in the layout edition view. Needs testing with an older Eclipse:
    This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in
    

    ADT 21 should work with 3.6.2 (used for compilation) and possibly with 3.7 (to be tested).
  • Do we rely on prebuilt/prebuilts dirs?

Wiki License: Creative Commons BY-SA