About Edify

What is “edify”?

edify is a simple scripting language that is used to install CyanogenMod and other software from a .zip file. The edify script does not necessarily need to be used to flash firmware. It can be used to replace/add/delete specific files, or even format partitions. Typically, an edify script is run in recovery mode when the user chooses to “flash a zip”.

Note: Trivia

The edify language is Google’s replacement of another scripting language, called “Amend”. True story.

edify files

There are two primary files for edify. These files are found within the .zip file in the META-INF/com/google/android directory. They are:

  • update-binary — the binary interpreter that is executed when the user selects the .zip to be flashed, typically from recovery mode. This binary loads the updater-script into memory and follows the instructions contained within.
  • updater-script — the installation script, which is a text file.

Learning edify syntax

Play with existing scripts

One way to learn about edify is by examining and modifying existing edify scripts. Unpack a flashable .zip file and pay attention to the directory structure. Examine the script in META-INF/com/google/android; you should be able to figure out it works. Then, try your hand at creating a very minimal installation package, for instance something that installs a small text file to /data/local/tmp/ and test it on your device.

Read the edify source code

Because the source code to edify is open and available, anyone can view how the interpreter works. This gives you a clear understanding of the proper syntax and available commands.

CyanogenMod’s source code is available on Github. Build instructions, including how to download the full source code, is available for official supported devices on the device build guides page.

The main tool used to generate the edify scripts is edify_generator.py and the source for the language interpreter is in the android_bootable_recovery repository.

Note:

An overview of edify’s syntax can be found in the README within the source.

Helpful Tip

Even if you don’t understand how to program, you can probably glean a lot of good information by scanning the source code and reading the comments in the code.

Additional resources

There are a few online resources that discuss the edify language. These may be out of date, however. So the source code (discussed above) should be the final authority about which commands are available to you, and how to use them.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Devs

Though started as a one-man project, CyanogenMod has turned into a community-driven mod with several members providing support and working on various items within (and outside of) the ROM.



Core Team

Steve Kondik

Founder and main developer for the CyanogenMod project. He currently maintains the AT&T & T-Mobile variants of the Samsung Galaxy S III vendors. He has formally maintained the HTC Dream/Magic, HTC Evo 4G, HTC Glacier, HTC Espresso, HTC Vision, LG G2x & Nexus One vendors.

Abhisek Devkota

Head Developer Relations, Public Relations Liaison & Forum Administrator.

Ricardo Cerqueira

Head of RIL & LG Development.

Brint Kriebel

DevOps and Release Manager

Community Staff

PsychoI3oy

Maintains the buglist, occasionally fixes bugs & moderates the forum.

RayWalters

Community Support Engineer – Works with users in the forums, IRC and g+ communities. Also works with PsychoI3oy with the nightly regression project.

bsxtn

Community Engagement, Wiki and Forum Administrator

Maintainers

Shareef Ali

Maintains the Samsung Galaxy S III (D2) devices

Jens Andersen

Maintains the Asus Transformer and Asus Transformer Prime. He also helps with the Danish translations.

attn1

Maintains the HTC Aria, HTC Incredible 2 & HTC Incredible S vendors.

Danny Baumann

Maintains the Motorola Defy and Oppo N3 vendor. He also helps with the German translations and Java core apps.

Adnan Begovic

Maintains the Samsung Epic, Samsung Galaxy SIII(d2spr & d2cri) vendors.

Humberto Borba

Maintains the Samsung Galaxy Tab (Brazil) and Samsung Galaxy Tab (Latin America) vendors.

Martin Brabham

Maintains the Motorola Droid vendor.

Robert Burns

Maintains the Galaxy Nexus (Sprint) & Nexus S 4G vendors.

Ricardo Cerqueira

Maintains the Commtiva Z71, Geeksphone One, Geeksphone Zero & LG Optimus 2X vendors.

Giulio Cervera

Maintains the Sony Xperia T, V, Z, ZL, Tablet Z, Z1, Z Ultra vendors.

Arne Coucheron

Maintains the HTC Tattoo & HTC Wildfire vendors.

Jacob Crawley

Maintains the HTC Wildfire & ZTE Blade vendors.

Simon Davie

Maintains the HTC Desire S vendor.

Rafael Kalim Delgado

Maintains the HTC Click, Samsung Nexus S / Galaxy Nexus (GSM) and Asus Nexus 7.

Chirayu Desai

Contributes and Maintains the Sony XperiaDev and Samsung Galaxy Tab (GSM) vendor.

Austen Dicken

Maintains the Motorola Droid & Motorola Droid X vendors. Formally maintained the Barnes & Noble Nook Color vendor.

Aaron Echols

Maintains Asus Transformer Pad Infinity and LG v909 startablet

fattire

Maintains the Barnes & Noble Nook Color and the Nexus 7 tablets

Diogo Ferreira

Maintains the HTC Desire (CDMA/GSM) vendor.

Shane Francis

Maintains the Advent Vega, Asus Transformer, Asus Transformer Prime & HTC Sensation vendors.

Tom Giordano

Maintains the Huawei U8220 & ZTE Blade vendors.

Nelson Giordano

Maintains the Motorola Cliq vendor.

Hendrik Hagendorn

Maintains the LG G3.

Sean Hewitt

Maintains the Motorola Xoom vendor.

Daniel Hillenbrand

Maintains the International versions of the Samsung Galaxy S II, S III, Tab II, Note II, the Sony Xperia T, V, Z, Tablet Z and the HTC One vendors.

Alexander Hofbauer

Maintains the HTC Legend vendor. He also helps with the German translations.

Pál Zoltán Illés

Maintains the HTC Doubleshot and HTC Endeavoru vendor.

Alin Jerpelea

Maintains all Sony devices.

jt1134

Maintains the Samsung Fascinate, Samsung Galaxy Tab (CDMA), Samsung Mesmerize & Samsung Showcase vendors.

Esa Laukkanen

Maintains the HTC Hero (GSM) vendor.

Tony Layher

Maintains the HTC Incredible vendor and multiple Samsung devices.

Renaud Lepage

Maintains the Motorola Photon 4G vendor.

Emilio López

Maintains the Motorola Atrix 4G & Motorola Cliq XT vendors.

Takazumi Matsumoto

Maintains the Motorola Xoom vendor.

Matt Mower

Maintains the HTC DROID Incredible 4G LTE and HTC One for Verizon.

Sean Neeley

Maintains the Motorola Cliq XT vendor.

Jason Parker

Maintains the HTC Doubleshot vendor.

Dan Pasanen

Maintains the Samsung Galaxy S3 (d2), Samsung Galaxy S4 (jf), HTC Droid DNA (dlx) and HTC One 2014 (m8).

Shane Passmore

Maintains the HTC Vivid 4G (holiday), the HTC One XL (evita), the HTC One Mini (m4), the HTC One (m7) and HTC One 2014 (m8).

Pawit Pornkitprasan

Maintains the Samsung Galaxy S vendor.

Tanguy Pruvot

Maintains the Motorola Defy vendor. He also helps with the French translations, busybox and bootmenu.

Richard Ross

Maintains the HTC Evo 3D (CDMA), HTC Evo 4G & HTC Evo Shift 4G vendors.

Jose Salgado

Maintains the Motorola Cliq vendor.

Nicholas Semendyaev

Maintains the Motorola Defy vendor.

Seth Shelnutt

Maintains the LG Optimus G for Sprint and Att along with LG G2 for Sprint

Jon Stanford

Maintains the Motorola Droid 2 vendor.

Josh Stone

Maintains the HTC Incredible vendor.

Brinly Taylor

Maintains the Xperia SP/T/V and HTC Desire 601 vendor.

Jurica Vukadin

Maintains the HTC One Mini & One Mini 2 vendor.

Bryce Walter

Maintains the B&N Nook Color

Dane Wagner

Maintains the Motorola Cliq vendor.

Michael Webster

Maintains the Motorola Droid vendor.

Jared Wechsler

Maintains the Motorola Backflip vendor.

Thomas Wendt

Maintains the HTC One X (endeavoru) vendor.

Willi Ye

Maintains the HTC Desire 816.

Vaibhav Bhasin

Maintains the HTC Desire 816.

James Zdziebkowski

Maintains the HTC Aria vendor.

Erwan Leboucher

Maintains the LG G4 and the LG V10 (Tmobile).

Andreas Blaesius

Maintains the Samsung Galaxy Tab 2

Dániel Járai

Maintains the Google Galaxy Nexus & Samsung Galaxy Tab 2

General Developers

Danny Baumann

Frameworks developer

Adnan Begovic

Platform SDK Lead and developer

Nathan Grebowiec

General Java developer.

Danesh Mondegarian

Works on development of the CyanogenMod Framework.

Prashant Somashekar

General kernel expertise. He also maintains the Viewsonic G Tablet vendor.

David van Tonder

Works on development of the CyanogenMod Framework.

Björn Lundén

UI/UX team member & drawable designer.

Nebojsa Cvetkovic

UI/UX team member. Main developer of Trebuchet. He also maintains the Samsung Galaxy Note IIand Oppo Find 5.

Translation Team

Michael Bestas

Marco Brohet

Wiki Team

Drew Suarez

Lead maintainer of the wiki.

fattire

Maintains all sections of the CM wiki.

Shawn Alty

Wiki maintainer. Global forum mod.

Amod Mulay

aka White
Helps maintaining Wiki.

Flo Edelmann

aka Flo2154
Helps maintaining the wiki, programmed the Devices page with its filters, redesigned the Main Page, each device’s page and others.

Former Members

Benji Hertel

Retired.

Christopher Lais

Worked on development of kernels & general expertise. He also maintained the HTC Glacier vendor.

Keyan Mobli

Retired.

Jef Oliver

Retired.

Prash

Retired.

Soh Yuan Chin

Worked on development of the Contacts & Browser apps.

Sven Dawitz

General developer. He also developed the Tablet UI overhaul.

cicada

Formally maintained the Barnes & Noble Nook Color vendor.

Brian Crook

Handled the HTC Dream EBI1 kernels.

Cytown

Worked on development of the Phone app.

Laurent Dinclaux

