|Written in||C (core), C++, Java|
|Source model||Open source with closed source components|
|Initial release||XE4 / April 11, 2013|
|Final release||XE23 / June 20, 2017|
|Marketing target||Augmented Reality|
|Kernel type||Monolithic (modified Linux kernel)|
|License||Developer Preview: proprietary|
Apache License 2.0
Linux kernel patches under GNU GPL v2
Glass OS (Google XE) is a version of Google's Android operating system designed for Google Glass. "glass-omap" Tag is used in referring to the modified Android code which can be found inside Kernel Repository.
The following list shows the main changes happened for each update release. For more detailed release notes visit the support website.
XE5 updates included:
XE6 updates include:
Glass updates by itself automatically over the air. Glass will check Google servers periodically for updates. When an update is available, Glass will download it to the device and will install the update all by itself. This happens under the condition of active battery charging and a reliable Wi-Fi connection.
Root access can be easily obtained by using the following script using the rooted bootloader.
$ adb reboot bootloader # enter fastboot mode, takes 10-15 seconds $ fastboot devices # verify device is in fastboot, should see its serial # $ fastboot oem unlock # unlocking erases all data, you are prompted to run this command twice to be sure $ fastboot flash boot boot.img # gain root shell access with the rooted bootloader $ fastboot reboot # reboot the device $ adb root # start adb as root $ adb shell # access the shell as root
Extract the desired factory system image package to flash Glass back to factory specifications, then run the following script. Boot and system images can be found on Google Glass developer website.
$ adb reboot bootloader # enter fastboot mode $ fastboot devices # verify device is in fastboot, should see its serial no. $ fastboot flash boot boot.img # flash partitions with factory images $ fastboot flash system system.img $ fastboot flash recovery recovery.img $ fastboot erase cache # optional, erase the cache and userdata partitition $ fastboot erase userdata $ fastboot oem lock # optional, only if you want to re-lock the bootloader.
The kernel source code is easily attainable from the Google repository by using the following script.
$ mkdir <path-for-kernel-source> $ cd <path-for-kernel-source> $ git clone https://android.googlesource.com/kernel/omap.git
To build kernel from the source code, first download the GCC toolchain from the same repository.
$ git clone https://android.googlesource.com/platform/prebuilt $ export PATH=<path-for-kernel-source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
Then, build the kernel using these commands.
$ export ARCH=arm $ export SUBARCH=arm $ export CROSS_COMPILE=arm-eabi- $ cd <path-for-kernel-source>/omap $ git checkout glass-omap-xrr02 #choose the suitable release $ make notle_defconfig $ make
The preferred license for the Android Open Source Project is the Apache Software License, 2.0. ... Why Apache Software License? ... For userspace (that is, non-kernel) software, we do in fact prefer ASL2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL. Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, but we don't believe it's possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don't believe it is our place to force them to do so. Using LGPL libraries would often force them to do so.