Android/Building

From OLPC
Jump to navigation Jump to search

How to build an Android image for XO-4.

We provide in this directory changes to the Android 4.3.1 source so that Android can be built for the XO-4 laptop, and then merged with an OLPC OS build to create a dual-boot image.

Ingredients

  • a well connected development system,
  • about 20 GB of download capability,

Method

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.3.1_r1
$ repo sync
  • go to #Source code see what patches are applied to which repository and check source code before start the build.
  • make sure you installed all the tools needed to build Android Initializing a Build Environment
  • start the build:
$ . build/envsetup.sh
$ lunch 13
$ make -j8
  • ensure you have a copy of the OLPC OS Linux, Sugar and Gnome build file, e.g. 32013o4.zd,
  • edit mkzd.sh to match file names,
  • prepare a .zd file for the XO-4:
$ cd vendor/olpc/xo4/mkzd
$ ./mkzd.sh

Alternative Method

To merge an already published Android build with an already published OLPC OS derived build:

  • download the system.img, ramdisk.img, and kernel files from the Android build directory,
  • download the build derived from OLPC OS, e.g. 32013xx4.zd or 4_0b125.zd,
  • download the mkzd.sh tool, and edit it to match file names,
  • run mkzd.sh

Source code

source code for building Android is a combination of 4 parts.

  • You can also download kernel image form device/olpc/xo4-kernel git repository if you don't want to change kernel
frameworks/av
git repository
frameworks/base
git repository
frameworks/native
git repository
system/core
git repository
hardware/libhardware
git repository
hardware/libhardware_legacy
git repository
build
git repository
bionic
git repository
external/bluetooth/bluedroid
git repository
external/kernel-headers
git repository
external/webkit
git repository
packages/apps/Calendar
git repository
packages/apps/Gallery2
git repository
packages/apps/Launcher2
git repository
packages/providers/CalendarProvider
git repository
  • source code from vendor, Marvell and OLPC
vendor/marvell/generic
git repository (not available)
vendor/marvell/external
git repository (not available)
vendor/olpc/xo4
git repository
device/olpc/xo4
git repository
device/olpc/xo4-kernel
git repository

See Also