Introduction
Though CyanogenMod always claimed to be open-source, there were only few versions that had an open userspace (Some drivers and firmware have always been proprietary, but it's not CMs fault).
The first CM version I ever installed on a device was CM7 and it contains koush's proprietary ROM Manager app. CyanogenMod 9 seemed to have no proprietary parts, but since CM10 they included Google Analytics Client library (libGoogleAnalyticsV2.jar) within cmstats in the settings app (so it's not even possible to disable it). In CyanogenMod 10.1 CMAccount was included. It relies heavily on Google's Cloud Messaging service and includes the proprietary Google Play Services Client library (google-play-services.jar).
There are some people here at xda (including myself) that installed CyanogenMod because it does not ship GAPPS and is a fully (except vendor files) open-source and free rom. Since i noticed it's not, i started building CM without these closed-source stuff, but it's a pity to do so. That's when the idea of freecyngn started.
What is freecyngn
freecyngn is a tool you can run from recovery, that removes some known proprietary things (or apps relying on proprietary extensions) from CyanogenMod. At the moment this is Google Analytics (from CMStats in CM10/11), CMAccount, LockClock, SetupWizard, Voice+, VoiceDialer and WhisperPush.
Installation Instructions
CyanogenMod 12/12.1
CyanogenMod 10/11
Changelog
v0.5: Latest fixes, better logs
v0.4.1: Remove LockClock (uses Google Play Services)
v0.4: Adapt to latest changes, remove VoiceDialer as well
v0.3.1: addon.d based auto repatching
v0.3: fixed logging
v0.2: Now creating logfile: /system/freecyngn/log
Downloads
Latest release (v0.5): https://github.com/mar-v-in/freecyngn/releases/download/v0.5/freecyngn-flashable-cm1011.zip
All releases: https://github.com/mar-v-in/freecyngn/releases
Source: https://github.com/mar-v-in/freecyngn
How it works (technical stuff)
freecyngn disassembles (using [bak]smali) the CyanogenMod settings app and removes the proprietary Google Analytics component. It then replaces it with NoAnalytics, so that existing bindings from cmstats do not break and reassembles the settings app.
FAQ
Q: My recovery hangs while flashing?
Q: Why is this script so slow?
A: freecyngn need plenty of time and is sometimes even slower than flashing the rom itself. This is bcause most recoverys underclock the cpu, which is no problem for just copying files from zip to partition or format a partition, but it is a problem for disassembling and reassembling, which are cpu intensive tasks.
Q: Do I need to apply the patch after every update?
A: Since v0.3.1 this is no longer needed. Patching is done automatically.
Q: What's about other custom ROMs?
A: AOKP is patchable with freecyngn as well. Paranoid contains Google Analytics in the proprietary ParanoidSettings app instead of the system settings and thus does not work with this patch. OmniROM does not contain Google Analytics. Note that some slimmed-down CM/AOKP-custom-builds will not work with freecyngn. If you use such, check the log file /system/freecyngn/log after flashing.
XDA:DevDB Information
freecyngn, Tool/Utility for the Android General
Contributors
MaR-V-iN
Source Code: https://github.com/mar-v-in/freecyngn
Version Information
Status: Stable
Current Stable Version: v1.0
Stable Release Date: 2014-08-07
Created 2013-12-01
Last Updated 2016-07-02
Though CyanogenMod always claimed to be open-source, there were only few versions that had an open userspace (Some drivers and firmware have always been proprietary, but it's not CMs fault).
The first CM version I ever installed on a device was CM7 and it contains koush's proprietary ROM Manager app. CyanogenMod 9 seemed to have no proprietary parts, but since CM10 they included Google Analytics Client library (libGoogleAnalyticsV2.jar) within cmstats in the settings app (so it's not even possible to disable it). In CyanogenMod 10.1 CMAccount was included. It relies heavily on Google's Cloud Messaging service and includes the proprietary Google Play Services Client library (google-play-services.jar).
There are some people here at xda (including myself) that installed CyanogenMod because it does not ship GAPPS and is a fully (except vendor files) open-source and free rom. Since i noticed it's not, i started building CM without these closed-source stuff, but it's a pity to do so. That's when the idea of freecyngn started.
What is freecyngn
freecyngn is a tool you can run from recovery, that removes some known proprietary things (or apps relying on proprietary extensions) from CyanogenMod. At the moment this is Google Analytics (from CMStats in CM10/11), CMAccount, LockClock, SetupWizard, Voice+, VoiceDialer and WhisperPush.
Installation Instructions
- Copy or download the zip file to the sdcard of your android device
- Boot your device into recovery.
- If not already done, install CyanogenMod as usual from recovery - DO NOT REBOOT
- Install freecyngn as if it was a rom, but DO NOT WIPE /system before
CyanogenMod 12/12.1
The version for CyanogenMod 12 should not be used on nightlies before July 9, 2015!
Changelog
v1.0: First release for CM12
Downloads
Latest release (v1.0): https://github.com/mar-v-in/freecyngn/releases/download/v1.0/freecyngn-flashable-cm12.zip
All releases: https://github.com/mar-v-in/freecyngn/releases
Source: https://github.com/mar-v-in/freecyngn
Changelog
v1.0: First release for CM12
Downloads
Latest release (v1.0): https://github.com/mar-v-in/freecyngn/releases/download/v1.0/freecyngn-flashable-cm12.zip
All releases: https://github.com/mar-v-in/freecyngn/releases
Source: https://github.com/mar-v-in/freecyngn
CyanogenMod 10/11
Changelog
v0.5: Latest fixes, better logs
v0.4.1: Remove LockClock (uses Google Play Services)
v0.4: Adapt to latest changes, remove VoiceDialer as well
v0.3.1: addon.d based auto repatching
v0.3: fixed logging
v0.2: Now creating logfile: /system/freecyngn/log
Downloads
Latest release (v0.5): https://github.com/mar-v-in/freecyngn/releases/download/v0.5/freecyngn-flashable-cm1011.zip
All releases: https://github.com/mar-v-in/freecyngn/releases
Source: https://github.com/mar-v-in/freecyngn
How it works (technical stuff)
freecyngn disassembles (using [bak]smali) the CyanogenMod settings app and removes the proprietary Google Analytics component. It then replaces it with NoAnalytics, so that existing bindings from cmstats do not break and reassembles the settings app.
FAQ
Q: My recovery hangs while flashing?
Q: Why is this script so slow?
A: freecyngn need plenty of time and is sometimes even slower than flashing the rom itself. This is bcause most recoverys underclock the cpu, which is no problem for just copying files from zip to partition or format a partition, but it is a problem for disassembling and reassembling, which are cpu intensive tasks.
Q: Do I need to apply the patch after every update?
A: Since v0.3.1 this is no longer needed. Patching is done automatically.
Q: What's about other custom ROMs?
A: AOKP is patchable with freecyngn as well. Paranoid contains Google Analytics in the proprietary ParanoidSettings app instead of the system settings and thus does not work with this patch. OmniROM does not contain Google Analytics. Note that some slimmed-down CM/AOKP-custom-builds will not work with freecyngn. If you use such, check the log file /system/freecyngn/log after flashing.
XDA:DevDB Information
freecyngn, Tool/Utility for the Android General
Contributors
MaR-V-iN
Source Code: https://github.com/mar-v-in/freecyngn
Version Information
Status: Stable
Current Stable Version: v1.0
Stable Release Date: 2014-08-07
Created 2013-12-01
Last Updated 2016-07-02
Last edited: