DeprecatedReplicant42ADTBuild » History » Revision 5
« Previous |
Revision 5/11
(diff)
| Next »
Beuc Beuc, 07/26/2015 11:25 AM
Document Trisquel 4.1 build error. I had tried with Ubuntu 10.04 yesterday, not having a working LXC Trisquel yet.
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.
- Ubuntu 10.04 Lucid with LXC (see below for Trisquel-specific build error)
- Non-privileged user setup
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
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 ~ cat <<EOF >> ~/.bashrc export USE_CCACHE=1 EOF exec bash # 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), 1GB .ccache
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: error 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
- Do we rely on prebuilt/prebuilts dirs?
- Error with Trisquel 4.1, but not with Ubuntu 10.04. No idea where that comes from, it's supposed to be the same environment :/
# Trying with Trisquel 4.1: Output: /home/replicant/replicant-4.2/out/host/common/obj/JAVA_LIBRARIES/temp_layoutlib_intermediates/javalib.jar Input : /home/replicant/replicant-4.2/out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar Input : /home/replicant/replicant-4.2/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor at com.android.tools.layoutlib.create.Main.createLayoutLib(Main.java:89) at com.android.tools.layoutlib.create.Main.main(Main.java:75) Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) ... 2 more make: *** [/home/replicant/replicant-4.2/out/host/common/obj/JAVA_LIBRARIES/temp_layoutlib_intermediates/javalib.jar] Error 1
Updated by Beuc Beuc about 9 years ago · 5 revisions