[DEPRECATED] Welcome to your Motorola Moto G - Resource Guide
DEPRECATED, NO MORE UP-TO-DATE, ONLY KEPT FOR ARCHIVE
Technical Specifications -
Model Number(s) - XT1031: Boost Mobile8GB
XT1032: This Model Number is shared by International GSM Version and the Google Play Edition 8 GB/16 GB (Single SIM) EU & International GSM - 8GB/16GB. (Does not Support 1700 MHz AWS) XT1033 : Brazil, India, Malaysia (BrightStar) - 8GB & 16GB(Brazil Colors Edition) (Both are Dual Sim) and also for Moto G (Music edition) (Dual Sim) (16GB Only), Malaysia 8GB & 16 GB are Dual Sim XT1034: AT&T and T-Mobile - 8GB/16GB.
Moto G Review - Here's great thread with collated Reviews of this device. Thanks to @matmutant
List of Commonly used Terms -
All that is fine, but I don't know what this rooting, flashing, nandroid, Modding etc. mean? Yelp ?
Fear Not! Here's a little Cheat Sheet for you. Please thank @benjamingwynn for this. I took his original list for HTC and extended it for here. Given bellow is a Glossary of sorts for commonly used terms. Please let me know if I missed any and I will add it. Also please visit this Q & A thread. Its more than likely to answer most of your questions.
ADB - "Android Debug Bridge" a system that can be accessed using a computer where you can manage the device from. You need the Android SDK to use it.
AFAIK - "As far as I know"
AOSP - "Android open source project" a project by Google Inc. to give android to developers and manufactures for free (see open-source)
APK - "Android Package" an Android application
Binary - (sometimes called bin's) a group of executable files.
Brick - When the device refuses to boot at all, despite having a full battery is termed as Bricking. Most of the times, the devices gives some indication of problems such as blinking Red Led, but no other signs of life. It is also called Hard Brick. Also see Soft Brick.
Bootloader - Its a small piece of code that's embedded in the device. Its the first to be executed when the device is turned on.
CDMA/GSM - A type of network communication between phones and carriers. GSM phones normally are included with SIM Cards that authorize them onto the network. CDMA have this authorization built in and do not need a sim card.
CM - See CyanogenMod
CM10 - Cyanogenmod 10. A modified version of Jelly Bean release of Android 4.2.x as well as 4.3.x (see CynogenMod)
CM11 - Cyanogenmod 11. A modified version of Kitkat release of Android 4.4.x. (see CynogenMod)
Custom recovery - An unofficial recovery developed by other developers for your device. Its typically used to install unoffical ROMs. See CWM and TWRP.
CWM - ClockWorkMod, a project that makes Custom Recovery.
Cyanogenmod - A free open-source project based on the AOSP. It is a modded (see modded) version of the Android firmware
Dev - See developer.
Developer - A man or woman who has created (developed) software.
Deodexed - Where the two part ODEX files (see Odex) are moved into the actual APK (apk), thus making it one.
Execute - To "run" or "start" a binary
Firmware - a piece of software to make hardware function correctly. This can refer to Radio Firmware, but is normally used as another name for ROM. (See ROM)
Flash - The process of installing a software on your device.
Flashing - See Flash.
FOTA - "Firmware over the air" this normally refers to ROM's but can refer to radio firmware (see OTA)
Froyo - Android 2.2
GB - Could mean one of two things. 1. Gingerbread or 2. Great Britain
Gingerbread - Android 2.3
Governor - A system embedded into the kernel to automatically change the current working CPU frequency depending on the workload. It would only go up to what it is overclocked (or underclocked) to, this is called the maximum frequency. It would not drop bellow the (just as easily configurable) minimum frequency.
Honeycomb - Android 3.x. it was never released or ported to the wildfire s because it was built for tablets.
Ice cream sandwich/ICS - Android 4.0. The latest version of Android.
JDK - "Java Development Kit" an SDK for the java platform. It is needed to run the Android SDK.
JRE - "Java Runtime Environment" a collection of binarys and files to allow java software to execute.
KANG - The process of creating a code based of someone else's code.
Kernel - This is another term brought over from Linux World. A Kernel is a piece of software, that takes over from the Bootloader and then completes the booting of the device. It handles the CPU and other vital components. A modded kernel may be used for overclocking.
Library's/Libs - a set of instructions for applications to use to function. A functioning camera lib would allow the camera to be used.
Logcat - A logging system built into the ADB
Mod - A modification to a part of the phones software. It is also POSSIBLE to mod the phones hardware but is not recommended.
Modding - To perform a mod
Modded - to have included mods or condition after applying a mod.
Modification - see mod
Open-Source - (not to be confused with free) A piece of software that is free to edit, use, distribute and share with no charge.
OTA - "Over the air" a term used to indicate software that was sent to phones directly through the internet to their phones.
Radio - (not to be confused with Radio Firmware) A piece of hardware that allows communication. There are 3 main radios in your phone. Bluetooth, WiFi and GSM/CDMA.
Radio Firmware - (see firmware) a type of software that allows correct communication with the radio and the operating system. A newer firmware would normally improve battery life and call quality. The radio firmware only applies to the CDMA/GSM radio.
Overclock - (not to be confused with underclock) to exceed the default maximum CPU speed. This could make a phone more powerful but may cause damage. Although no damaged has been reported so far it could still drain battery life.
Nandroid - Its a process of taking a backup of most of the partitions in Android. This is usually performed in Recovery Console when OS is not running.
Partition - Similar to Linux, Android storage is divided into Partitions. These are akin to compartments that house specific part of the OS boot and operation.
RAM - Could be one of three meanings: 1. Memory for the CPU to process processes. 2. Random Access Memory, a place where information can be used, executed from, modified, or deleted. 3. A type of sheep.
Recovery - Its a dedicated Android partition, that has Recovery console installed. This is invisible during normal operation of the android device.
ROM - 1. A modified version of the Android operating system operating system. 2. Read Only Memory, a place where information is stored and can not be destroyed, modified or written to.
RUU - "ROM Update Utility" An automatic installer for Radio Firmware, ROM and HBOOT. (Predominantly used on HTC).
SD - Short term for MicroSD
SDK - "Software Development Kit" a set of tools used for software development.
Soft Brick - When the device refuses to boot despite a full battery, but shows some other signs of life, its considered as soft Bricked. Also see Brick
Stock - An unchanged version of something. Example: I just flashed stock Rom. Typically this term may be used to refer to Official firmware. But this is not the case always.
TWRP - Team Win Recovery Project. This also has a newer edition called TWRP 2.
Underclock - to change your phones maximum frequency to LOWER than the default to attempt to extend the phones lifespan and battery.
WFS - "Wildfire S" an armv6 device made by HTC in 2011.
WIP - "Work In Progress"
Zipalligned - This is something that makes a ROM faster. Best see this link for more.
Ok Now that you have a hang of your device, you probably want to explore your options and maybe install a Custom Rom. Well, the first thing you will need is to Root the Device.
So what really is a Root ? Why should I do it ? Would it break my Phone ? How about my Warranty ? All legitimate questions. To start off, here's an easy guide by Lifehacker. This whole concept may seem mystical to some of us. Let me try to make it pretty straightforward. Rooting is a process on Android that effectively grants you superuser access. Think of it as Administrator access on Windows. Android is a derivative of Linux. So those from Linux should have no difficulty with this concept.
There are certain operations that only a Superuser can do. Hence you'd want to root in order to so. For ex, remove any application that is installed as System application. Just like on on Windows, Root access does come with risk, so you need to use it with care. Just because you have Root access, does not mean your phone is broken. Typically making wrong changes to system with Root access, will result in affecting smooth operation of your phone. In extreme cases, the device may be Bricked if incorrect software (Rom, Mod or others) is flashed.
When it comes to Warranty, typically Root as such does not void your warranty. But if you end up flashing anything with a custom Recovery, then your Warranty may be voided. Rooting -
Ok so, I got what Root is and I need to be responsible in what I do. How do I get the root ? Well the first and basic thing would be to install appropriate drivers for Windows.
Next in order to Root, please follow this thread by @paulobrien . As you will see, there are two ways to go about it. Both do require your Bootloader to be unlocked. However, neither method, applies to the Google Play Edition (XT1032) as there is no supporting Custom Recovery for this variant.
If you do not have or do not wish to unlock your bootloader then you can opt for @oasoas014 's method of bootloader downgrade. You may also visit @Cooptx's more detailed guide. Note, with the most recent recoveries, you do not need to downgrade your bootloader.
Note - Flashing a bootloader is inherently dangerous. You can possibly hardbrick your device if you flash incorrect bootloader. Always check the MD5 value of downloaded file.
Only In Case of Moto G Google Play Edition (XT1032), it is possible to unlock the Bootloader on your own. You do not need to pay to get an Unlock Code from Motorola. Instead, you can follow the same method as Nexus or other Google Play Devices. Here's a nice tutorial. For those technically minded, here's Android Source Documentation of the same process. Once unlocked, the bootloader cannot be re-locked unless you flash a signed system image, (which Motorola has not made available as of 01-22-2014).
One of the first things you should do upon Rooting is to backup your PDS Partition.
How to backup / restore PDS partition and why?
On Motorola devices the 'pds' partition contains information specific to your machine: IMEI, MAC address, serial number, etc. This partition can be lost by accidental format or over time due to filesystem corruption. If you have made a backup, there is a good chance you can bring your handset back to life.
==> PDS backup will help to restore lost IMEI. It is a situation when the phone reports that the IMEI is unknown. ; This works like a vaccine, apply before having issue with IMEI, after it will be too late !
Using ADB you can make a copy of the partition and move it to a safe place (Google Drive?):
dd if=/dev/block/platform/msm_sdcc.1/by-name/pds of=/sdcard/pds.img
To restore in the event of corruption or loss:
dd if=/sdcard/pds.img of=/dev/block/platform/msm_sdcc.1/by-name/pds
(assuming you've pushed pds.img to internal SDcard storage first)
Once rooted, some of you may wish to stick with that and not proceed any further. With root, you will want to remove some of the apps that you don't need. I wish to suggest that you take a complete backup with a tool such as Titanium Backup. That way if you accidentally uninstall/remove something that's critical to android's operation, then you can restore it. For those of you, who wish to install custom Rom, read on.
The first step towards installing a custom Rom is to install a custom Recovery.
Please note, In order to flash any custom Recoveries, you need to have unlocked Bootloader. The viable options are either follow this guide or get an unlock code from Motorola.
Custom Recoveries -
A Custom Recovery is a unofficial Recovery Console that can be flashed to your device's Recovery Partition.
Typically unofficial recoveries offer several advantages over Stock or Official Recovery. Hence the unofficial recoveries are necessary in order to flash a Custom Rom. Apart from flashing a Rom, Kernel or any other firmware, unofficial Recoveries can also take Nandroids.
An unofficial Recovery is also commonly referred to as Custom Recovery. There are two major projects that contribute Custom recoveries. One is called CWM. The other is called TWRP. Given bellow is a list of Custom Recoveries available for your device.
Note - CWM and TWRP recoveries do not support the Google Play Edition variant (XT1032). You will need to wait for Motorola to release the Kernel source code before @a1Pha can support.However Philz Touch does support Google Play Edition.
Given bellow is a list of known Roms for Moto G. Most of the Custom Roms for Moto G require Unlocked Bootloader in order to flash via custom Recovery. Only in the case of Stock firmware or Stock based firmware, it will be possible to flash without unlocked bootloader.
If I miss on a Great Rom, let me know. AOSP ROMs - [KITKAT 4.4.x]
Android Open Source Project, commonly known as AOSP is a repository of Official Google Codebase for Android. Any Rom built from this code will provide a true Android Experience.
Unofficial release of CynogenMod 11 (4.4.2) for the Moto G. It is released only for GSM variants only. International GSM and US domestic (AT&T and T-Mobile) are supported. Please head over to the thread for details.
Following on the Traditions of Slim Rom, this unofficial port provides the same experience on Motorola G. As of 01-18-14, the rom supports only GSM Variants for EU, International and US. Please see the thread for more details.
This is a stock based Kitkat rom. It enhances the stock Kitkat firmware and hence the name. Please head over to the thread for details.
OTA Firmware (All variants) - [Kitkat 4.4.2] by @josalaito
The original 4.4.2 release for GSM version has been re-packed for all variants of this device. It now applies to US as well as international versions of the Moto G. Head over to the thread for details.
This Kernel offers a host of features and includes good collection of Governers and Schedulers. It is based on Linux 3.4.x. It is not Compatible with Stock Rom. Head over to the thread for more details.
This mod allows you to long press volume button to skip to the next Track or to the previous track. See the thread for details.
[Xposed] Framework Mods for Moto G - Xposed Framework is a new framework introduced to the AOSP world. It helps access and modify system settings on the fly that would have otherwise taken a lot of steps.
MotoGuide collection of Tweaks -
@Kameo has created MotoGuide, a collection of assorted appearance tweaks to modify Status bar and other changes. Please see the thread for more details.
Wakeup on Volume Up -
@dubidu has written a module to the framework that allows you to wake the phone by pressing the Volume Up button. See the thread for details. You do need the Framework installed as basic requirement. You may wish to also visit a list of all Xposed modules written. Note, not all of them will work with Moto G.
Modified Phone Apk displaying Caller photo - by @shaftenberg
This mod shows the full picture of the caller from your contacts instead of being cut off at top. See the thread for the screeshot and details.
I have a Moto G with android 4.3, and I want to root, but I can't.
Can you help me please?
I installed the moto driver, the java jdk, and I not find the android jdk.
What I find 480 Mb and there is no install file. /on windows 7 X84/
Toasts are delicious, even in their Android flavor. In Android, toast doesn’t lead … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?