Formally maintained the HTC Hero (GSM) vendor.

Ameer Ghouse

Formerly maintained the HTC Hero (CDMA) vendor.

Markus Guidry

Retired lead editor of the CM Wiki.

Chris Soyars

Retired.

Legacy Contributors

atinm

Maintains the Samsung Captivate & Samsung Galaxy S II vendors.

BertStudio

APP developer and maintains the Nexus devices. He also helps with the spanish translations

Brian Azar

Maintains the Motorola Xoom vendor.

Brandon Bennett

Maintains the Barnes & Noble Nook Color vendor.

{{Twitter|AndroidNemith} }

Daniel Bateman

Maintains the Samsung Vibrant vendor.

Flávio Coutinho da Costa

Maintains the Motorola Backflip vendor.

Andrew Dodd

Maintained the Samsung Galaxy S II (AT&T) and Samsung Galaxy Note vendors.

Dusty Einglett

Maintains the Motorola Droid 2 Global vendor.

Wes Garner

Maintains the HTC Espresso vendor.

David Ferguson

Maintains the Samsung Galaxy II Skyrocket

Justin Goodell

Maintains the Motorola Droid 2 & Motorola Droid 2 Global vendors.

Erik Hardesty

Maintains the Barnes & Noble Nook Color and HP Touchpad.

Andrew Mahone

Maintains the Samsung Captivate & Samsung Galaxy S II vendors.

TheDeanius

Founder of CyanogenMod channel on irc.freenode.net.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Community

The CyanogenMod community

Who we are

Where to ask questions (and meet others)

Yearly events

  • Big Android BBQ – every October, this is a chance for CyanogenMod and other Android enthusiasts to get together and hang out.
  • Google I/O – if you’re lucky enough to get tickets, the Google I/O event is known for amazing developer sessions and usually a free device giveaway

How to contribute

  • CyanogenMod code review (a.k.a “Gerrit”) – Gerrit is a web based code review system for projects using the Git version control system. To learn more about Gerrit and Git, check out the Dev Center.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

CM IRC channels

Intro to IRC

IRC stands for Internet Relay Chat. It is a way you can group-chat in real-time with dozens of other CyanogenMod users and developers in online rooms called channels.

There are several IRC networks on the Internet. All CyanogenMod IRC channels are hosted on the Freenode network. The preferred connection to Freenode is through chat.freenode.net, or you can pick a server from their list.

You can connect to the IRC network using a free, dedicated IRC program such as mIRC, X-Chat, HexChat, BitchX, Smuxi, etc. There are many such IRC programs available for OS X, Windows, and Linux.

Additionally, there is a web-interface to IRC that can be accessed using only a web browser via the Freenode Web Chat page.

Some channels require you to register an alias (your username, or handle) before you can enter. This security measure makes sure every participant has a unique name to avoid impersonation. Most channels do not have this requirement.

Register an alias/nick on NickServ

This section is a brief how-to register a nick on NickServ — the nickname (or “nick”) server associated with Freenode. It is necessary to register your nickname to access the #cyanogenmod and #cyanogenmod-dev channels.

To register your nickname:

  1. Click on the following link to connect to irc.freenode.net. Specify a unique nick that you will use permanently.
    Freenode Web Chat
  2. Enter the following command in the message bar:
    /msg NickServ register <password> <email-address>
  3. You should receive an email from NickServ at the email address you provided. Follow the instructions in that email.
  4. For future logins, you can enter the following command to authenticate your registered nick:
    /msg NickServ identify <password>
  5. To join the #cyanogenmod channel, enter this command
    /join #cyanogenmod

CyanogenMod channel list

Note that the name of every channel begins with a # character to help identify it.

#cyanogenmod

This is the main CM support channel. If you need help installing or troubleshooting your device, this is the place to go. This channel requires you to have a registered nick.

#cyanogenmod-dev

This is the main CM developer channel. This channel is for everyone who needs help building CyanogenMod for their device or porting it to a new device. This channel requires you to have a registered nick. This is a developer-only channel. This is NOT for CM installation support.

#cm-wiki

This is the main CM channel for wiki-issues. Users are not required to register a nick to access this channel. This channel is meant only for wiki related topics. No CM support will be offered.

Other channels with ties to CyanogenMod

These channels aren’t maintained by CyanogenMod, but are related to CyanogenMod sub-projects and generally owned by the respective teams.

#teamhacksung-support

This is the support channel for all teamhacksung supported devices. Teamhacksung is a group dedicated to development of CyanogenMod on Samsung devices.

#cm-htc

This is the support channel for currently supported HTC devices running CyanogenMod. This includes the s4 series (evita, fireball, jewel, ville), the m7 series (GSM m7, m7spr, m7vzw), the t6 series (GSM t6, t6spr, t6vzw), m4, m8, memul and zara. There is nobody available to help with older devices that do not receive the latest version of CyanogenMod.

#cyanogenmod-touchpad

This channel supports the HP touchpad (codename: tenderloin).

#nookcolor

As the name suggests, this channel is used to discuss the Nook Color (encore) tablet.

#nook-tablet

Ditto, only for the Nook Tablet.

#twrp

This is the official support channel for TWRP (Team Win Recovery Project).

#android-root

This channel is for non-CyanogenMod specific issues, such as rooting your stock ROM and discussions about custom ROMs.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Documentation

So you want to help out…

As with the CyanogenMod project as a whole, this wiki lives or dies based on your participation and willingness to help out. If you’re not a programmer or developer per se, but you’re good with words and want to help, we could use your expertise!

Making Contributions

Everyone is welcome and invited to help with the wiki. The only caveat is to be sure whatever you contribute you have the right to contribute. That said, we invite anyone who is an authority on some material that is appropriate for this wiki to add their knowledge for the benefit of the CyanogenMod community. We appreciate it!

We use templates, templates, templates!

This wiki has many thousands of web pages including articles, contact lists, walkthroughs, and much more. To make it easier to maintain, the wiki has been designed to avoid duplicating information in many places, which would require a lot of work to keep up to date.

Instead, this wiki uses a feature called templates, which is a way of breaking a wiki page into small bite-sized chunks, each of which can be included by reference, or “transcluded” into another page.

One thing that’s neat about transclusion is that a page can include a template which is itself made of multiple pages. In fact, a template can even intelligently determine which page is transcluding it, meaning it can alter its content depending on the context.

Sound a little confusing? Do a little reading up on templates, and it may start to make more sense. But in essence, it comes down to this:

The CM Wiki Golden Rule:

NEVER DUPLICATE INFORMATION.

That means that if any chunk of information needs to appear in two places (such as on two separate pages), first create a template, then transclude that template into the new page(s). If something about that chunk of info should change, you only have to change it once, and the two pages that use it will automatically get the change “for free”.

Fixing Problems: The Plan

How to fix a problem:

  1. If the problem is something very simple, like a typo or other minor change, feel free to fix it on your own.
  2. Some problems, such as incorrect information for a device, should be changed in the device template, which is a page full of “settings” that describe that device. An example of this might be the wrong screen dimensions, or the build instructions showing the wrong branch (such as “jellybean” instead of “gingerbread”.) A simple fix to the device template settings should resolve this.
  3. If the problem is more substantial than either of the above scenarios, and you understand how wiki templates work, and you are able to make the change to the Template without negatively affecting any other page that may be using that template, feel free to fix it!
  4. If you are unable to resolve the issue on your own and would like someone else to look at it, report the problem on the Site Problems page, and hopefully someone will take a look.

Using the Device Template

There is one kind of template that’s very special on the CM wiki, and that’s the template for devices. Examples of devices include, say, a tablet, or a smartphone, or an android-based game console, or whatever. The Nexus 7 tablet (codename: “grouper”) is a device. So is the HTC Desire Z smartphone (codenamed “vision”). A device is a single piece of hardware that has its own development repository and therefore its own unique distribution of CyanogenMod.

The device template is a special wiki template that’s used to store ALL the information about a single device that is used to automatically generate custom build instructions, device info pages, installation walkthroughs, and more for that device. There’s only one device template per device, and it includes all the characteristics for that device that can be used to build wiki pages using the templating system.

So, using a device template, we can create a very generic set of installation instructions, and have those instructions automatically customized for each individual device. When a new device comes along, we won’t have to rewrite the installation instructions for that device. Instead, by filling out the device template, the installation instructions can “build themselves” to match the requirements for that device.

If this doesn’t make complete sense yet, keep reading. Hopefully you’ll get the gist of it.

How device templates work

A device template has the following name:

Template:Device_codename

where codename is the code name for the device. To create a new device, say, with a code name of “bambi”, you’d create a new page at Template:Device_bambi.

But what do you put in this device template page? We’ve created a nice, fresh, blank for you to use as a base. It’s located, appropriately enough at Template:Device_codename (not working right now). Start with this page, and copy its contents. Then paste it, again using our example, to the page at Template:Device_bambi. Next, modify its contents, choosing appropriate parameters and values for this device.

When you’re done, head over to the devices page. More information can be found there on how to add your device to the list and quickly create an info page, installation instructions, and more.

Wiki roles

As a new visitor, you may not be able to edit any page or template you want. But if you can prove that you are a competent editor, you may be given additional privileges to help maintain and develop the wiki.

Just as the individual devices have developers who are responsible for maintaining the source code for that device, we hope we’ll have volunteers to keep the wiki up to date for devices and device families (like tablets that are all made by the same company for example).

More info on the various roles and how to apply to get elevated editing privileges are forthcoming.

A first attempt at a style guide

If you’re going to be editing text, or even creating new pages, here’s a quick go at some style pointers. Read it carefully.

  1. Make it easy to read/digest for anyone. Not just technical people.
  2. Don’t dumb it down, though. The audience is your typical non-professional, non-IT end user with an interest in learning what CM is, and why they would use it. And yeah, there’s some smaller percentage of them with a bit more experience who might want to actually start hacking their devices themselves.
  3. The goal is to make it EASY for visitors to learn. It’s not meant to be in any way elitist or to create artificial hurdles to learning. The wiki is here to help people.
  4. Tone should be irreverent and informal. This is fun stuff. But keep it accurate and as compressed as possible without being overly dry and boring.
  5. Include references and links to other sites whenever possible. Never be afraid to send someone to another site if it’s relevant to the topic– this includes other ROMS or wikis.
  6. When writing step-by-step instructions, start with a bolded header that explains the goal, ending with a colon. (To do some operation, follow these instructions:) Then number each step individually using the wiki list tag. Keep each step super-clean and simple.
  7. Use active, present-tense verbs in instructions. (“Double-click on the icon…”)
  8. All on-screen menu items should be bolded and listed from most general to most specific. So present the information in the order that the user will encounter it. Also, use text (“Under the File menu, choose Open File…”) rather than shortcuts like File->Open File. It’s better to standardize this in as clear a manner as possible. The extra work of typing out the steps will pay off for the reader.
  9. It’s also a good idea to tell the user what to expect from an action. (“If all goes well, your build should now begin.”)
  10. All terminal activity should be presented in Courier using the <code> and </code> tags. Always indicate what text comes from the computer vs. what is entered by the user. Precede console inputs with a “$” to indicate user input.
  11. Similarly, any reference to file names or directories within text should also be in Courier. (“Look in the /data directory for a file called README.TXT.”)
  12. When accurate grammar is needed, check with Strunk and White. (But that doesn’t mean you can’t use slang and shitty grammar– as long as you’re clear. Just sayin’.)
  13. Coordinate your pages with a designer. We should have an uniform, appealing layout and color scheme. Plus tons of screenshots and such are always nice to look at.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Barebones

Some of the apps that come with your phone can be safely removed without causing stability issues. They take up space and use resources that could be used for other things. Removing unwanted apps will theoretically make your phone run faster and smoother, plus, you can configure your phone just the way you want it.

Below is a chart that shows what apps might come pre-installed in CyanogenMod. You can delete any app that shows ‘yes’ under ‘Remove’; However, if you delete an app, you will no longer be able to use its functionality until you reinstall it. So, for example, if you never listen to music on the device, it is perfectly safe to remove Music.apk. However, you will need to reinstall Music.apk if you ever do want to listen to music on your phone.

Backup apks

You should back up any apks that you plan to remove. That way, you can easily re-install them if you change your mind. You have two main options:

  • Nandroid backup from the recovery console, or
  • Manual backup with
$ adb pull /system/app/ ~/Desktop/app/

How to find applications

To find what apps are installed on the device, you will need to run the following, either in adb shell, or the device’s term:

$ ls /system/app

or

$ ls /data/app

You can also list installed packages using the package manager, either in Terminal Emulator or via adb shell:

$ pm list packages

To see a list of installed packages along with their associated files:

$ pm list packages -f

At a lower level, you can pull the packages.xml and the packages.list files using adb and examine them directly to determine what is installed and what the related .apk file is called and where it is stored. packages.xml will show you the package name and the .apk file installation path and name. In packages.list you can look up the package name and locate the data path. Both of these files will tell you a great deal more, these are the things that pertain to the present article.

$ adb pull /data/system/packages.xml
$ adb pull /data/system/packages.list

Generally, any apps you install from the market or otherwise manually install will be in /data/app, while any apps that come pre-installed will be in /system/app.

How to remove applications

Remember to watch the case of all files, directories, apk names, and package names!

Case matters. Example.apk and example.apk are two different things.

To remove applications you can use aps on the market Titanium Backup, ROM Toolbox Pro, ES File Explorer or do it through ADB
First of all you restart adbd as root

$ adb root

ADB

/system apps /data apps
$ adb remount
$ adb shell rm -f /system/app/<apk name>.apk
$ adb uninstall <package name>

Term (on device)

/system apps /data apps
$ su
$ mount -o rw,remount /system
$ rm -f /system/app/<apk name>.apk

$ su
$ mount -o rw,remount /data
$ rm -f /data/app/<apk name>.apk
$ pm uninstall <package name>

How to reinstall applications

Change your mind? No problem! You have two options, depending on how you backed up your files:

  • Restore your Nandroid backup from the recovery console, or
  • Manually restore your app with
$ adb install ~/Desktop/app/<apk name>.apk

List of Default Apps for each version of CyanogenMod

CM 7 Apps List

<apk name> <package name> Removable Description
AccountAndSyncSettings.apk com.android.providers.subscribedfeeds no? Syncs settings to Google servers. Needed for Gmail app notifications.
ADWLauncher.apk com.android.launcher yes ADW System Launcher. Only remove if you have a second replacement home.
ApplicationsProvider.apk com.android.providers.applications yes? Fetches the list of applications installed on the phone to provide search suggestions.
Bluetooth.apk com.android.bluetooth yes Bluetooth app
BooksPhone.apk com.google.android.apps.books yes[1] Google Books application
Browser.apk com.android.browser yes Internet Browser

PLEASE NOTE: This is apparently a hard-coded requirement for Google Voice Search (along with Talk and Voice); without it, Voice Search will FC after recognizing speech. Having Dolphin, etc., installed will not work.

Calculator.apk com.android.calculator2 yes Calculator app
Calendar.apk com.android.calendar yes Calendar app / widget
CalendarProvider.apk com.android.providers.calendar yes Calendar sync
Camera.apk com.android.camera yes Camera app
CarHomeGoogle.apk com.google.android.carhome yes[1] Car Dock Search?
CarHomeLauncher.apk com.android.cardock yes[1] Car Dock Launcher?
CertInstaller.apk com.android.certinstaller no? (Web?) Certificate Installer. When removed, the WIFI will not be turned on (Automatically turned off).
ChromeToPhone.apk com.google.android.apps.chrometophone yes[1] Send links from Chrome to phone
CMParts.apk com.cyanogenmod.cmparts yes CyanogenMod Settings. Will FC if you try and access settings and this is not installed.
CMPartsHelper.apk com.cyanogenmod.cmpartshelper yes CMParts Helper?
CMStats.apk com.cyanogenmod.stats yes CyanogenMod anonymous statistics reporting service. Safe to remove, but will FC CMParts (CyanogenMod Settings) if you try and select the configuration options if it’s not installed. (CMParts can be decompiled and edited to remove the menu options, but it’s merely a cosmetic issue).
CMUpdateNotify.apk com.cyanogenmod.updatenotify yes CyanogenMod Update Notifications. Safe to remove, but will FC CMParts (CyanogenMod Settings) if you try and select the configuration options if it’s not installed. (CMParts can be decompiled and edited to remove the menu options, but it’s merely a cosmetic issue).
CMWallpapers.apk com.cyanogenmod.CMWallpapers yes Default CyanogenMod wallpapers.
com.amazon.mp3.apk com.amazon.mp3 yes[1] App that links to Amazon .mp3 store.
Contacts.apk com.android.contacts no Contacts app; the Call log, Contacts and Favorites screens
ContactsProvider.apk com.android.providers.contacts no Contacts sync
DefaultContainerService.apk com.android.defcontainer no Needed to install apps.
DeskClock.apk com.android.deskclock yes Clock and Alarm app
Development.apk com.android.development yes Development app
DownloadProvider.apk com.android.providers.downloads no Handles downloading files (Market, Browser, etc)
DrmProvider.apk com.android.providers.drm no Provides DRM functions, needed to access media files (including ringtones)
DSPManager.apk com.bel.android.dspmanager yes Digital Sound Processing
Email.apk com.android.email yes POP/IMAP email client
Facebook.apk com.facebook.katana yes[1] Facebook app
FileManager.apk org.openintents.filemanager yes IOFilemanager app
FOTAKILL.apk com.cyanogenmod.android.fotakill no? OTA Killer
Gallery3D.apk com.cooliris.media yes 3D Photo Gallery
GenieWidget.apk com.google.android.apps.genie.geniewidget yes[1] News and Weather Widget
Gmail.apk com.google.android.gm yes[1] Gmail app
GoogleBackupTransport.apk com.google.android.backup yes[1] Backup Mechanism for apps and settings?
GoogleCalendarSyncAdapter.apk com.google.android.syncadapters.calendar yes[1] Calendar sync
GoogleContactsSyncAdapter.apk com.google.android.syncadapters.contacts yes[1] Contacts sync
GoogleFeedback.apk com.google.android.feedback yes[1] ForceClose reporting
GoogleGoggles.apk com.google.android.apps.unveil yes[1] Google Goggles app
GooglePartnerSetup.apk com.google.android.partnersetup yes[1]  ???
GoogleQuickSearchBox.apk com.google.android.googlequicksearchbox yes[1] Google search box
GoogleServicesFramework.apk com.google.android.gsf yes[1] Provides account / login information to Google Apps
googlevoice.apk com.google.android.apps.googlevoice yes[1] Google Voice
HtcCopyright.apk com.htc.copyright yes Puts “HTC Copyright” info in the Legal Information of the About Phone dialog. Useless and safe to delete.
HtcEmailPolicy.apk com.android.email.policy yes Email.apk uses this for a connection to a Microsoft Exchange email server. Without it a connection to Exchange 2007/2010 will not work as the exchange device policy is not accepted. An Exchange administrator can configure the policy to allow/disallow features and functions on the device. In case of loss or theft the device can be reset to factory default remotely to prevent unauthorized acces.
HtcSettings.apk com.android.htcsettings yes HTC Radio settings, probably better to leave alone but otherwise safe to delete
HTMLViewer.apk com.android.htmlviewer yes Used by browser.apk to filter HTML. ??? Doesn’t seem to be needed.
kickback.apk com.google.android.marvin.kickback yes[1] Gives haptic feedback for some apps (accessibility menu option)
LatinIME.apk com.android.inputmethod.latin yes On-screen keyboard
LatinImeTutorial.apk com.google.android.latinimetutorial yes[1] Tutorial for on-screen keyboard
LiveWallpapersPicker.apk com.android.wallpaper.livepicker yes Live Wallpaper Selector
Maps.apk com.google.android.apps.maps no[1] Google Maps. Froyo depends on this apk, along with its associated dependencies (com.google.android.maps.xml, com.google.android.maps.jar), in order to access copy protected apps in the Android market.
MarketUpdater.apk com.android.vending.updater yes[1] Updates app list / download list in market? Needed by Vending.apk
MediaProvider.apk com.android.providers.media no Needed to access media files (including ringtones)
MediaUploader.apk com.google.android.apps.uploader yes[1] Share media from the Gallery with MMS, Bluetooth, Email, Picasa
Mms.apk com.android.mms yes Provides sms and mms (text) services
Music.apk com.android.music yes Music Player (and “Video” Player)
NetworkLocation.apk com.google.android.location yes[1] Provides network (cell) location (as opposed to GPS location)
OneTimeInitializer.apk com.google.android.onetimeinitializer yes[1] Runs on first boot. Conflicts with google app “Provision.apk”.
PackageInstaller.apk com.android.packageinstaller no Used to manually install apks (i.e. non-market apks)
PassionQuickOffice.apk com.qo.android.htcgep yes[1] Allows Email/Gmail apps to open attachments
Phone.apk com.android.phone no Phone app; Dialer screen
PicoTts.apk com.svox.pico yes Text to speech. From SD data?
Protips.apk com.android.protips yes ‘protips’ widget
Provision.apk com.android.provision yes* Runs on first boot. Conflicts with google app “SetupWizard.apk”. Okay to delete if loading the gapps zip.
QuickSearchBox.apk yes Search box? Need for search in Phone app.
RomManager.apk com.koushikdutta.rommanager yes Rom Manager App
Settings.apk com.android.settings no devices settings menu
SettingsProvider.apk com.android.providers.settings no Settings sync?
SetupWizard.apk com.android.setupwizard yes[1] Setup Wizard when you first use your phone.
soundback.apk com.google.android.marvin.soundback yes[1] sound feedback (accessibility option)
SoundRecorder.apk com.android.soundrecorder yes Sound Recorder app
SpareParts.apk com.android.spare_parts yes Extra ‘settings’ menu
SpeechRecorder.apk com.android.speechrecorder yes Records audio samples to test speech recognition
Stk.apk com.android.stk yes Sim Tool Kit; Required if you use SIM applications (like authenticatino, banking, PKI etc)
Street.apk com.google.android.street yes[1] Streetview for Google maps
Superuser.apk com.noshufou.android.su yes Remembers ‘su’ settings
SystemUI.apk com.android.systemui no Part of the system UI.
Talk.apk com.google.android.talk yes[1] Google Talk
talkback.apk com.google.android.marvin.talkback yes[1] voice feedback (accessibility option)
TelephonyProvider.apk com.android.providers.telephony no Phone sync?
Term.apk com.android.term yes Gives access to terminal
ThemeChooser.apk com.tmobile.themechooser yes Part of the T-Mobile theming app
ThemeManager.apk com.tmobile.thememanager yes Part of the T-Mobile theming app
Torch.apk net.cactii.flash2 yes LED Flashlight
TtsService.apk android.tts yes[1] Text to Speech. Needed by Google Navigator from Google Maps v5+. Otherwise, safe to remove.
Twitter.apk com.twitter.android yes[1] Native Twitter client
UserDictionaryProvider.apk com.android.providers.userdictionary yes Dictionary for LatinIME(keyboard) / Needed for LatinIME.apk to function
Vending.apk com.android.vending yes[1] Market app
VoiceDialer.apk com.android.voicedialer yes Voice dialer app
VoiceSearch.apk com.google.android.voicesearch yes[1] Voice Search for Google Search, Google Maps, etc
VpnServices.apk com.android.server.vpn yes Virtual Private Network app
YouTube.apk com.google.android.youtube yes[1] YouTube player

