[Galaxy S I9000 Android Development] Bec07:
Advanced users customizing tutorial

I made this tutorial because I like to have my personal All-in-one firmware that only installs the apps I like and doesn't require .zip addons to be flashed via CWM or apps to be uninstalled after the rom has been installed.
​

Prerequisites:

7zip archiving program

Customizing DOC's rom with only the files you want!

Create a copy of DOC's ROM.

You can open it with 7zip and start editing!

To obtain the extra files from DOC's addons all you need is to extract the .apk files from \system\app. No other files are required!

1) User apps

user apps are contained in \data\app

it is essential to have any .apk or a simple text file inside \data\app because the signing process deletes empty folders! maintaining \data\app is essential for the installation!

they can be easily uninstalled and will not survive a lag fix file system conversion unless you back them up.

you can paste here any non-system apps you might want to uninstall later or delete the ones you don't need

if you wish to remove them all DO NOT remove the \data\app folders!

2)System apps - see post #2 for packages, detailed description by nitr8 over here

system apps are located in \system\app

persistent apps that can not be uninstalled without extra software (like titanium backup)

this is the folder where you can paste the .apk files from the addons or those you find essential.

you can also replace ADW Launcher (org.adw.launcher.apk) with the launcher of your choice; MAKE SURE YOU HAVE A LAUNCHER OR THE DEVICE WON'T BOOT!

if you're sick of the startup wizard not letting you to use your device on the "first" boot, you can safely remove "PhoneSetupWizard.apk" (my choices for this were: Root Explorer, MarketEnabler, Memo.apk(required by the SMS app if you check it's menus), ScreenCaptureService and ThinkDroid (documents editor)

3) Framework files - aka Lockscreen and shutdown menu (get them from post #2)

framework files are located in \system\framework (both in the rom and in the addon.

to apply the modification of your choice extract the files from the addon (\system\framework) and simply drag and drop them in \system\framework of dok.zip (that you have previously opened with 7zip) (in my case I just added framework-res.apk, android.policy.jar, framework.jar and voila! the AOSP lockscreen and the advanced shut down menu were there without having to flash any extra ZIPs or CWM installs!)

4) Special APKs - aka keyboards

Keyboards are like simple APKs but they contain an extra file in \system\lib

you only need one of these, I always use Swype, so I chose to remove the sammy keyboard: system\lib\libXt9core.so, system\app\AxT9IME.apk

and replace it with the Swype one made from your ROM (JPA or JPO, see post #2) system\lib\libSwypeCore.so, system\app\Swype.apk

5) Kernels and modems

they're located in the "\updates" folder

simply open in 7zip replace zImage (and redbend_ua if it was in the archive with the desired kernel)

modem.bin is responsible for how your device behaves regarding GSM, calls and Wi-Fi signal. I have had calls breaking up with XXJP* modems, so my choice so far is the one from BUJP8.

6) All done;) If you get stuck or have any other questions, please PM.
​

I've made signing a breeze but this step is not required with CWM. Also I'm looking for better signatures than the self generated ones.

Prerequisites:

Signing Kitchen.7z

PART I - siging a .zip file

Step 1

Use Signing Kitchen\bin\1) Generate Certificate.bat to generate your own cert.

-only has to be done once

-use whatever you wish, when prompted for passwords just press enter.

-do not use the same cert to sign modified .apks or you will get UID conflicts and all apps at boot will FC.

-this is a one time procedure that doesn't have to be repeated for every ROM.

-"2) Sign my ROM.bat" will be used later, once your ROM is customized

-note that you'll have to rename the firmware you wish to sign to dok.zip; the signed outcome will be called doku.zip

PART II - sign your .zip and proceed normally with installation

Just paste the edited dok.rom in the Signing Kitchen\bin folder and click Sign my ROM.bat.

-seconds later you will obtain the doku.zip that is signed and you can install it same as any of the other DOC's roms.

Enjoy your customized custom ROM!:D

1.1 Simplified tutorial

1.2 Fixed batch file error, thanks rene_r

1.3 Added kernel tutorial just in case you didn't think it was this easy

1.4 Workaround for data/app error, you must have any file inside \data\app so it doesn't get deleted, thanks Casio1987