CyanogenMod
Company /developer | Cyanogen (Steve Kondik), CyanogenMod team |
---|---|
Programmed in | C (core), C++ (some third party libraries), Java (UI) |
Source model | Open source |
Initial release | 3.1 (Dream & Magic) |
Latest stable release | 7.1.0 (various) / October 10, 2011 |
Marketing target | Firmware replacement for AndroidMobile Devices |
Supported platforms | ARM |
Kernel type | Monolithic, Linux kernel modified |
Default user interface | ADW.Launcher |
License | Apache License 2 and GNU General Public License v2[1] |
Official website | www.cyanogenmod.com |
CyanogenMod is a replacement firmware of over 60 smart phones and tablet computers, based on the Androidmobile operating system. It offers features and options not found in the official firmware distributed by vendors of these devices.
Features supported by CyanogenMod include native theming support (also called the "T-Mobile Theme Engine"),Free Lossless Audio Codec (FLAC) support, a large Access Point Name list, an OpenVPN client, a reboot menu, support for Wi-Fi, Bluetooth, and USB tethering, CPU overclocking and performance enhancements, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), apppermissions management, as well as other interface enhancements. CyanogenMod is also stated to increase performance and reliability compared with official firmware releases.[2]
CyanogenMod is developed as free and open source software based on the official releases of Android byGoogle, with added original and third-party code.
Although only a subset of total CyanogenMod users elect to report their use of the firmware,[3] as of 26 January 2012, CyanogenMod has recorded over 1.1 million active installs on a multitude of devices.[4][5]
Contents |
History and development
Soon after the introduction of the HTC Dream (named the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (termed "root access") within Android's Linux-based subsystem.[6] Having root access, combined with the open source nature of the Android operating system, allowed the phone's stock firmware to be modified and re-installed onto the phone.
In the following year, several modified firmwares for the Dream were developed and distributed by Android enthusiasts. One, maintained by a developer named JesusFreke, quickly became popular among Dream owners. In August, 2009, JesusFreke stopped work on his firmware, and suggested users switch to a version of his rom that had been further enhanced by developer Cyanogen (Steve Kondik) called "CyanogenMod".[7]
CyanogenMod quickly grew in popularity, and a small community of developers, called the CyanogenMod Team (and informally, "Team Douche"),[8] made contributions. Within a few months, the number of devices and features supported by CyanogenMod blossomed, and CyanogenMod quickly became one of the most popular Android firmware distributions.
Like many open source projects, CyanogenMod is developed using a distributed revision control system with the official repositories being hosted on Github.[9] Contributors submit new feature or bug fix changes using Google's source code review system, Gerrit.[10] Contributions may be tested by anyone, voted up or down by registered users, and ultimately accepted into the code by one of a handful of CyanogenMod developers.
CyanogenMod 6
Steve Kondik released CyanogenMod 6, based on Android 2.2 codenamed Froyo, for the Nexus One, Dream, Magic, Droid, Aria, Legend, Desire, Evo 4G, Hero,Wildfire, Incredible and myTouch 3G Slide.[11] A release candidate of CyanogenMod 6 became available on 11 July 2010,[12] and the stable version was released on 28 August 2010.[13]
CyanogenMod 7
CyanogenMod 7 firmware is based on Android 2.3 Gingerbread with additional custom code contributed by the CyanogenMod Team. The custom portions of CyanogenMod are primarily written by Cyanogen (Steve Kondik) but include contributions from the xda-developers community (such as an improved launcher tray, dialer, and browser) and code from established open source projects (such as BusyBox in the shell).[14]
CyanogenMod 7 development began when Google released Android 2.3's source code.[15] On 15 February 2011, the first release candidates of CyanogenMod 7 were rolled out on several of the supported devices.[16][17] The fourth release candidate was released on 30 March 2011 and brought increased support for the Nook Color and similar devices as well as many bug fixes.[18] On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.[19] The latest stable version, CyanogenMod 7.1, was released on 10 October 2011, based on Android 2.3.7.[20] CyanogenMod 7.2, expected in early 2012, is expected to be the last update to the 7.x series while work and efforts are directed towards ICS and CyanogenMod 9.
CyanogenMod 8
CyanogenMod version 8 was planned to be based on Android 3.x Honeycomb. However, no source code for Honeycomb was provided by Google until it appeared in the tree history of the Android 4.0 Ice Cream Sandwich source release. Since Honeycomb was superseded by Ice Cream Sandwich, the release schedule advanced from CyanogenMod 7 directly to CyanogenMod 9.
CyanogenMod 9
CyanogenMod 9 is based on Google's Android 4.x Ice Cream Sandwich.[21] Steve Kondik and his team have announced that they have begun work on the new release after Google released the source code of Android 4.0.1.[22] By the last days of November 2011, some alpha versions had been distributed, in particular for the Samsung mobile phones Nexus S and Galaxy S.[23]
Tools
The CyanogenMod source code repository also contains the ClockworkMod Recovery (a "recovery image", maintained by Koushik "Koush" Dutta), which is used to install CyanogenMod and other custom upgrades. A recovery image is a special boot mode, which is used to back up or restore the device's storage and repair or upgrade system software. ClockworkMod Recovery can be automatically installed onto many rooted devices supported by CyanogenMod with Dutta's companion app, "Rom Manager", which is available on the Android Market.
Industry reaction
Until recently, the response of tablet and smartphone manufacturers and mobile carriers has typically been unsupportive of third-party firmware development. Manufacturers had expressed concern about improper functioning of devices running unofficial software[24] and related support costs. Moreover, firmware such as CyanogenMod sometimes offers features for which carriers would otherwise charge a premium (e.g., tethering). As a result, technical obstacles such as lockedbootloaders and restricted access to root permissions were common in many devices.
However, as community-developed software has grown popular[25][26] and following a statement by the Librarian of Congress (US) that permits the use of "jailbreaking" mobile devices,[27] manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial firmware distributions, with some, including HTC,[28] Motorola[29], Samsung[30][31] and Sony Ericsson,[32] even actively providing support and encouraging development.
In 2011, the need to circumvent hardware restrictions to install unofficial firmware lessened as an increasing number of devices shipped with unlocked or unlockablebootloaders, similar to the Nexus series of phones. Device manufacturer HTC has announced that it would support aftermarket software developers by making the bootloaders of all new devices unlockable,[24] and Samsung sent several Galaxy S II phones to the CyanogenMod team with the express purpose of bringing CyanogenMod to the device.[33] Mobile carrier T-Mobile has voiced its support for the CyanogenMod project, tweeting "CM7 is great!"[34]
Licensing
Until version 4.1.11.1, CyanogenMod included several proprietary software applications by Google, such as Gmail, Maps, Market, Talk, and YouTube, as well as several proprietary hardware drivers. These packages were included with the vendor distributions of Android, but not licensed for free distribution. After Google sent acease and desist letter to CyanogenMod's chief developer, Steve Kondik, in late September 2009 demanding he stop distributing the aforementioned applications, development ceased for a few days.[35][36][37][38] The reaction from many CyanogenMod users towards Google was hostile, with some claiming that Google's legal threats hurt their own interests, violated their informal corporate motto "don't be evil" and was a challenge to the open source community Google claimed to embrace.[39][40][41]
Following a statement from Google clarifying its position[42] and a subsequent negotiation between Google and Cyanogen, it was resolved that the CyanogenMod project could continue, albeit in a form that did not directly bundle in the proprietary "Google Experience" components.[43][44] It was determined that the proprietary Google apps may be backed-up from the Google-supplied firmware on the phone and then re-installed onto CyanogenMod releases without infringing copyright.
Cyanogen has also warned that while issues no longer remain with Google, there are still potential licensing problems regarding proprietary, closed-source device drivers.[45] However, he is rebuilding the source tree, and believes the licensing issues with drivers can be worked out. He is also receiving assistance from Google employees.[46]
Other Uses
CyanogenMod has been used on an HTC G1 Android phone coupled with an Arduino board to create the autonomous "brain" of a robot.[47]
Version history
CyanogenMod Version | Android version | Release date | Notable changes |
---|---|---|---|
3.1 | Android 1.5 (Cupcake) | 2009 | |
3.2 | 2009 | ||
3.3.x | 2009 | ||
3.4.x | 2009 | ||
3.5.x | 2009 | ||
3.6.x | 2009 | 3.6.8 onwards based on Android 1.5r3 | |
3.9.x | 2009 | 3.9.3 onwards has FLAC support | |
4.0.x | Android 1.5/6 (Cupcake/Donut) | 2009 | |
4.1.x | 2009 | 4.1.4 onwards based on Android 1.6 (Donut); QuickOffice removed from 4.1.4 onwards; Google proprietary software separated due to cease and desist from 4.1.99 onwards | |
4.2.x | 2009 | 4.2.3 onwards has USB tethering support; 4.2.6 onwards based on Android 1.6r2; 4.2.11 onwards added pinch zoom for Browser, pinch zoom and swipe for Gallery | |
5.0.0 | Android 2.0 / 2.1 (Eclair) | 2010-02-14[48] | |
5.0.1 | 2010-02-14[49] | ||
5.0.2 | 2010-02-14[50] | ||
5.0.3.x | 2010-02-20[51] | ||
5.0.4.x | 2010-02-27[52] | ||
5.0.5.x | 2010-03-19[53] | ||
5.0.6 | 2010-04-16[54] | ||
5.0.7 | 2010-05-25[55] | ||
5.0.8 | 2010-07-19[56] | Introduced ADWLauncher as the default launcher | |
6.0.0 | Android 2.2 (Froyo) | 2010-08-28[13] | Introduced dual camera and ad-hoc wifi support |
6.1.x | 2010-12-06[57] | 6.1.0 onwards based on Android 2.2.1 | |
7.0.x | Android 2.3 (Gingerbread) | 2011-04-10[19] | 7.0.0 onwards based on Android 2.3.3 |
7.1.0 | 2011-10-10[58] | Based on Android 2.3.7 |
Supported devices
CyanogenMod officially supports over 60 devices, with many non-official ports also available. Devices that are considered officially-supported include the following:[59]
Manufacturer | Model | Code name | Device type | Notes | Latest CM support |
---|---|---|---|---|---|
Advent | Vega | vega | tablet | 7.1.x | |
Barnes and Noble | Nook Color | encore | tablet | 7.1.x | |
Commtiva | Z71 | z71 | phone | Also sold as Apanda A60, Chinavision Excalibur, Cincinnati Bell Blaze, Gigabyte Gsmart G1305, Motorola XT502, Muchtel A1, Nexian Journey, Optimus Boston, Orange Boston, Spice Mi-300, Vibo A688, WellcoM A88 | 7.1.x |
GeeksPhone | One | one | phone | 7.1.x | |
GeeksPhone | Zero | zero | phone | 7.1.x | |
Nexus One | passion | phone | Made by HTC | 7.1.x | |
Nexus S | crespo | phone | Made by Samsung | 7.1.x | |
Nexus S 4G | crespo4g | phone | Made by Samsung | 7.1.x | |
Hewlett Packard | TouchPad | tenderloin | tablet | As of 2011 has pre-full official CM support (alpha) | |
HTC | Aria | liberty | phone | 7.1.x | |
HTC | Desire (GSM) | bravo | phone | 7.1.x | |
HTC | Desire (CDMA) | bravoc | phone | 7.1.x | |
HTC | Desire HD | ace | phone | Also marketed as AT&T Inspire 4G | 7.1.x |
HTC | Desire S | saga | phone | 7.1.x | |
HTC | Desire Z | vision | phone | Also marketed as T-Mobile G2 | 7.1.x |
HTC | Dream | dream_sapphire | phone | Also marketed as T-Mobile G1 & Era G1 | 6.1.x |
HTC | Droid Eris | desirec | phone | 7.1.x | |
HTC | Evo 3D (CDMA) | shooter | phone | As of 2011 has pre-full official CM support (alpha) | |
HTC | Evo 4G | supersonic | phone | 7.1.x | |
HTC | Evo Shift 4G | speedy | phone | 7.1.x | |
HTC | Hero (CDMA) | heroc | phone | 7.1.x | |
HTC | Hero (GSM) | hero | phone | 7.1.x | |
HTC | Droid Incredible | inc | phone | 7.1.x | |
HTC | Droid Incredible 2 | vivow | phone | 7.1.x | |
HTC | Incredible S | vivo | phone | 7.1.x | |
HTC | Legend | legend | phone | 7.1.x | |
HTC | Magic | dream_sapphire | phone | Also marketed as T-Mobile myTouch 3G, Rogers HTC Magic, DoCoMo HT-03A | 6.1.x |
HTC | myTouch 4G | glacier | phone | Also marketed as HTC Panache. | 7.1.x |
HTC | myTouch 4G Slide | doubleshot | phone | As of 2011 has pre-full official CM support (alpha) | |
HTC | myTouch 3G Slide | espresso | phone | 7.1.x | |
HTC | Sensation | pyramid | phone | As of 2011 has pre-full official CM support (alpha) | |
HTC | Tattoo | click | phone | 7.1.x | |
HTC | Wildfire | buzz | phone | 7.1.x | |
Huawei | U8220 | u8220 | phone | Also marketed as T-Mobile Pulse | 7.1.x |
LG | AT&T Thrill 4G | p925 | phone | As of Jan 2012 has nightly only official CM support | |
LG | Optimus Black | p970 | phone | As of 2011 has nightly only official CM support | |
LG | Optimus Hub | e510 | phone | As of Jan 2012 has nightly only official CM support | |
LG | Optimus One | p500 | phone | As of Jan 2012 has nightly only official CM support | |
LG | Optimus Pro | c660 | phone | As of Jan 2012 has nightly only official CM support | |
LG | Optimus Sol | e730 | phone | As of Jan 2012 has nightly only official CM support | |
LG | Optimus 2X | p990 | phone | Also marketed as LG Optimus Speed | 7.1.x |
LG | Optimus 3D | p920 | phone | As of Jan 2012 has nightly only official CM support | |
LG | T-Mobile G2x | p999 | phone | 7.1.x | |
Motorola | Atrix 4G | olympus | phone | As of 2011 has nightly only official CM support | |
Motorola | Backflip | motus | phone | 7.1.x | |
Motorola | Cliq | morrison | phone | Also marketed as Motorola Dext | 7.1.x |
Motorola | Cliq XT | zeppelin | phone | Also marketed as Motorola Quench | 7.1.x |
Motorola | Defy | umts_jordan | phone | 7.1.x | |
Motorola | Droid | sholes | phone | Official CM support for only the Motorola Droid, not the Motorola Milestone | 7.1.x |
Motorola | Droid 2 | cdma_droid2 | phone | 7.1.x | |
Motorola | Droid 2 Global | cdma_droid2we | phone | 7.1.x | |
Motorola | Droid X | cdma_shadow | phone | 7.1.x | |
Samsung | Captivate | captivatemtd | phone | 7.1.x | |
Samsung | Epic 4G | epicmtd | phone | As of Dec 2011 has nightly only official CM support | |
Samsung | Fascinate | fascinatemtd | phone | 7.1.x | |
Samsung | Galaxy S | galaxysmtd | phone | Official CM support for only the International Version (GT-I9000), Bell Vibrant (GT-I9000M), and Telcel Galaxy S (GT-I9000T); no other models | 7.1.x |
Samsung | Galaxy S II | galaxys2 | phone | Official CM support for only the International Version (GT-I9100), Bell Vibrant (GT-I9100M), and Telcel Galaxy S (GT-I9100T); no other models | 7.1.x |
Samsung | Galaxy S II (AT&T) | galaxys2att | phone | 7.1.x | |
Samsung | Mesmerize | mesmerizemtd | phone | 7.1.x | |
Samsung | Showcase | showcasemtd | phone | 7.1.x | |
Samsung | Vibrant | vibrantmtd | phone | 7.1.x (Support removed) [60] | |
Sony Ericsson | Xperia Arc | anzu | phone | 7.1.x | |
Sony Ericsson | Xperia Neo | hallon | phone | 7.1.x | |
Sony Ericsson | Xperia Mini | smultron | phone | 7.1.x | |
Sony Ericsson | Xperia Mini Pro | mango | phone | 7.1.x | |
Sony Ericsson | Xperia Play (GSM) | zeus | phone | 7.1.x | |
Sony Ericsson | Xperia Pro | iyokan | phone | As of Dec 2011 has nightly only official CM support | |
Sony Ericsson | Xperia Ray | urushi | phone | 7.1.x | |
Sony Ericsson | Xperia X8 | shakira | phone | 7.1.x | |
Sony Ericsson | Xperia X10 | es209ra | phone | As of 2011 has nightly only official CM support | |
Sony Ericsson | Xperia X10 Mini | robyn | phone | 7.1.x | |
Sony Ericsson | Xperia X10 Mini Pro | mimmi | phone | 7.1.x | |
ViewSonic | G Tablet | smb_a1002 | tablet | 7.1.x | |
ZTE | Blade | blade | phone | Also marketed as Orange San Francisco | 7.1.x |
ZTE | V9 | v9 | tablet | 7.1.x |
No comments:
Post a Comment