[1] NOTE: These are Google apps & are safe to remove as far as phone stability is concerned. Might break other Google apps if removed.

CM 10.1 Apps List (WIP)

<apk name> <package name> <label> Removable Description Version
Apollo.apk com.andrew.apollo Apollo yes Apollo music player. Remove it when switching to another player. 1.1
ApplicationsProvider.apk com.android.providers.applications Search Applications Provider no[2] ? 4.2.2
AriesParts.apk com.cyanogenmod.settings.device Advanced settings yes 4.2.2
BackupRestoreConfirmation.apk com.android.backupconfirm com.android.backupconfirm yes Restores sync’d Google settings. 4.2.2
BasicDreams.apk com.android.dreams.basic Basic Daydreams yes Customizable screensaver 4.2.2
Bluetooth.apk com.android.bluetooth Bluetooth Share yes Bluetooth app. After removal Bluetooth wont turn on. 4.2.2
bluetooth Bluetooth no not removable 4.2.2
Browser.apk com.android.browser Browser yes Internet Browser

PLEASE NOTE: This is apparently a hard-coded requirement for Google Voice Search (along with Talk and Voice); without it, Voice Search will FC after recognizing speech. Having Dolphin, etc., installed will not work.

4.2.2
Calculator.apk com.android.calculator2 Calculator yes Calculator app. Remove if you dont use or switching. v3.1.2
Calendar.apk com.android.calendar Calendar yes Calendar app. Surely remove if switching or no use. 4.2.2
CalendarProvider.apk com.android.providers.calendar Calendar Storage yes Provides sync for Calendar app. CAUTION: If you are syncing other calendar app with your google calendars, dont do this! :CAUTION 4.2.2
CellBroadcastReceiver.apk com.android.cellbroadcastreceiver Cell Broadcasts yes Cell Broadcast app. “Can be usefull when skiing or mountain hiking, receives cell broadcast allerts” 4.2.2
CertInstaller.apk com.android.certinstaller Certificate Installer no (Web?) Certificate Installer. When removed, the WIFI will not be turned on (Automatically turned off). MORE 4.2.2
CMFileManager.apk com.cyanogenmod.filemanager File Manager yes File Manager with root 1.0.1
CMUpdater.apk com.cyanogenmod.updater CM Updater yes On the run CyanogenMod updater. Lets you skip all .zip installing update to new CM. Delete if you can upgrade through Recovery. 2.1
CMWallpapers.apk com.cyanogenmod.CMWallpapers CM Wallpapers yes Cyanogen Mod Wallpapers, includes the “No wallpaper” option 4.2.2
Contacts.apk com.android.contacts Contacts yes Contacts app; the Call log, Contacts and Favorites screens. Can be removed when switching(Contacts+ etc.) 4.2.2
ContactsProvider.apk com.android.providers.contacts Contacts Storage yes[2] Contacts sync/save place. When removed contacts disappear as well as the google sync function. 4.2.2
DefaultContainerService.apk com.android.defcontainer Package Access Helper no[2] ? 4.2.2
DeskClock.apk com.android.deskclock Clock no[2] Clock app + Clock widget. 2.0.3
Development.apk com.android.development Dev Tools yes Developer apps unlockable. 1.0
DownloadProvider.apk com.android.providers.downloads Download Manager yes Android download manager. “When downloading you can see a notification.” After removal you cant download (Except through Opera built in downloader, or some other apps) 4.2.2
DownloadProviderUi.apk com.android.providers.downloads.ui Downloads yes[2] List/manage downloads 4.2.2
DrmProvider.apk com.android.providers.drm DRM Protected Content Storage yes Provides DRM functions, needed to access DRM protected media files. 4.2.2
DSPManager.apk com.bel.android.dspmanager DSP Manager yes Digital Sound Processing. Built in Equalizer (PERSONAL OPINION: It’s very good!) 2.0
Email2.apk com.android.email Email yes POP/IMAP email client. Not GMail. Many apps for switch. 4.1
Exchange2.apk com.android.exchange Exchange Services yes Provides sync for Mail app. (Not GMail) 5.0
com.android.facelock Face Unlock yes Provides capability to unlock screen with face recognition. 4.2.2
FM2.apk yes For cells that can pick up FM.
FusedLocation.apk com.android.location.fused Fused Location no Helps to balance battery consumption when simultaneously using GPS/Network location recognition. In some situations gives system crashes. 4.2.2
Galaxy4.apk com.android.galaxy4 Black Hole yes Live wallpaper 1.0
Gallery2.apk com.android.gallery3d Gallery yes 3D Photo Gallery. 1.1.400
HoloSpiralWallpaper.apk com.android.wallpaper.holospiral com.android.wallpaper.holospiral yes Live Wallpaper. 4.2.2
HTMLViewer.apk com.android.htmlviewer HTML Viewer yes Lets you view HTML files on your device. 4.2.2
InputDevices.apk com.android.inputdevices Input Devices yes[2] Looks like safe to remove. ?May cause some problems with keyboard settings? 4.2.2
KeyChain.apk com.android.keychain Key Chain no[2] Password keeper. 4.2.2
LatinIME.apk com.android.inputmethod.latin Android Keyboard (AOSP) yes Stock android keyboard. Safe to remove if replaced with something else for eg. Swype,Swift 4.2.2
LiveWallpapers.apk com.android.wallpaper Android Live Wallpapers yes
LiveWallpapersPicker.apk com.android.wallpaper.livepicker Live Wallpaper Picker yes Android Live Wallpapers Picker. Safe to Remove if you don’t use live wallpapers 4.2.2
LockClock.apk com.cyanogenmod.lockclock cLock yes cLock widget. Clock with weather. 2.2.5
MagicSmokeWallpapers.apk com.android.magicsmoke Magic Smoke Wallpapers yes Wallpaper
MediaProvider.apk com.android.providers.media Media Storage no[2] Needed to access media files (including ringtones) 4.2.2
Mms.apk com.android.mms Messaging yes Safe to remove as long as you have an alternative messaging app
Nfc.apk NFCservice yes[2] Looks like could disable NFC service, but NFC options are still active. Safe to delete if your hardware doesn’t support NFC.
NoiseField.apk com.android.noisefield Bubbles yes Bubbles live wallpaper
PackageInstaller.apk com.android.packageinstaller Package Installer no[2] Used to manually install apks (i.e. non-market apks) 4.2.2
PhaseBeam.apk com.android.phasebeam Phase Beam yes dev live wallpaper – Remove if you removed dev-tools
Phone.apk com.android.phone Phone yes[2] Phone app. Can be removed when switching(Contacts+ etc.). Still able to call and receive calls. CAUTION: Before removal hybernate it with some app and reboot. May cause Phone.apk stopped working. In such situation quickly between each prompt try to turn it back on! :CAUTION 4.2.2
PhotoTable.apk com.android.dreams.phototable Photo Screensavers yes Screensavers with your own pictures. (I didn’t see any person using this and none of my friends use Screensaver on Android)
PicoTts.apk com.svox.pico Pico TTS yes Text to speech. “Looks like Google Maps needs it to run” 1.0
Provision.apk com.android.provision com.android.provision yes Runs on first boot. 4.2.2
QuickSearchBox.apk com.android.quicksearchbox Search yes Search box widget. Need for search in Phone app. 4.2.2
RomManager.apk com.koushikdutta.rommanager yes Rom Manager App
Settings.apk com.android.settings Settings no devices settings menu 4.2.2
SettingsProvider.apk com.android.providers.settings Settings Storage no Part of the settings sync system. 4.2.2
SetupWizard.apk com.android.setupwizard yes[1] Setup Wizard when you first use your phone.
SharedStorageBackup.apk com.android.sharedstoragebackup com.android.sharedstoragebackup no[2] Possibly USB connection menu. 4.2.2
SoundRecorder.apk com.android.soundrecorder Sound Recorder yes Sound Recorder app. Many switches in Play Store. 4.2.2
SystemUI.apk com.android.systemui System UI no[2] Interface. ?Looks like notification bar mostly? 4.2.2
TelephonyProvider.apk com.android.providers.telephony Phone/Messaging Storage no Phone service base. Remove = no calls. 4.2.2
Term.apk jackpal.androidterm Terminal Emulator yes Gives access to terminal 1.0.53
ThemeChooser.apk com.tmobile.themechooser Themes yes Cyanogenmod theme system. You are left with Default theme. 0.1
ThemeManager.apk com.tmobile.thememanager Themes provider yes Cyanogenmod theme system. You are left with Default theme. 2.0.25
Torch.apk net.cactii.flash2 Torch yes 4.2.2
Trebuchet.apk com.cyanogenmod.trebuchet Trebuchet yes System Launcher. Only remove if you have a second replacement home. 1.0
UserDictionaryProvider.apk com.android.providers.userdictionary User Dictionary yes Dictionary for LatinIME(keyboard) / Needed for LatinIME.apk to function 4.2.2
VideoEditor.apk com.android.videoeditor Movie Studio yes 1.1
VisualizationWallpapers.apk com.android.musicvis Music Visualization Wallpapers yes 4.2.2
VoiceDialer.apk com.android.voicedialer Voice Dialer yes Voice Search for Google Search, Google Maps, etc 4.2.2
VoicePlus.apk org.cyanogenmod.voiceplus Voice+ yes ? 1.0
VpnDialogs.apk com.android.vpndialogs VpnDialogs yes Part of the VPN system. 4.2.2
WAPPushManager.apk com.android.smspush com.android.smspush yes[2] Tethering connectivity. Safe to remove if you don’t use tethering/access point mode. 4.2.2
android Android System no System 4.2.2
accounts Accounts no not removable 4.2.2
appwidgets Application Widgets no not removable 4.2.2
data.usage.policy Data Usage and Policy no not removable 4.2.2
wallpaper Wallpaper no not removable 4.2.2
wifi.access.points Wifi Access Points no not removable 4.2.2

