Embedded Android FAQs

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Android-logo.jpg Applies to Android


As known, Android is conceived to address mobile devices such as smartphones and tablets. Nevertheless, it is gaining popularity in the industrial applications as well. The main reason is the availability of a well-known cross-platform software interface/environment for the development and the execution of application layer programs (the apps). Even though there is no doubt about the fact that this is an appealing feature, it is worth remembering that Android is not designed to be portable to embedded devices which are not compliant with the Android Compatibility Definition Document. Generally speaking, the embedded platforms used to build devices for the industrial/telecom/biomedical markets do not comply with these requirements because the presence of interfaces which are not used in the mobile devices.

Therefore, adapting Android to such embedded platforms is a hard time-consuming process, taken into account the complexity of the Android Open Source Project (at the time of this writing, it consists of about 50 GByte of source files). DAVE Embedded Systems is able to perform such task as proven by several success cases in the industrial and building automation applications.

This document provides a list of FAQs about the use of the Android stack on such devices.


Q: How to get the hardware serial number? (NXP i.MX6-based systems only)

The hardware serial number (as defined here) can be programmatically accessed as described in this page.

It is worth to remember that the hardware serial number is stored in this pseudo file: /proc/device-tree/som/uniqueid.

Q: How to get the network interfaces' MAC address?

The network interfaces' MAC address is stored in this pseudo file: /sys/class/net/<net_if>/address

e.g.: for the primary ethernet interface eth0 the MAC address is stored in the file /sys/class/net/eth0/address

For more details, please see this page.