DeprecatedReplicant42ADTBuild » History » Revision 10

Revision 9 (Beuc Beuc, 07/29/2015 05:31 PM) → Revision 10/11 (Wolfgang Wiedmeyer, 04/16/2017 02:59 PM)

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

 See feature #657 for the discussion about a ADT for Replicant and this page. 

 h2. Principle of operation 

 The [[ReplicantSourceCode|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.  

 h2. 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: 
 * [[BuildEnvironments#Trisquel-41-Taranis-based-on-Ubuntu-1004-Lucid-with-LXC|Trisquel 4.1 Taranis (based on Ubuntu 10.04) with LXC]] 
 * [[BuildEnvironments#Non-privileged-user-setup|Non-privileged user setup]] 

 h2. Build dependencies 

 # Based on 
 # git recompiled manually, mingw32 dropped 
 apt-get install wget 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 

 h2. Preparing the sources 

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

 mkdir ~/tools/ 
 cd ~/tools/ 
 chmod a+x repo 
 cd ~ 

 # Avoid prompts 
 git config --global "" 
 git config --global "Your Name" 
 git config --global color.ui true 

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

 h2. Building ADT 21 

 . build/ 
 cd sdk/eclipse/ 

 # Complies with and fix download URL 
 sudo mkdir -p /buildbot/eclipse-android 
 sudo chown replicant /buildbot/eclipse-android 
 sed -i -e '/eclipse-rcp-helios-SR2/ s/' \ 
 # 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/ ~/adt 
 # 15mn with 4 cores, 32GB (inc. 17GB .repo) 

 The ADK release is in @~/adt/ :) 

 h2. Signing ADT 

 By default, Eclipse display on install: 
 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? 

 Let's sign the package. 
 Make sure you have @keytool@ (@openjdk-6-jre-headless@) and @jarsigner@ (@openjdk-6-jdk@), and: 
 # generate self-signed certificate 
 keytool -genkey -dname 'cn=Builder,ou=ADT,o=Replicant,c=FR' -keystore ~/adt/cacerts -validity 3650 -storepass 'changeme' -keypass 'changeme' -alias 'replicant' 
 # sign the JARs and repack 
 unzip -d t/ 
 find t/features/ t/plugins/ -name "*.jar" -exec jarsigner -keystore ~/adt/cacerts -storepass 'changeme' -verbose {} 'replicant' \; 
 (cd t/ && zip -r ../ *) 
 rm -rf t/ 

 At install time, Eclipse will ask the user if she trusts "Builder; ADT; Replicant". 

 h2. Testing 

 See the nice Eclipse tutorial at [[SDK#Usage-guides]]. 

 h2. TODOs 

 * 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?