[1] NOTE: These are Google apps & are safe to remove as far as phone stability is concerned. Might break other Google apps if removed.

[2] NOTE:These apps may be removable but I didn’t test them (yet). If you want you can do it yourself and fill these blanks.

CM 10.1 Google Apps List (WIP)

<apk name> <package name> <label> Removable Description Version
com.google.android.configupdater ? 4.2.2
GenieWidget.apk ? yes News and weather widget ?
GmsCore.apk ? no[2] ? ?
GoogleBackupTransport.apk com.google.android.backup yes Handles backup of settings. Safe when not used.
GoogleCalendarSyncAdapter.apk com.google.android.syncadapters.calendar yes Calendar sync. CAUTION: If you are syncing other calendar app with your google calendars, dont do this! :CAUTION
GoogleContactsSyncAdapter.apk com.google.android.syncadapters.contacts yes Contacts sync with google account. Only if not used.
GoogleFeedback.apk com.google.android.feedback yes ForceClose reporting
GoogleLoginService.apk manager no[1] Google login system. Disables google accounts functions.
GooglePartnerSetup.apk com.google.android.partnersetup no In App purchases.
GoogleServicesFramework.apk com.google.android.gsf yes[1] Provides account / login information to Google Apps
GoogleTTS.apk com.google.android.tts yes Text to speech. “Looks like Google Maps needs it to run”
LatinImeDictionaryPack.apk
MediaUploader.apk com.google.android.apps.uploader yes[1][2] Share media from the Gallery with MMS, Bluetooth, Email, Picasa. “Can also be Play Store actualisations notifier”
NetworkLocation.apk com.google.android.location yes[1] Provides network (cell) location (as opposed to GPS location)
OneTimeInitializer.apk com.google.android.onetimeinitializer yes Runs on first boot. Conflicts with google app “Provision.apk”.
Phonesky.apk GooglePlay no Rather com.android.vending-1.apk but… “Phonesky” happens. :D
Talk.apk com.google.android.talk yes Google Talk.
Talkback.apk
VoiceSearchStub.apk com.google.android.googlequicksearchbox yes Voice Search for Google Search, Google Maps, etc. Not working without Browser app.
com.google.android.inputmethod.latin.dictionarypack Dictionary Provider yes Dictionary provider for Android Keyboard. Removable if you dont use it. Used with other keyboards. 4.2.2
GoogleEars.apk com.google.android.ears yes
SpareParts.apk com.android.spare_parts yes Extra ‘settings’ menu. (Usefull!)
?Superuser.apk com.noshufou.android.su yes Remembers ‘su’ settings. Remove if you dont use Root apps.
?Tag.apk com.android.apps.tag
?ChromeBookmarksSyncAdapter.apk ? no[2] ? ?
?Stk.apk ? no[2] ? ?
?DeviceParts.apk ? no[2] ? ?

[1] NOTE: These are Google apps & are safe to remove as far as phone stability is concerned. Might break other Google apps if removed.

[2] NOTE:These apps may be removable but I didn’t test them (yet). If you want you can do it yourself and fill these blanks.

CM 11 Apps List (WIP)

<apk name> <package name> <label> Removable Description Version
Apollo.apk com.andrew.apollo Apollo yes Apollo music player. Remove it when switching to another player. 1.1
AsantiKeypad.apk
BasicDreams.apk com.android.dreams.basic Basic Daydreams yes Customizable screensaver 4.2.2
Bluetooth.apk com.android.bluetooth Bluetooth Share yes Bluetooth app. After removal Bluetooth wont turn on. 4.2.2
BluetoothExt.apk
Browser.apk com.android.browser Browser yes Internet Browser

PLEASE NOTE: This is apparently a hard-coded requirement for Google Voice Search (along with Talk and Voice); without it, Voice Search will FC after recognizing speech. Having Dolphin, etc., installed will not work.

4.2.2
Calculator.apk com.android.calculator2 Calculator yes Calculator app. Remove if you dont use or switching. v3.1.2
Calendar.apk com.android.calendar Calendar yes Calendar app. Surely remove if switching or no use. 4.2.2
Camera2.apk
CellBroadcastReceiver.apk com.android.cellbroadcastreceiver Cell Broadcasts yes Cell Broadcast app. “Can be usefull when skiing or mountain hiking, receives cell broadcast allerts” 4.2.2
CertInstaller.apk com.android.certinstaller Certificate Installer no (Web?) Certificate Installer. When removed, the WIFI will not be turned on (Automatically turned off). MORE 4.2.2
CMBugReport.apk
CMFileManager.apk com.cyanogenmod.filemanager File Manager yes File Manager with root 1.0.1
CMHome.apk
CMWallpapers.apk com.cyanogenmod.CMWallpapers CM Wallpapers yes Cyanogen Mod Wallpapers, includes the “No wallpaper” option 4.2.2
DeskClock.apk com.android.deskclock Clock no[2] Clock app + Clock widget. 2.0.3
Development.apk com.android.development Dev Tools yes Developer apps unlockable. 1.0
DevicePerformanceSettingsHelper.apk
DocumentsUi.apk
DownloadProviderUi.apk com.android.providers.downloads.ui Downloads yes[2] List/manage downloads 4.2.2
DSPManager.apk com.bel.android.dspmanager DSP Manager yes Digital Sound Processing. Built in Equalizer (PERSONAL OPINION: It’s very good!) 2.0
Email.apk
Exchange2.apk com.android.exchange Exchange Services yes Provides sync for Mail app. (Not GMail) 5.0
com.android.facelock Face Unlock yes Provides capability to unlock screen with face recognition. 4.2.2
FM2.apk yes For cells that can pick up FM.
Galaxy4.apk com.android.galaxy4 Black Hole yes Live wallpaper 1.0
Gallery2.apk com.android.gallery3d Gallery yes 3D Photo Gallery. 1.1.400
HoloSpiralWallpaper.apk com.android.wallpaper.holospiral com.android.wallpaper.holospiral yes Live Wallpaper. 4.2.2
HTMLViewer.apk com.android.htmlviewer HTML Viewer yes Lets you view HTML files on your device. 4.2.2
InCallUI.apk
KeyChain.apk com.android.keychain Key Chain no[2] Password keeper. 4.2.2
LatinIME.apk com.android.inputmethod.latin Android Keyboard (AOSP) yes Stock android keyboard. Safe to remove if replaced with something else for eg. Swype,Swift 4.2.2
LiveWallpapers.apk com.android.wallpaper Android Live Wallpapers yes
LiveWallpapersPicker.apk com.android.wallpaper.livepicker Live Wallpaper Picker yes Android Live Wallpapers Picker. Safe to Remove if you don’t use live wallpapers 4.2.2
LockClock.apk com.cyanogenmod.lockclock cLock yes cLock widget. Clock with weather. 2.2.5
MagicSmokeWallpapers.apk com.android.magicsmoke Magic Smoke Wallpapers yes Wallpaper
Nfc.apk NFCservice yes[2] Looks like could disable NFC service, but NFC options are still active. Safe to delete if your hardware doesn’t support NFC.
NoiseField.apk com.android.noisefield Bubbles yes Bubbles live wallpaper
PackageInstaller.apk com.android.packageinstaller Package Installer no[2] Used to manually install apks (i.e. non-market apks) 4.2.2
PacProcessor.apk
PhaseBeam.apk com.android.phasebeam Phase Beam yes dev live wallpaper – Remove if you removed dev-tools
PhotoPhase.apk
PhotoTable.apk com.android.dreams.phototable Photo Screensavers yes Screensavers with your own pictures. (I didn’t see any person using this and none of my friends use Screensaver on Android)
PrintSpooler.apk
Provision.apk com.android.provision com.android.provision yes Runs on first boot. 4.2.2
SoundRecorder.apk com.android.soundrecorder Sound Recorder yes Sound Recorder app. Many switches in Play Store. 4.2.2
Stk.apk
TelephonyProvider.apk com.android.providers.telephony Phone/Messaging Storage no Phone service base. Remove = no calls. 4.2.2
Term.apk jackpal.androidterm Terminal Emulator yes Gives access to terminal 1.0.53
Torch.apk net.cactii.flash2 Torch yes 4.2.2
UserDictionaryProvider.apk com.android.providers.userdictionary User Dictionary yes Dictionary for LatinIME(keyboard) / Needed for LatinIME.apk to function 4.2.2
VideoEditor.apk com.android.videoeditor Movie Studio yes 1.1
VisualizationWallpapers.apk com.android.musicvis Music Visualization Wallpapers yes 4.2.2
VoicePlus.apk org.cyanogenmod.voiceplus Voice+ yes ? 1.0
WAPPushManager.apk com.android.smspush com.android.smspush yes[2] Tethering connectivity. Safe to remove if you don’t use tethering/access point mode. 4.2.2
WhisperPush.apk
android Android System no System 4.2.2
accounts Accounts no not removable 4.2.2
appwidgets Application Widgets no not removable 4.2.2
data.usage.policy Data Usage and Policy no not removable 4.2.2
wallpaper Wallpaper no not removable 4.2.2
wifi.access.points Wifi Access Points no not removable 4.2.2

CM 13 Apps List

APK name Package name Label Removable Description Version
AntHalService.apk com.dsi.ant.server ANT HAL Service yes Service designed for various ANT/ANT+ devices like heart rate monitors, fitness equipment etc. 4.0.0
AudioFX.apk com.cyanogenmod.audiofx AudioFX yes Audio equalizer. 1.4.0
BackupRestoreConfirmation.apk com.android.backupconfirm com.android.backupconfirm yes UI for the backup confirmation dialog when issuing “adb backup” command. Remove it if you don’t use adb to backup your device. 6.0.1
BasicDreams.apk com.android.dreams.basic Basic Daydreams yes Customizable screensaver. 6.0.1
Bluetooth.apk com.android.bluetooth Bluetooth Share yes After removal, Bluetooth won’t turn on. 6.0.1
BluetoothExt.apk org.codeaurora.bluetooth Bluetooth extensions yes Service used for file sharing, handsfree equipment, Bluetooth modem and SIM adapter. 6.0.1
BluetoothMidiService.apk com.android.bluetoothmidiservice Bluetooth MIDI Service yes Service used for connecting your device with musical instruments, stage lighting and other time-oriented media via Bluetooth. 6.0.1
Browser.apk com.android.browser Browser yes Safe to remove as long as you install another browser. 6.0.1
Calendar.apk com.android.calendar Calendar yes Calendar app. 6.0.1
CalendarProvider.apk com.android.providers.calendar Calendar Storage yes Syncs your phone calendar with Google Calendar. Necessary for notifications too. 6.0.1
CallLogBackup.apk com.android.calllogbackup Call Log Backup/Restore yes Backup and restore your call logs (history). 6.0.1
CaptivePortalLogin.apk com.android.captiveportallogin CaptivePortalLogin yes A service used for displaying a special web page that is shown before using the Internet normally. Remove this if you don’t use public Wi-Fi networks. 6.0.1
CarrierConfig.apk com.android.carrierconfig com.android.carrierconfig yes Modifies carrier configuration. 1.0.0
CellBroadcastReceiver.apk com.android.cellbroadcastreceiver Cell Broadcasts yes Remove this if you don’t want to receive alerts for severe and extreme threats to life and property. 6.0.1
CertInstaller.apk com.android.certinstaller Certificate Installer no Without this, you won’t be able to grant apps some special permissions and access certain files and directories. 6.0.1
CMFileManager.apk com.cyanogenmod.filemanager File Manager yes Default file manager. Can be replaced by another one. 3.0.0
CMSettingsProvider.apk com.cyanogenmod.cmsettings CM Settings Storage no Contains CM specific preferences in System, Secure and Global. 6.0.1
CMUpdater.apk com.cyanogenmod.updater CM Updater yes Remove it if you are upgrading through Recovery. 2.3
CMWallpapers.apk com.cyanogenmod.wallpapers CM Wallpapers yes Remove it if you don’t need the “No wallpaper” option. 6.0.1
com.qualcomm.location.apk com.qualcomm.location LocationServices yes I haven’t encountered any problems after removal. Though one user reported that he lost his GPS signal upon removing this. Create a backup just in case. 1.0
Contacts.apk com.android.contacts Contacts no Managing contacts, groups, favorites etc. 6.0.1
ContactsProvider.apk com.android.providers.contacts Contacts Storage no Contacts sync. 6.0.1
DefaultContainerService.apk com.android.defcontainer Package Access Helper no Unpacks installation APK files. 6.0.1
Dialer.apk com.android.dialer Phone no Making phone calls. 2.21
DeskClock.apk com.android.deskclock Clock yes Remove it if you want to use another clock/alarm app. 4.1.0
Development.apk com.android.development Dev Tools yes Tools and tests for developers. 1.0
DocumentsUI.apk com.android.documentsui Documents no Necessary for accessing Downloads app. 6.0.1
DownloadProvider.apk com.android.providers.downloads Download Manager no If removed, download functionality won’t work in Google Play and the default browser. It will work in Chrome and possibly other browsers, although a notification icon in status bar might not show. If you don’t use Google Play for whatever reason, you can remove this app and use another download manager. 6.0.1
DownloadProviderUi.apk com.android.providers.downloads.ui Downloads no Downloads app. 6.0.1
Eleven.apk com.cyanogenmod.eleven Music yes Remove it if you want to use another music player. 2.0
Email.apk com.android.email Email yes Remove it if you don’t use a local email server. 6.0.1
ExactCalculator.apk com.android.calculator2 Calculator yes Calculator app. 6.0.1
Exchange2.apk com.android.exchange Exchange Services yes Provides sync for Email app. 6.0.1
ExternalStorageProvider.apk com.android.externalstorage External Storage no Grants apps access to external storage. 6.0.1
FMRadio.apk com.android.fmradio FM Radio yes FM Radio app. 2.0
framework-res.apk android Android System no Android system service. 6.0.1
FusedLocation.apk com.android.location.fused Fused Location yes Necessary for proper GPS functioning. 6.0.1
Galaxy4.apk com.android.galaxy4 Black Hole yes Live wallpaper. 1.0
Gallery2.apk com.android.gallery3d Gallery yes Remove it if you use another photo gallery. 1.1.40030
HoloSpiralWallpaper.apk com.android.wallpaper.holospiral Holo Spiral yes Live wallpaper. 6.0.1
HTMLViewer.apk com.android.htmlviewer HTML Viewer yes Lets you view HTML files on your device. 6.0.1
InputDevices.apk com.android.inputdevices Input Devices yes Default AOSP keyboard layout settings. 6.0.1
KeyChain.apk com.android.keychain Key Chain no Credential manager for various Google services. 6.0.1
LatinIME.apk com.android.inputmethod.latin Android Keyboard (AOSP) yes Stock Android keyboard. Safe to remove if replaced by another keyboard. 6.0.1
LiveWallpapers.apk com.android.wallpaper Android Live Wallpapers yes Remove it if you don’t use live wallpapers. 6.0.1
LiveWallpapersPicker.apk com.android.wallpaper.livepicker Live Wallpaper Picker yes Remove it if you don’t use live wallpapers. 6.0.1
LockClock.apk com.cyanogenmod.lockclock cLock yes Clock widget with weather. 3.4.1
ManagedProvisioning.apk com.android.managedprovisioning com.android.managedprovisioning yes Customizes the profile/device owner provisioning flows with corporate colors and logos. 6.0.1
MediaProvider.apk com.android.providers.media Media Storage no Needed for accessing media files (including ringtones). 6.0.1
messaging.apk com.android.messaging Messaging yes Make sure you install another messaging app before removing this. 1.0.001
MmsService.apk com.android.mms.service Messaging Service yes Necessary for receiving SMS/MMS. Some messaging apps won’t require this service, some will. Create a backup just in case. 6.0.1
NoiseField.apk com.android.noisefield Bubbles yes Live wallpaper. 1.0
org.cyanogenmod.platform-res.apk cyanogenmod.platform CyanogenMod System no CyanogenMod system service. 6.0.1
PackageInstaller.apk com.android.packageinstaller Package Installer no Used to manually install APK files (outside of Google Play). 6.0.1
PacProcessor.apk com.android.pacprocessor PacProcessor no A service for handling proxy auto-config files. Some users stated that after deleting this, their device started to malfunction until eventually they couldn’t go beyond boot animation. 6.0.1
PhaseBeam.apk com.android.phasebeam Phase Beam yes Live wallpaper for developers. Remove it if you also removed Dev Tools. 1.0
PhotoPhase.apk org.cyanogenmod.wallpapers.photophase PhotoPhase yes Live wallpaper. 1.0.11
PhotoTable.apk com.android.dreams.phototable Photo Screensavers yes Screensavers with your own pictures. 6.0.1
PicoTts.apk com.svox.pico Pico TTS yes Text to speech engine. 1.0
PrintSpooler.apk com.android.printspooler Print Spooler yes Interacts with the printer and orders the print jobs in your queue. 1.0
Profiles.apk com.cyanogenmod.profiles Profiles Trust Provider yes A trust agent used so that system profiles can better lock/unlock your device when you switch profiles. 6.0.1
Provision.apk com.android.provision com.android.provision yes Runs on first boot. Conflicts with “SetupWizard.apk”. 6.0.1
ProxyHandler.apk com.android.proxyhandler ProxyHandler yes 6.0.1
Screencast.apk org.cyanogenmod.screencast Screencast yes Screen capture app. 1.0.0.3
Settings.apk com.android.settings Settings no Settings app. 6.0.1
SettingsProvider.apk com.android.providers.settings Settings Storage no If removed, it may cause app crashes. 6.0.1
SharedStorageBackup.apk com.android.sharedstoragebackup com.android.sharedstoragebackup yes Performs a backup of shared-storage file systems. 6.0.1
Shell.apk com.android.shell Shell yes Error messages. 6.0.1
StatementService.apk com.android.statementservice Intent Filter Verification Service yes 1.0
Snap.apk org.cyanogenmod.snap Camera yes There are many alternatives in Play Store. 2.0.002
SnapdragonCamera.apk org.codeaurora.snapcam Snapdragon Camera yes There are many alternatives in Play Store. 2.0.002
SoundRecorder.apk com.android.soundrecorder Sound Recorder yes There are many alternatives in Play Store. 6.0.1
Stk.apk com.android.stk SIM Toolkit no A set of commands which define how the card should interact with the outside world. 6.0.1
SystemUI.apk com.android.systemui System UI no Android user interface. 6.0.1
Telecom.apk com.android.server.telecom Phone Call Management no A screen that shows when dialing. 6.0.1
TelephonyProvider.apk com.android.providers.telephony Phone and Messaging Storage no If removed, you won’t receive any calls. 6.0.1
TeleService.apk com.android.phone Phone Services no 6.0.1
telresources.apk com.android.frameworks.telresources com.android.frameworks.telresources yes Not sure what this is for, but it didn’t create any problems when frozen. 6.0.1
Terminal.apk com.android.terminal Terminal yes Offers local shell access. 6.0.1
ThemeChooser.apk org.cyanogenmod.theme.chooser Themes yes Installing CM themes. 1.0
ThemesProvider.apk org.cyanogenmod.themes.provider Themes Provider yes Necessary for proper functioning of Themes. 2.0
TimeService.apk com.qualcomm.timeservice com.qualcomm.timeservice yes Safe to remove. 6.0-980725103d
Trebuchet.apk com.cyanogenmod.trebuchet Trebuchet yes Default launcher. 6.0.1
UserDictionaryProvider.apk com.android.providers.userdictionary User Dictionary yes “Personal dictionary” option in “Settings > Language & Input”. Used with Android Keyboard (AOSP). If removed, Settings app may crash after modifying keyboard-related preferences. 6.0.1
VpnDialogs.apk com.android.vpndialogs VpnDialogs yes VPN app. 6.0.1
WallpaperCropper.apk com.android.wallpapercropper com.android.wallpapercropper yes Wallpaper cropping tool. 6.0.1
WAPPushManager.apk com.android.smspush com.android.smspush yes Tethering connectivity. Remove it if you don’t use tethering/access point mode. 6.0.1
webview.apk com.android.webview Android System WebView yes System component powered by Chrome that allows Android apps to display web content. Remove it if you don’t need in-app web content.

