ac6-training, un département d'Ac6 SAS
Site displayed in English (USA)
Site affiché en English (USA)View the site in FrenchVoir le site en English (GB)

leftthintrapezium-20-8e689c ac6 > ac6-training > Operating Systems > Android > Android Installation Inquire Download as PDF Call us Write us

G1 Android Installation

Android installation on a hardware platform

Android installation on a hardware platform
  • Understanding the specifics of the Android system.
  • How to configure and compile the Android sources to get a working system.
  • Control the operation of the Android emulator.
  • Understand how to test an Android image before flashing the system.
  • Detail the different flash file system image generation procedures.
Labs are conducted on i.MX6 or i.MX8 boards
We use the last open source version of Android, as available on the board.
For on-site trainings, if suitable Linux workstations are not available, we provide virtual machine images for VirtualBox; in all cases the requisite is a recent 64bit PC (at least 4 cores) with at least 32Gb of RAM (16Gb may work but will be slow) and 400Gb of free disk space.
  • Theoretical course
    • PDF course material (in English) supplemented by a printed version.
    • The trainer answers trainees' questions during the training and provide technical and pedagogical assistance.
  • Practical activities
    • Practical activities represent from 40% to 50% of course duration.
    • Code examples, exercises and solutions
    • One PC (Linux ou Windows) for the practical activities with, if appropriate, a target board.
      • One PC for two trainees when there are more than 6 trainees.
    • For onsite trainings:
      • An installation and test manual is provided to allow preinstallation of the needed software.
      • The trainer come with target boards if needed during the practical activities (and bring them back at the end of the course).
  • Downloadable preconfigured virtual machine for post-course practical activities
  • At the start of each session the trainer will interact with the trainees to ensure the course fits their expectations and correct if needed
  • Embedded Linux installation and kernel usage
  • Any embedded systems engineer or technician with the above prerequisites.
  • The prerequisites indicated above are assessed before the training by the technical supervision of the traineein his company, or by the trainee himself in the exceptional case of an individual trainee.
  • Trainee progress is assessed in two different ways, depending on the course:
    • For courses lending themselves to practical exercises, the results of the exercises are checked by the trainer while, if necessary, helping trainees to carry them out by providing additional details.
    • Quizzes are offered at the end of sections that do not include practical exercises to verifythat the trainees have assimilated the points presented
  • At the end of the training, each trainee receives a certificate attesting that they have successfully completed the course.
    • In the event of a problem, discovered during the course, due to a lack of prerequisites by the trainee a different or additional training is offered to them, generally to reinforce their prerequisites,in agreement with their company manager if applicable.

Course Outline

  • Android
    • History
    • The Open Handset Alliance
    • Existing ports (HTC Dream, Magic...)
  • The various licenses used by Android (GPL, LGPL, etc.)
  • Installation and general usage.
    • Creating and using a local repository
    • Connecting to a remote repository
Exercise:  Managing several versions of a program with GIT
  • Working with branches
    • Creation of a new branch
    • Merging branches
Exercise:  Working with vendor branches
  • Team functions
    • Creating configuring and managing a public repository
    • Working with patches
Exercise:  Creating a shared project repository
  • Downloading source code
  • Configuring the Android-specific drivers
    • Binder
    • Logger
    • Low_memory_killer
    • Timed_output
    • Timed_gpio
  • Configuring an Android Linux kernel
  • Building the kernel
Exercise:  Configuration and build of the Android kernel for the target board
Exercise:  Checking the first phases of kernel boot
  • The various kinds of boot
  • U-Boot
    • Configuration and build
    • Porting U-Boot
  • RedBoot
  • Le Linux boot process
  • The Android boot sequence
  • Downloading sources
  • Exploring the Android system
  • The Android source tree
    • The Bionic library
    • The Dalvik Java virtual machine
    • The basic packages
  • Building the Android system
Exercise:  Compiling the full Android system
  • The Android initialisation language
Exercise:  Modifying the Android init sequence
  • The Android build system
    • The files
  • Creating a new Android platform
    • Declaring a new vendor
    • Creation of platform-specific parameter files
    • Choosing platform-dependent compilation options
Exercise:  Compiling a new Android platform
  • Adding native components
    • Defining Java methods in C++
    • The Android NDK
    • JNI for Android
    • Using SWIG
  • The Android binder
    • Writing services in C++
    • The binder's C++ interface
Exercise:  Recompiling a single component
  • Overview and installation of the Software Development Kit (SDK)
  • The Android Virtual Devices
    • Creation
    • Configuration
    • Basic Use
  • The Eclipse Android Development Toolset (ADT)
    • Developping and testing and Android application
    • Deploying Android Applications
  • The Android Debug Bridge (adb) tool
    • Basic use
    • Connecting to a remote Android target (real or virtual)
Exercise:  Building and testing a simple Android application
  • Testing the kernel and the system :
    • Using an NFS-mounted root file system
    • Updating the initailisation script for NFS use
  • Flash memory partitionning
  • Flashing the system
    • Flashing through u-boot
    • Flashing from Linux
  • _ Updating the initailisation script when booting in flash
  • Starting and using the platform in standalone mode
Exercise:  Deploying a finalized Android system