Advanced
Android
Programming

Learn all about modern Andoid operating system and its hidden traits on embedded platforms.

Course gives an overview of Android operating system regarding its architecture, with the focus of internal architecture, extensibility and adaptation to various embedded platform targets. Instead of only focusing on application programming using Android SDK, the course covers "under the hood" concepts of Android, such as build and debug concepts, binding and memory sharing, Media Codec API, as well as Android Hardware Abstraction Layer (HAL). Upon completing the course, participants will be able to program and adapt Android to target use cases on specific embedded processors, mostly for applications in consumer electronics and media processing pipelines.

Course topics:

  • Introduction, including brief Android history, differences between open source and OASP projects, overview of Android architecture and all layers

  • Build subsystem, build templates, device build configuration

  • Debug subsystem with adb, native debugging, ANR, addr2line, DDMS, traceview, GDB utilization

  • Android system level concepts: init process, properties, binder, ashmem, JNI

  • Multimedia stack in Android with Media Codec API

  • Android HAL, extension and manipulation

Hardware (required): Computer with Internet connection, working speakers and microphone.

Software: Chrome browser.

Course Typically Offered: Live Online in Fall quarter (mid June - August), Winter quarter (mid January - March), Spring quarter (April - mid June) or Summer quarter (mid June - August).

Prerequisites: Students should have basic programming knowledge in either Java (preferably within .Android) or basic C/C++.

Next Step: To gain in-depth knowledge on multimedia in consumer electronics where Android is usually applied, consider taking the course NIT-CE-01: Software for Digital TV and Multimedia. To gain additional knowledge in consumer electronics area and further where media is used consider courses from the Consumer electronics catalog (NIT-CE-XX).

Course Number: NIT-CE-06

Duration: 2.00 units (~20 live teaching hours, ~40 hours of individual practice and preparation work)

Offered next: Contact us!

Class type: Live Online Intensive (according to the schedule published at the beginning of the course, approximately 3x2 live classes per week)

Instructor: To be announced

How to join: Google Meet (link will be available upon enrollment ), NIT Canvas

How to apply: Please apply by filling up the form here and we will get in touch with you as soon as possible.

Customized schedule for your company or team (call for price)

Class type: Live Online (Regular or Intensive), Live Bootcamp (Company premises)

Instructor: To be announced

For groups and organizations: please contact us directly to arrange this course according to your scheduling, needs and participant lists - via the contact form here.