[Moto G 2015 General] Chronzy:
For stock rooted/TWRP users, this is a step-by-step process of manually updating your Moto involving flashing stock firmware, updating, and restoring TWRP, root, and apps afterwards.

Benefits:

**It's really simple- once you get familiar with this process, you can do it fairly quickly.

**Take the time to read through and get everything set up and you'll be set for future updates.

**No begging the internet for flashable zips.

Preface:

So my situation is i'm running stock, bootloader unlocked, rooted, and xposed on my US XT1540 2GB Moto G. I went through the process this morning of updating to the new 23.46.4 update. Thought I'd share what I did for anyone out there wanting to update with questions ; hopefully some can be answered here. I'm familiar with flashing firmware files from my previous Moto X's '13 & '14 so trust me it's not a big deal to flash back stock firmware to update. This process should be applicable to any variant of the Moto G and and to any future updates as well, not just the one mentioned here as of 09/19/15. Just be mindful of your phone's version and use the appropriate firmware.

1) BACKUP

First, make sure everything worth keeping is on your microSD. Flashing stock firmware will wipe your phones internal memory so pictures, music, downloads, SMS, etc need to migrate. Also make sure you have SuperSU and Xposed on your microSD for re-installation. This might be obvious for some and you might have everything going to your microSD (sdcard1, EXTsdcard) already, but one thing you might miss is Titanium Backup...

Save apps in Titanium to microSD: Menu>Preferences>Backup folder location>Click to change>Ext. SD card>Create a new folder>Use current folder

Nandroid in TWRP to microSD: toward the bottom click on "Storage: Internal storage" and choose "Micro SDcard"

If you're super smart, after making that backup you'll copy that to your pc.

2) DOWNLOADS

Get the most recent firmware for your device from lost101's firmware thread (thank him threads like this are so helpful)- http://xdaforums.com/2015-moto-g/general/index-moto-g-factory-firmware-images-t3169639

Download and install the drivers for you phone, I believe the generic android driver will work but you can also get them from Motorola Device Manager: https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/88481

Download mini-sdk.zip, attached to the the bottom of this post. Useful light weight sdk containing adb & fastboot which should cover all your flashing needs. If you're not developing apps, full blown android sdk is bloatware ;)

3) SETTING UP ADB/FASTBOOT

Enable USB debugging in Developer options

Extract mini-sdk.zip to a folder. Extract and add the contents of your firmware to that folder.

Open a cmd prompt on the mini-sdk folder (shift + right click, "Open Command Window Here")

Let's verify that adb sees the device:

adb devices

Should see "XXserial#XX device". If you get "offline", be sure to check your phone for the adb authorization dialog.

We're ready to flash firmware so reboot into fastboot:

adb reboot bootloader

4) STOCK FIRMWARE INSTALLATION

Once phone is in fastboot, enter the following commands in the cmd prompt (open on the mini-sdk folder containing the firmware files) one at a time. Let the current flash command finish before entering the next, especially at the img_sparsechunck steps because they take a 10-15 sec each. Also make sure all of the filenames match what you have; substitute accordingly.

fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.mbn
fastboot erase cache
fastboot erase userdata
fastboot reboot

5) UPDATE

When you reboot, if you don't get prompted for update check for it- About phone>System updates

Download & install update

When update is finished and phone boots back up, enable Android debugging in developer options.

6) FLASH BACK TWRP/ROOT/XPOSED

Place TWRP img file in mini-sdk folder. Boot back into fastboot and flash TWRP.

adb reboot bootloader

fastboot flash recovery twrp-osprey-2.8.7-test1.img

Vol up/down in bootloader to boot recovery.

Once in recovery flash Supersu & xposed (optional of course) from your microSD and reboot.

Install Titanium from play store, go back into preferences and point to backup folder on the microSD and restore apps.

When xposed and modules are reinstalled through Titanium, you will need to reboot to enable. After that you'll need to tweak your preferences in system options like notifications or display, but any settings in modules (like gravity box) will be restored as long as you backed up app+data in TB. Easier than a custom rom clean flash in that aspect.

So that's it, with that you should be back up and running. Let me know if I missed some steps or if you have questions about the process.

*****

BTW, Installing xposed from scratch for those confused on what files to do what with: http://xdaforums.com/show....php?t=3034811

Flash this one in recovery: xposed-v74-sdk22-arm.zip (or most current)

Install this apk after you reboot: XposedInstaller_3.0_alpha4.apk (or most current)