[Vibrant Android Development] Etrnaly:
If you're like me, you probably have installed a new ROM at least once a week. I usually use Titanium Backup to restore all my Apps, but it takes quite a long time since I use a lot of Apps. Also, if you don't have the Pro version of Titanium Backup, you will need to click through the Install button for every App you want to install.

This program is a simple way to fix that. What it does is it injects you Apps as part of the ROM when you install a new ROM. This way, as soon as you install your ROM, your Apps will already be installed as part of the ROM.

I have only tried this with the latest Team Whiskey Onyx ROM, but it should work with most, if not all ROMs.

Also, not all Apps can be installed this way, especially if you try to include the data. YMMV.

INSTRUCTIONS

Prepare your computer

1. Install Java JRE and SDK.

2. Install 7-Zip. It can be found here: http://www.7-zip.org/

3. Download Testsign.jar. It can be found here: http://www.robmcghee.com/android/creating-an-android-update-zip-package/. Download the file "Testsign.zip" and extract it. Testsign.jar should be in there. You will need this later.

4. Set up your windows Path Environment.

a. Go to your Control Panel and open "System."

b. For Windows 7, you will need to click on "Advanced System Settings."

c. Go to the "Advanced" tab.

d. Click on the "Environment Variables" button.

e. Under "System Variables" find "Path." Select it and click on the "Edit" button.

f. A window should pop up a field for "Variable value." In there, you will want to add your 7-Zip and Java SDK bin path. At the end of "Variable value," add (without the quotes)

";C:\Program Files (x86)\Java\jre6\bin;C:\Program Files\7-Zip"

It might be slightly different for you if you're not using a 64-bit Windows. Basically, this step is to allow you to run the Java and 7-Zip command-line tools from anywhere in your system.

5. Reboot your computer.

6. Test to make sure you can run the Java tools and 7-Zip tools. Do this by running "cmd." A command-line prompt should appear. In there, type "java" and hit enter. The usage info for running java should appear. Now type "7z" and hit enter. The usage info for 7-Zip should appear. Your computer is now set up to run my batch file.

Prepare your Apps

WARNING: Not all Apps work using this method, and not all data can be restored using this method. If it doesn't work, you can restore it using Titanium Backup and it should work fine. Once you find that a certain App doesn't work, you should probably remove it from your App/Data folder (read below) so it doesn't install next time using this method.

1. Get all your APKs and data. The easiest way I know how to do this is by using Titanium Backup to make a backup of all my Apps.

2. Use Titanium Backup and back up your Apps.

3. Inside your SD Card, you should have a TitaniumBackup folder. All your Apps and data are in here. Every App you have backed up in Titanium should have 3 files. A .properties file, a apk.gz file, and a tar.gz file. The apk.gz file will contain your APK. The tar.gz file will contain your data. You can extract these files using something like WinRAR.

4. Extract your APKs and put them in a folder called "data\app". Extract your App's data and put them in a folder called "data\data". Your "data\data" should look something like this "data\data\com.appname".

5. Once this is complete, you can use this APK/data set for any future ROMs.

Create your ROM with your Apps

1. Put AppToROM.bat, testsign.jar, your data folder, and your ROM's zip into the same folder.

2. Drag your ROM's zip onto AppToROM.bat.

3. The batch file will now start creating your new ROM for you. It will do the following steps:

a. Extract your ROM.

b. Copy your data to the extracted ROM folder.

c. Zip everything back up.

d. Sign the new Zip.

4. When everything is done, you should have a "NewROM.zip" file. Use this new Zip file to install your ROM like you normally would.

Disclaimer:

I take no responsibility for any harm that this may do to your device. All of the tools here, except the bat file, I did not write. I just created a bat file that puts all the tools together to make it easier to install your Apps after installing a new ROM.