- ZIP manager tool like 7zip
- smali (assembler/disassembler)
- APKTool/APK Multi-tool
Download a ROM (we use CM in this guide) of your choice (don’t forget to get the permissions for it modding from the developer) and extract it. When you extract it, you will see at least two folders and one file
- boot.img [this is not present in defy/defy+ ROMs so don't worry about it ]
NOTE THAT I AM ONLY GIVING DETAILS ABOUT THOSE FOLDER WHICH YOU CAN REMOVE/EDIT
THE \system\bootmenu\2nd-boot\ FOLDER
In this folder you'll find the kernel [zImage] file of the ROM here you can change it with the one you compiled or by others.
The Tts folder
The ‘TTS folder’ is all about Text-To-Speech. It contains all the files needed by the Android system to get Text-To-Speech working. If you are removing the TTS feature from your ROM, make sure you remove this entire folder and the TTS related apps from the ‘system folder’, as this will save a lot of space.
The WiFi and Usr folders
The WiFi folder contains the drivers required by the WiFi module to function. So i strongly recommend NOT to touch this folder. If you delete any file from this folder, you will mess up the WiFi functionality.
The usr folder contains some miscellaneous but very important stuff. It may contain anything and everything needed by the Android operating system. For instance, this folder contains all the key-mapping. If such files are messed with, your device will be non-functional although it will boot.
The build.prop file is pretty self-explanatory. Here, you can change the most basic things, like the android version that setting shows. Wondered how people are making 2.3.4 look like 4.0.3 in settings? Its build.prop. Also,you can change what ‘About phone’ shows here.
Other things,you can change things like,how long your wifi scans,how much battery your phone saves while in sleep, Dalvik VM heapsize and default ringtones. If you are wondering what # stands for, it signifies that, the particular line is commented out, and the system does not read it. You can use it add comments to the build.prop. This helps others understand, what is the function of a particular tweak.
A guide for some basic build.prop tweaks can be found here.
Please be aware that, these build.prop modifications are not universal. So, you will have to experiment with the tweaks and their values.
The META-INF folder
This folder contains instructions for the Android Recovery about how to work with the files present in the zip. This folder contains many folders, but the only one we need to edit is the update-script file.
Making Flashable ZIP
In order to create a flashable zip, first zip the ‘system, META-INF’ folder and the ‘boot.img’. Let’s name this zip as ‘update.zip’. Next we need to sign the zip. Get a signer here. Put your update zip in the same folder as the signer. Then run the ‘signer.bat’ file. This will sign your zip file. After the signing process is complete, you can change the name of the zip to your liking.