[Android Q&A, Help & Troubleshooting] stephendt0:
Hey guys,

Firstly, not sure if this is the right place to ask, but I thought it would be about right.

I'm currently undergoing a project to help Android users get the best out of their device. A lot of my friends and clients (I run a small computer shop in my neighbourhood) have come to me asking me if I can fix or upgrade their Android device, especially after I show them how clean and functional ROMs such as Cyanogenmod AOSP can run on older devices such as my old Samsung Galaxy S and S2, instead of the bloated touchwiz and sense garbage most people are forced to use.

Over the past 4 months or so, I have been working hard on trying to create my own ROMs for a range of devices. The goal is to keep it as close to Cyanogenmod released as possible, and add in a few extras to make it easier and better to use, such a better launcher (apex), extra apps for more functionality, folder organiser for apps, a neat homescreen layout, and a number of tweaks in settings. I do this across several devices and document it all, and I am currently building a user guide to help total noobs love and android to its full potential. I try to make each device work and feel the same to ensure that my user guides that I create are universal across all the devices I work on. At the moment I'm working only on smartphones.

At the moment, this is my current process for setting up a device, in a simplified form:

Firstly I root and install a custom recovery on a device (easy peasy)

I then test a few ROMs such as AOSP builds and Cyanogenmod to find most stable and best daily driver ROM.

Copy over my "toolkit" onto the SD card which includes the original ROM files, gapps, wallpapers, user guide, and other apps such as Titanium backup. Depends on the device/version of Android though

I then setup my specialised google account which just has titanium backup pro purchased

Depending on the version of Android and the characteristics of the device, I will copy over a Titanium Backup archive I've prepared already for that type of device. When I don't have this prepared, I'll use a similar Titanium Backup achive i've used before and then make a new backup archive when I'm finished modifying the ROM

The titanium backup is restored and everything is installed.

The homescreens and widgets are then setup to my liking

I then do a cleanup of the ROM, remove my google account I use to access Titanium Backup (at least on ICS and JB, GB uses a different method entirely), delete apps included in the ROM which are not needed (extra launchers, homescreen tips etc)

I then make a Nandroid backup once it's ready for action to make it much easier for the next time I setup that particular device

Unfortunately, this is a pretty time-consuming process, and updating ROMs can be very time consuming as new ROMs are released and I'm forced to do a clean install for stability.

I'm just throwing this post out there to see if any developers who know the Android framework better than I do might have any advice on how to streamline this process. I've done some Java programming in the past so I'm not scared of a little (I'm not great with it) bit of code. I'm supporting over 15 devices now and I've made over 25 custom ROMs and I just feel that there might be a faster way of doing this as it's taking a LOT of my time by doing things manually. Any advice would be greatly appreciated.

Cheers!