CM 13 Google Apps List

APK name Package name Label Removable Description Version
ConfigUpdater.apk com.google.android.configupdater ConfigUpdater yes Automatically updates certificates, firewall configuration, premium SMS list (you’ll be warned if an app sends a premium SMS), time zone information and SELinux configuration. 6.0.1
FaceLock.apk com.android.facelock Trusted Face yes Unlocks your phone using camera. 6.0.1
GoogleBackupTransport.apk com.google.android.backup Google Backup Transport yes Backups settings on Google servers. 6.0.1
GoogleCalendarSyncAdapter.apk com.google.android.syncadapters.calendar Google Calendar Sync yes Google Calendar sync. 5.2.3-99827563-release
GoogleContactsSyncAdapter.apk com.google.android.syncadapters.contacts Google Contacts Sync yes Syncs your contacts with Google account. 6.0.1
GoogleFeedback.apk com.google.android.feedback Market Feedback Agent yes Allows other apps to call it and ask you to provide market feedback. 6.0.1
GoogleLoginService.apk com.google.android.gsf.login Google Account Manager no Google login system. Disables Google account functions. 6.0.1
GoogleOneTimeInitializer.apk com.google.android.onetimeinitializer Google One Time Init yes Runs on first boot. Conflicts with “Provision.apk”. 6.0.1
GooglePackageInstaller.apk com.google.android.packageinstaller Package Installer yes Used to manually install APK files (outside of Google Play). 6.0.1
GooglePartnerSetup.apk com.google.android.partnersetup Google Partner Setup no Runs application in conjunction with Google products. 6.0.1
GoogleServicesFramework.apk com.google.android.gsf Google Services Framework no Provides account/login information to Google apps. 6.0.1
GoogleTTS.apk com.google.android.tts Google Text-to-speech Engine yes Powers applications to read the text on your screen aloud. 3.8.16
Phonesky.apk com.android.vending Google Play Store no Browse and install various Android apps. 6.4.13.C-all [0] 275-4070
PrebuiltGmsCore.apk com.google.android.gms Google Play services no Services necessary for proper functioning of Google Play. 8.7.03 (2645110-430)
talkback.apk com.google.android.marvin.talkback Talkback yes Helps blind and vision-impaired users interact with their devices. 4.5.0 Beta

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

EndUser Profiles

The Profile Manager (available on CM10 via Settings/Profiles) is a feature that is implemented specifically for CyanogenMod. You will not find documentation of this feature in other Android platforms as a result.

The basic idea is to allow you to group “sets” of settings together and then apply them all at once, either manually or automatically.

For example, perhaps at night you want your ringer turned off and during work you want it at a low volume and in the afternoon (when you might be at your son’s game) you want it to be loud.

Below you can see a list of all the options that can be set in a profile.

While looking at the list of profiles (unless you’ve changed them they are “Default”, “Home”, “Night”, “Silent”, and “Work” — Any of these can be renamed or deleted except “Default) you have several options. If you click on the name of the profile (for instance, “Home”) then you will change to that profile — all the settings under that profile will now be active. If you click on the slider icon to the right it will take you into the settings for that particular profile. Or you can click on the “Application Groups” tab (opposite “Profiles” at the top).

Changing Profiles

Once you have decided exactly how you would like your settings to be during each of your contexts, then it is a question of how to choose the correct profile at the right time. In general you can choose a profile manually or automatically.

Choosing Profiles Manually

If you long-press your power button you will get a menu which includes the current profile. If you click on that then you will be presented with a menu of available profiles. Clicking on the desired profile chooses that profile and all setting changes are made to to your phone/tablet.

There are also widgets available which can be placed on your home screen which allow you to choose a given profile. See here for more details and the download.

Choosing Profiles Automatically

Choosing a profile automatically can be done at a certain time (e.g. at 11:00 every night I want my “Night” profile to be activated) or by means of a location (e.g. when I get in my car I see the availability of a bluetooth device and the profile “Car” can be activated automatically or when I get home I see my own AP wirelessly and so I want the profile “Home” activated automatically.) Here are some options, from simplest to complicated, from least capability to greatest capability:

  1. The alarm clock that comes with CM7 or CM10 can automatically activate a profile whenever an alarm goes off. Each alarm entry has a Profile field, to which you assign a profile that will start when the alarm triggers. This is a good enough option for automatic switching based on time events and it comes with CyanogenMod by default.
  2. There is a free application available on xda-developers.com called Profile Switcher. It is somewhat basic, but it does allow a simple scheduled on/off of any given profile. It also allows for switching on a certain profile for a given period of time (e.g. activate “Meeting” profile for the next 45 minutes). This would suffice nicely for many uses as long as they are time-related.
  3. Locale is another option, giving more capabilities for activating profiles automatically.
  4. There is a paid application called Tasker which lets you teach your phone to sit up and beg. It’s not *quite* like programming your phone, but it definitely takes a bit of learning. But when you combine it with Profile 4 Tasker +Widget you can activate any profile based on any of what Tasker calls “Contexts”. I won’t go into great detail here (there are lots of tutorials over at the Tasker web-site) but you can choose wireless availability, GPS location, cell tower proximity, bluetooth availability, timed schedules — just about anything you can imagine. Then whenever that context is true, Tasker can activate the profile you choose (or it can do any of hundreds of others of tasks as well — meshing with CyanogenMod Profiles is just a tiny portion of what it can do).
  5. Another paid app can come in handy if you want to automatically switch profiles for day and night time: “Good Night, Android!” It also offers the ability to create launcher shortcuts for profiles.

All Options

Here are some of the options that can be set in a profile

  • Mobile Data (on/off)
  • Bluetooth (on/off)
  • GPS (on/off)
  • Wi-fi (on/off)
  • Data-Sync (on/off)
  • Portable Wi-fi Hotspot (on/off)

Then for your volumes you can adjust:

  • Alarm (0-7)
  • Media (0-15)
  • Ringtone (0-7)
  • Notification (0-7)

For Vibrator you can adjust:

  • for calls (on/off)
  • for notifications (on/off)

For system settings you can adjust:

  • the lock screen mode (turning off the pattern or the lock screen entirely, like if you use a 3rd party lock screen)
  • Airplane Mode (on/off)

Application Groups

Application Groups allow you to group your applications together so that you can establish certain settings for that group of applications.

You could, for instance, group all your social media under a single application group. Then you would be able to change the notification style/volume/tone of all of them at once.

This is a bit confusing, but just think it through. You have the possibility of many profiles. You also have the possibility of many Application Groups. You have the same set of Application Groups across all Profiles and each Application Group has the same apps across all profiles. Each profile can define the settings for any of the Application Groups in any way that seems appropriate. Then activating that profile also changes all those settings on each Application Group where something is set. Make sense?

You define each “Application Group” in terms of what the name of that group is and which applications are included in it. You do this in the tab next to the “Profiles” tab on the main screen in profile setting. Then when you have these already defined you can choose settings for all those applications together when you are defining your “Profile” (after having clicked on the slider-icon next to the name of the profile you want to modify). Here are the settings you can change for a given set of applications:

  • Notification mode (on/off/no override)
  • Notification tone (choose your ringtone)
  • Ring mode (on/off/no override)
  • Phone ringtone (choose your ringtone)
  • Vibrate mode (on/off/no override)
  • Lights mode (on/off/no override)

Future of Profiles

There was some talk back in February/March of 2012 that the Profiles feature in CyanogenMod was going to be developed into a full-blown application allowing the various possibilities for automatic switching. However, it appears that the decision was made to leave that functionality in the hands of the 3rd party apps like Locale and Tasker.

Perhaps at some point the “hooks” for Tasker/Locale will become built-in.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Updating

These instructions are for those who have already installed CyanogenMod.

Use the CM Updater (CM10 and newer)

If you use the Google Apps addon (gapps) and are updating between versions where your old gapps is not compatible (e.g. upgrading CM 10.1 to 10.2), it is recommended you apply the update manually in recovery, because you need to flash an updated gapps package. If you do not use gapps or are upgrading a more minor version release, automatic upgrading is recommended.

To update CyanogenMod automatically:

  1. Ensure you’ve saved everything important, as doing an update requires the system be restarted.
  2. Go to the Settings, and then under About this [device], you should see a menu for checking for and installing updates.
  3. Follow the on-screen instructions to perform the update.

If your recovery does not support automatic update installing, you may have to install downloaded zip archive manually. In such case follow instructions in the section below, starting from step 2. You will find downloaded zip under /sdcard/cmupdater directory.

Updating Manually

Note:

These instructions should be accurate, but are a bit vague and could use some help. Feel free to fix it either by including better instructions located elsewhere, or by fixing it directly. Then remove this message!

To update CyanogenMod manually:

  1. Download the new version of CyanogenMod for your device. Also download other packages such as Google Apps. The file should typically have a name ending in .zip
  2. Boot device into recovery mode
  3. If you are doing a major upgrade like CyanogenMod 7 to CyanogenMod 10, you would want to do a Factory Reset from your recovery
    • Note: Different recovery images provide slightly different menu systems, so these instructions will have to be generic. If you have installed CM previously, the options in the recovery menu should already be familiar.
Click here to continue instructions using ADB Push (Preferred Method)
  1. In a computer terminal, make sure ADB is working by typing: adb devices. It should say XXXXXXXXXXXXX sideload where XXXXXXXXXXXXX are random characters (Not question marks)
  2. Place the CyanogenMod .zip package, as well as any optional .zip packages, on the root of /sdcard:
    • Using adb: adb push filename.zip /sdcard
    Note: You can copy the .zip packages to your device using any method you are familiar with. The adb method is used here because it is universal across all devices and works in both Android and recovery mode. If you are in recovery mode, you may need to ensure /sdcard (sometimes called Internal Storage) is mounted by checking its status in the Mounts menu. If you have booted regularly, USB debugging must be enabled.
  3. You want to use the recovery menu to select an option to flash the .zip file from sd, then locate the .zip and flash it
  4. If you have, do the same with optional packages like Google Apps
  5. Now select the option to restart the system, and hopefully it will have worked!
    • Note: If CyanogenMod 13 or above, you will have to flash CyanogenMod and Google Apps without rebooting the device in between.
Click here to continue instructions using ADB Sideload
  1. In Recovery navigate to Apply update or Install and choose ADB Sideload or Apply from ADB
    • Note: In TWRP Recovery, this is in Advanced –> ADB Sideload (You will have to swipe to start the function)
  2. In a computer terminal, make sure it is working by typing: adb devices. It should say XXXXXXXXXXXXX sideload where XXXXXXXXXXXXX are random characters (Not question marks)
  3. Type adb sideload filename.zip and press enter
  4. It should automatically flash the .zip file. To flash optional packages like Google Apps, repeat the process.
    • Note: If CyanogenMod 13 or above, you will have to flash CyanogenMod and Google Apps without rebooting the device in between.

External Links

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Release Versioning

CyanogenMod has grown considerably since Cyanogen’s earliest builds in the Android Eclair (Donut even?) days. The release versioning has changed a few times since then. This page covers the two most recent release structures: CyanogenMod 9 – 10.2 and the current CyanogenMod 11 – 13.

What’s in a number?

You’ve probably noticed that CyanogenMod’s version number isn’t the same as Android’s version number. Here’s how CyanogenMod’s versioning relates to Android’s:

CyanogenMod A.B

  • A signifies the major version. These are numerically equivalent to the named Android releases, which are alphabetical. For example, Android Jellybean, with J being the 10th letter of the English alphabet, results in a major version number of 10 for CyanogenMod.
  • B [optional] signifies the minor version. This number is incremented based on the corresponding minor version number of Android. The first release of a new Android name (e.g. Jellybean) gets a major version number with no minor version. If Android subsequently increments their minor version number without changing the name, then CyanogenMod picks up a minor version number. For example, Android 4.1, 4.2, and 4.3 were all called Jellybean, with CM 10 equating to Android 4.1, CM 10.1 to Android 4.2, and CM 10.2 to Android 4.3.

CyanogenMod 9 – 10.2 build tags

CyanogenMod 9 through 10.2 were qualified with tags: Experimental, Nightly, Release Candidate, and Stable. The Snapshot tag was added with the introduction of M builds in CyanogenMod 10.2. These tags were meant to indicate a build’s suitability for general use.

  • Nightly: usually generated every 24 hours, experimental, newest features, unstable
  • Experimental: testing version requested by device maintainers to evaluate specific changes
  • M Snapshot: milestone snapshot, more stable than a nightly but potentially some issues
  • Release Candidate: last builds before stable release, few minor issues, mostly stable, and safe for daily use
  • Stable: most stable version available, all or nearly all issues resolved

The Release Candidate and Stable tags bring with them considerably high expectations from users. For this reason, device maintainers and developers involved with CyanogenMod had one simple rule: No ETAs.

Stable build tags carry additional minor version numbers. Consider CyanogenMod A.B.c.d, where A.B is as described in the What’s in a number? section. Then,

  • c signifies a large number of bugs were fixed for a new stable release. For example, CM 10.2 had two major Stable releases: CM 10.2.0.0 and CM 10.2.1.0.
  • d signifies a bugfix or hotfix version. This number is less often seen, but signals a critical bug fix that was identified as required after a stable release has been issued. Example: CM 10.2.1.1. This version can vary between devices.

CyanogenMod 11 – 13 Community build tags

CyanogenMod 11 – 13 Community releases reduce the number of build tags to just two: Nightly and M Snapshots. The tag names have been retained for historical reasons, but this is really just a basic two channel release system:

  • Development channel: (a.k.a. Nightlies) usually generated every 24 hours, experimental, newest features, unstable
  • Release channel: (a.k.a. Snapshots) generated once every 1-2 months, suitable for daily use, devices signed-off by maintainers for inclusion

The release channel is built from a separate stable branch, cut from the main branch at a point deemed feature-complete and reliable. A small subset of code reviewers have the ability to merge commits into the stable branch after the cut has been made; i.e. everything that goes to the stable branch receives extra scrutiny.

More information on the rationale behind the Development/Release build tags can be found in the CyanogenMod 11.0 M6 Release blog post.

CyanogenMod 11 Installer build tags

The CyanogenMod Installer has its own additional versioning to that described in the What’s in a number? section. The syntax is A.B-InstallerEFGH##I. Here, EFGH##I is a ROT13 formatted version string (non-numerical places rotate 13 characters). This is best explained with a real example:

11.0-InstallerXNPQ09O: XNPQ09O –> KACD09B
  • The first letter signals the Android version: K stands for KitKat
  • The second letter counts, starting from zero, the minor version number: A stands for 0
  • The third letter denotes the type of keys used for signing: C for private keys held by Cyanogen Inc. and T for test-keys (Android’s default debugging keys)
  • The fourth letter signals the build type: U stands for -user, D for -userdebug, and E for -eng
  • The two numbers tell the week of the year: 09 is the 9th week of the year
  • The letter at the end is the day of the week denoted by a letter: B stands for 2, and Monday is the 2nd day of the week

Build types and signing

Most CyanogenMod Community and Installer releases are -userdebug builds, signed with test-keys (Android’s default debugging keys). From the user perspective, this means powerful functionality can be baked right into the ROM. Root, performance settings, debugging utilities, and write access to the /system partition are the notables here. With great power comes great responsibility; it is up to the user to be careful with these utilities and settings.

Devices with CyanogenMod pre-installed have -user builds, signed with private keys held by Cyanogen Inc. These builds are meant for the general public and pass all or very close to all of Android’s CTS requirements. -user builds are required by Google to allow Google applications to be pre-packaged with the device (and even then, only at Google’s discretion). Safety and security is a priority, so root is not available in these builds.

External links

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.

Support

CyanogenMod User Help

We have written several end-user support articles to help you familiarize yourself with CyanogenMod and its operation.

Getting Started

ClockworkMod Recovery

How To Use CM

  • The Profile Manager — A CM 10 feature (in Settings->Profiles) to manage groups of settings.

Reporting Bugs

Your Computer And CyanogenMod

Modifying CM

  • “Bare Bones” Device Guide – If your device has very little internal storage, this (older wiki) guide may help you determine which system apps you can safely delete to preserve space.

Concepts & Vocabulary

  • Concepts: “rooting”, “sideloading”, “jailbreaking”, “flashing”, “unlocking”, “unlocking a bootloader” explained!
  • More concepts: kinds of memory– “RAM”, “Internal storage”, etc. and common Android “partitions”/directories
  • Glossary of Common Terminology

Contributing

Additional Support

Having an issue getting CyanogenMod on your device? Stumped on how to get past a build error? Use the links below to connect with other CyanogenMod users.
Support is provided on official CyanogenMod Stable and Release Candidate builds only.

Even More Help

  • Community – Meet the gang and learn about CM culture, get-togethers, and more.

Content of this page is based on informations from wiki.cyanogenmod.org, under CC BY-SA 3.0 licence.