[Guide]Complete Android ROM development and essential tutorials ~~ By Nero Young ~~ - Android Software Development

Hi,
If you willing to learn to build custom ROM then you should have following things
Basic Knowledge about handling Command Promt
Basic Windows software knowledge
PC with all tools properly installed
And a mobile with bootloader unlocked
This tutorial is for "Windows OS (Windows 7 x64 in my case)" And Android 2.3+ OS (2.3.4 GingerBread in my case).
But Dxda Kitchen also supports Ubuntu/Linux and also can support Ice cream sandwich
In this whole post you will learn How To -
Make custom ROM - Done
Unpack .ftf packages - Done
Use Cygwin - Done
Setup Android Kitchen - Done
Edit .apk files - Done
Edit .jar files - Done
Edit .9.png files - Done
Rooting System - Done
Writing scripts
Making flashable zips - Done
Porting apk software
A2SD Techs - Dropped ( Outdated now )
Editing build.prop - Done
Editing init.d tweaks
Information of every customizable file
Making Hosts
apn configs
editing boot.img
converting png to rle or vice versa
Writing updater-script
Making Aroma Installer
How to set default Settings after ROM installations
more and more things to arrive
Tools Required : (Update them manually and report me dead links please)
Download the tools as per your need.Link is given in the name itself below....
Flashtool - For Flashing stock ROM if anything goes wrong (Download link in the installation tab of website)
apktool Direct Download- for editing apk files and jar files (you can use APK manager but apktool is simpler)
Cywign Direct Download- Linus Terminal For Windows
ROM Kitchen (ROM Development Tool) Direct Download- For Cooking custom ROM + boot.img related tools - to edit boot.img files (Its inside the ROM Kitchen Files, Please update this Kitchen to latest version its out dated now,for this use inbuilt updater of kitchen)
Official Link to kitchen dxda Kitchen - Official Thread and Github source Please refer FAQ on official thread for Kitchen related problems
ftf-extractor Direct Download- It will extract system files from the ftf package which you will use to make your ROM
fastboot Direct Download- For flashing kernel to your device
DoomLords Easy Root Kit v4 Direct Download- To Root Stock/Custom ROM
Demo META-INF Folder Direct Download- For Making Flashable zip files
DroidExplorer - For advance tools regarding real time phone memory handling through windows.
Flashable Zip Demo Direct Download- For those who want to just apply some stuffs through CWM
Customized build.prop demo - Download Build.prop
Post #9 download link - All In One Tweaker By Nero Young
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Special Thanks to -
dsixda for his awesome kitchen Please Hit Thanks button for him
DooMLoRD for providing root files
Please kindly remind me if i have forgotten to write your name in thanks section, i have collected all things from many many sources and with modification.

Tools Overview​
Introduction​
This video gives information about the basic tools for ROM development.
Tools will be uploaded once the tutorial is completed.And the links will be posted in 1st post.This tutorial is for all kinds of devices.No matter what your device is ... you can use this tutorial...
Though ftf files are only for Xperia devcies which are used in flashtool to flash stock ROMs to Xperia devices.If you have other device the don't get confused if you will not ftf file for your device.Try other sources to get system files.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Settings Up Cygwin And Kitchen​
This video teaches you how to setup Cygwin And Kitchen.The softwares told in this video can be downloaded from first post
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Setting Up Remaining Tools (ftf extractor,flashtool,fastboot etc)​
This video teaches you how to setup all remaining files and folders...
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Getting System Folder​
Universal method for obtaining system folder (Root needed)​This tutorial guides you how to extract system folder from .ftf packages and get system folder for your custom ROM easily.
For this we have used ftf extractor.
Though you can flash your device,install stock ROM root it and then copy all system file to SD Card and get the system folder.This is universal method and can be done easily using terminal emulator.
For this simply download Terminal Emulator from Android Market.
Install it on your freshly flashed device as stated above.
Open it and type:
su
This will give root permission to your terminal emulator.
Then type:
tar -c system/* >> sdcard/system.tar
This will copy all your /system folder to your SDcard with name System.tar
This will take some time to finish so be patient.
After it's done you should have a tar file in your /sdcard named system.tar
You can extract it using Winrar or 7zip software. But yes this will have huge size , as it has other useless folders so you will have to delete them. After extracting this system.tar file you will get following folders (Similar one)
Code:
/app
/bin
/etc
/fonts
/framework
/lib
[COLOR="Red"]/lost-found[/COLOR]
/media
[COLOR="Red"]/sd[/COLOR]
/semc
/usr
/xbin
build.prop
[COLOR="Red"]And some other files and folders like ""autorooted,kernel files" etc[/COLOR]
Now simply delete the folders marked in red color and its done.Don't worry if you don't have folders with red colors above,we don't need them.
And the final files that we will have in our system folders will be
Code:
/app
/bin
/etc
/fonts
/framework
/lib
/media
/semc
/usr
/xbin
build.prop
Now thats all...
Use this pre rooted ROM as your base now and have fun in tweaking and customizing .... Hope this is simplest method that you could ever find...
Click to expand...
Click to collapse
Extracting .FTF File
Only For GB ROM AND XPERIA DEVICES !​Try this method if ftf extractor is failing for ICS. And note that ftf files are only for sony models.
You can optinally try flashtool to edit .sin files from ftf files. Just install latest flashtool and go to advance menu. then choose sin file editor, choose desired ftf file and then dump the system folder.
Another methods to get system folder.
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Working With Android Kitchen​
Getting Started​This tutorial will tell you how to setup working folder in kitchen and how to root your ROM,change name,add busy box etc.
This is pre requirement on ROM development.So this video will continue after total customization is done !
After this video you can jump to next post to proceed with customization and then come back to setup to second video in this post so you can continue packing of system folder in flashable zip
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Finalizing ROM​This video shows you how to finalize making zip file of your ROM and use it for flashing.
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Working With APKTOOL​
Editing .APK Files​​
This video teaches you how to setup APKTOOL folder as well as teaches you how to edit .apk files.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Editing .JAR Files​In this next video you will get information on how to edit .jar files like services.jar using APKTOOL.
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Customization Tutorials​
Dealing With .9.png Files​​
This video teaches you how to edit draw9 i.e .9.png image files easily without any errors.
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Performance,Battery Life Using Build.prop Tweaks!​
Editing Build.prop​​
This video will guide you for editing build.prop of your device but make sure you don't copy my build.prop.Edit yours build.prop and use syntax from my build.prop
Here is download link for you - Download Build.prop
Click to expand...
Click to collapse
Click to expand...
Click to collapse

GIMP Tutorial
Using GIMP For Editing Images​
Refer This Thread !​​

Remaining posts​
This post contains​​
Editing init.d tweaks
Making Hosts
apn configs
How to set default Settings after ROM installations
Download Link in 1st Post
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Reserved for more work 9

Looks super awesome MSN, just what I've been looking for! Gonna have a closer look when I'm out of bed
Sent from my Desire HD using XDA

Very nice!!! This is the first time I have searched for Android ROM development and look what I find, the KING, of all Android ROM development posts! Thank you SO much for the time you have put in to this...

Very nice, will take a look at it for a nice refreshment.

Looks pretty good and detailed, nice guide.

How about finding another file host. I don't like being forced to download crap that I don't need.
"The way is known to all, but not all know it."
Sent from my modded LG-P506 using XDA App

Here is how tolearn to compile rom from sources if anyone is interested http://forum.xda-developers.com/showthread.php?t=1667551
Sent from my Optimus Me using xda premium

Awesome Tut!
Waiting for more!
Just great!

Thanks a lot for awesome Tut.
In the ftf-extractor.rar i found only the aIUP.exe. what about the other file 'SKI7i.....ftf'
Also when i execute the './menu' in the cgwin/kitchen folder, i have "error: The application "clear" is not installed ...

wilowfr said:
Thanks a lot for awesome Tut.
In the ftf-extractor.rar i found only the aIUP.exe. what about the other file 'SKI7i.....ftf'
Also when i execute the './menu' in the cgwin/kitchen folder, i have "error: The application "clear" is not installed ...
Click to expand...
Click to collapse
That SK17i...ftf package is stock firmware for my Xperia Mini Pro.By opeing it i have extracted system.sin file.
You will need ftf package of stock firmware of your Galaxy3 as you mentioned in your signature.
Also re install cygwin Completely and add kitchen files in cygwin/home/<YourUserNameOf PC>/kitchen to remove that error.

Great!! Thank u!!!

Related

[SCRIPT/TOOL](Updated 10/22)Auto-deodexer 1.2.8 for the Captivate (Froyo-Gingerbread)

***I added some minor reliability improvements, by including more error checking, seems to run pretty smooth***
I've been playing around with making a deodexer script and having some issues, did a google search and came across these two posts.
http://forum.xda-developers.com/showthread.php?t=598026
http://forum.xda-developers.com/showpost.php?p=5775540&postcount=57
So I merged what I had with theirs and modified it to work on the Captivate ROM's.
I thought it would be a useful tool to have and thought I would share with anyone interested in deodexing their own stock ROM.
Why would you want to deodex your own ROM when you could download somebody elses? Something to do I guess.
It deodexes the app and framework folders in three passes, the first pass does the files that don't require a specific boot class path, the second pass deodexes the files that do require a boot class path and the third does a check for any files the for-do loop may have skipped.
It takes approximately 10 to 30 minutes to complete, depending on your computer, but considering that it took me almost a day to deodexed a ROM manually, , thats not so bad.
It can pull a stock ROM from your phone and deodex it, using adb or you can extract a factoryfs.rfs file and place app and framework folder into the app and framework folders for the script.
It also has a batch zipalign tool for when its done deodexing.
You have the option to select boot class paths for Captivate i897 (gingerbread or froyo), or you can input a custom boot class path string.
Extract the Deodexer_i897.zip to a folder that does not have spaces in the name.
Pull the system from your phone or add your app and framework folders to the extracted folder for the deodexer.
Then just doubleclick on deoall.bat and your off and running.
I included a Readme file with instructions.
You have to have the Java sdk and samsung usb drivers installed on your computer for it to work.
The script is a windows batch file and was modified on Windows 7. I assume it will work on XP as well, but haven't tested it.
I've tested it on:
i897 - KB1, KF1, KH3, KI1, KI2, KJ1, KJ2, KJ3, KK1 and KK2
Rogers - KH2
i9000 - JVO, JVR and JVS stock ROMs.
I've flashed and tested KF1, KH3, KI2, KJ1, KJ2 and KJ3 on my phone with no problems.
(Remember, stock KH3 - KJ3 do not have any ringtones so you will have to copy them to the media/audio folder from another ROM)
Note: Remember to check the app and framework folders for files that got skipped. If there is, try running the deodexer again just to make sure it just wasn't a glitch.
Thanks and credits goes out to Daneshm90 and crzyruski for the deodexer scripts and JesusFreke for giving us baksmali-smali and not to forget, Igor Pavlov for 7zip.
UPDATE- I'm adding a basic clockworkmod flashable script template that you can pop your system into. It includes redbend_ua, wipe, busybox, su and superuser.apk for root. You will have to add a kernel (zImage) and the appropriate modem (modem.bin) to the updates folder.
You will have to flash an update.zip (Froyo) http://forum.xda-developers.com/showthread.php?t=734163
or flash a kernel tar using odin, that has clockwork mod baked in (Gingerbread), and will need to add a cwm modded kernel to the update folder in the template if you want to keep clockwork mod recovery (Gingerbread). The template will not work with special kernels that have scripting included such as init.d, you will have to flash special MOD kernels that contain scripts, afterwards.
*****CAUTION:This is a full wipe template so be careful and know what you are doing.*****
***Fixed the Core_ROM.zip so it will install the modem and kernel, plus added the wipe script.***
It is beyond the scope of my talents and time to completely teach someone how to do all of this, but google is your friend when it comes to learning this stuff. There are allot of resources out there to help you accomplish your task. I'm just merely supplying some basic tools for you.
TOOLS
Notepad++ works great at editing the updater-script in the META-INF folder.
And the smali and xmls in the apks and jars.
http://notepad-plus-plus.org/
And Apkmanager is great to decompile and compile apk and jar files - Thanks raziel23x
http://forum.xda-developers.com/showthread.php?t=1227179
Just add .apk to the end of the .jar, do your modding, change it back to jar when you're done, works great.
Plus raziel23x has a new apk multi tool that is still in beta but is worth watching http://apkmultitool.com/
Also for those that want a free alternative to Photoshop to modify your graphics, there is a great program called Paint.Net http://paintnet.org/
If you are serious about MODDING here is another valuable tool, Beyond Compare available here $$ http://www.scootersoftware.com/
And this is a valuable reference for those interested in Modding
http://forum.xda-developers.com/showthread.php?t=822311
KERNELS
For KF1 I found this link for the cog5-beta2-kernel.tar, thanks to designgears. http://ftp.captivate.org.ua/samsung/captivate/2.3.x/2.3.3/ROM/cognition_5/
And of course, for KH3 and KI1-KI2 use Boogs kernel available here http://forum.xda-developers.com/showthread.php?t=1242533
For KJ1, KJ2 and KJ3 use Boogs kernel here http://forum.xda-developers.com/showthread.php?t=1294849
***The script has been updated to include the boot class path as an option, instead of having to copy and paste the whole thing, so the Bootclass_path.txt file is no longer needed... Thanks to ralphreyes ***
**NOTICE: due to the nature of DOS (Windows) environmental variables, the deodexer needs to be extracted to the root folder, or any folder it resides in, can't have a space in its name. e.g. Android SDK as opposed to Android_SDK***
As always, I am not responsible if it messes up your phone.
I hope someone finds this useful.
***NOW ITS FINAL***
This is awesome !! Thanks for sharing.
I will have to check this out when I get time this weekend...or sooner.
What about an odexer?
I would like to odex the ROM on my phone after I get my desired modifications in. Any chance on an odexer script?
Thanks I've been looking for an easy way to deodex my own stock rom. I will put it to good use.
Sent from my SAMSUNG-SGH-I897 using XDA App
gibson3659 said:
I would like to odex the ROM on my phone after I get my desired modifications in. Any chance on an odexer script?
Click to expand...
Click to collapse
Odexing is a little tricky, I haven't found a compiler to do that, something exclusive to google and phone manufacturing developers. Though the performance of an odexed ROM is so slight over a deodexed one, it probably wouldn't be worth it.
Nice job on the "Read me".
Will be trying my hand at this asap...
thanks again
4-2ndtwin said:
Nice job on the "Read me".
Will be trying my hand at this asap...
thanks again
Click to expand...
Click to collapse
Thanks, let me know how it goes. I did three more ROMs after I fixed it and flashed two of them and had no problems. When I get home tonight, was going to add an option to root plus will upload some templates for cwm recovery.
Sent from my SAMSUNG-SGH-I897 using XDA App
crt60 said:
**NOTICE** I added another deodexer for high performance computers with quad-core or high end dual core processors, even though the original deodexer works fine, because the script would run so fast, it can produce errors, or skip files because of possible memory segment overlap, causing null pointer exceptions, so I added a 3 second pause between each operation to solve this issue. It only adds a minute or two to the deodexing time, but should add reliability and integrity to the deodexed ROM -> Deodexer_i897x.zip
I've been playing around with making a deodexer script and having some issues, did a google search and came across these two posts.
http://forum.xda-developers.com/showthread.php?t=598026
http://forum.xda-developers.com/showpost.php?p=5775540&postcount=57
So I merged what I had with theirs and modified it to work on the Captivate ROM's.
I thought it would be a useful tool to have and thought I would share with anyone interested in deodexing their own stock ROM.
Why would you want to deodex your own ROM when you could download somebody elses? Something to do I guess.
It deodexes the app and framework folders in three passes, the first pass does the files that don't require a specific boot class path, the second pass deodexes the files that do require a boot class path and the third does a check for any files the for-do loop may have skipped.
It takes approximately 10 to 30 minutes to complete, depending on your computer, but considering that it took me almost a day to deodexed a ROM manually, , thats not so bad.
It can pull a stock ROM from your phone and deodex it, using adb or you can extract a factoryfs.rfs file and place app and framework folder into the app and framework folders for the script.
It also has a batch zipalign tool for when its done deodexing.
You have to manually add the boot class paths at the beginning when prompted, but I included a text file that you can just copy and paste the appropriate boot class paths into the script. I did that in case of future or other ROMs, so the boot class paths could be modified.
Just doubleclick on deoall.bat and your off and running.
I included a Readme file with instructions.
You have to have the Java sdk and samsung usb drivers installed on your computer for it to work.
The script is a windows batch file and was modified on Windows 7. I assume it will work on XP as well, but haven't tested it.
I've tested it on KB1, KF1, KH3, KI1-KI2, KJ1, KJ2, KJ3 and Rogers KH2 stock ROMs.
I've flashed and tested KF1, KH3, KI2, KJ1, KJ2 and KJ3 on my phone with no problems.
(Remember, stock KH3 - KJ3 do not have any ringtones so you will have to copy them to the media/audio folder from another ROM)
Note: Remember to check the app and framework folders for files that got skipped. If there is, try running the deodexer again just to make sure it just wasn't a glitch.
Thanks and credits goes out to Daneshm90 and crzyruski for the deodexer scripts and JesusFreke for giving us baksmali-smali and not to forget, Igor Pavlov for 7zip.
UPDATE- I'm adding a basic clockworkmod flashable script template that you can pop your system into. It includes redbend_ua, busybox, su and superuser.apk for root. You will have to add a kernel (zImage) and the appropriate modem (modem.bin) to the updates folder.
You will have to flash an update.zip (Froyo) http://forum.xda-developers.com/showthread.php?t=734163
or flash a kernel tar using odin, that has clockwork mod baked in (Gingerbread), and will need to add a cwm modded kernel to the update folder in the template if you want to keep clockwork mod recovery (Gingerbread). The template will not work with special kernels that have scripting included such as init.d, you will have to flash special MOD kernels that contain scripts, afterwards.
*****CAUTION:This is a full wipe template so be careful and know what you are doing.*****
It is beyond the scope of my talents and time to completely teach someone how to do all of this, but google is your friend when it comes to learning this stuff. There are allot of resources out there to help you accomplish your task. I'm just merely supplying some basic tools for you.
TOOLS
Notepad++ works great at editing the updater-script in the META-INF folder.
And the smali and xmls in the apks and jars.
http://notepad-plus-plus.org/
And Apkmanager is great to decompile and compile apk and jar files - Thanks raziel23x
http://forum.xda-developers.com/showthread.php?t=1227179
Just add .apk to the end of the .jar, do your modding, change it back to jar when you're done, works great.
Also for those that want a free alternative to Photoshop to modify your graphics, there is a great program called Paint.Net http://paintnet.org/
KERNELS
For KF1 I found this link for the cog5-beta2-kernel.tar, thanks to designgears. http://ftp.captivate.org.ua/samsung/captivate/2.3.x/2.3.3/ROM/cognition_5/
And of course, for KH3 and KI1-KI2 use Boogs kernel available here http://forum.xda-developers.com/showthread.php?t=1242533
For KJ1 and KJ2, use Boogs kernel here http://forum.xda-developers.com/showthread.php?t=1294849
As always, I am not responsible if it messes up your phone.
I hope someone finds this useful.
***Fixed Root***
Click to expand...
Click to collapse
thanks for your work ,so i can build my own rom by myself with less work
crt60,
Didn't get a chance to try this out last weekend. I hope to get to it this Sat. I'll give u some feed back afterwards.
Appreciate the work u are doing and sharing.
Sent from i897uckj3
How can I extract a one-click .exe stock ROM?
Thansk.
chappatti said:
How can I extract a one-click .exe stock ROM?
Thansk.
Click to expand...
Click to collapse
You can't that I know of, it is a microsoft mfc program and I haven't found a decompiler for it. You will have to find the original odin tar file
Sent from my SAMSUNG-SGH-I897 using XDA App
crt60 said:
You can't that I know of, it is a microsoft mfc program and I haven't found a decompiler for it.
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Thanks for your quick reply !!
One thing is not clear in your reademe? Do I need to run the deodexer from the stock ROM folder, or do ineed to edit my win $path.?
chappatti said:
Thanks for your quick reply !!
One thing is not clear in your reademe? Do I need to run the deodexer from the stock ROM folder, or do ineed to edit my win $path.?
Click to expand...
Click to collapse
Copy the app and framework folders in system into the deodexer folder and merge with the app and framework folders already there.
Sent from my SAMSUNG-SGH-I897 using XDA App
crt60 said:
Copy the app and framework folders in system into the deodexer folder and merge with the app and framework folders already there.
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
I have checked the updater-script and found it doesn't extract the 'updates' folder ,so the zImage and modem.bin can't be installed
q659503934 said:
I have checked the updater-script and found it doesn't extract the 'updates' folder ,so the zImage and modem.bin can't be installed
Click to expand...
Click to collapse
I will check it out when i get time
Sent from my SAMSUNG-SGH-I897 using XDA App
crt60 said:
I will check it out when i get time
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
I just add the script
ui_print("");
ui_print("extract files...");
package_extract_dir("updates", "/tmp");
set_perm(0, 0, 0777, "/tmp/redbend_ua");
i think you could build a ROM template ,it's more useful.
Yep, you're right. I must have accidentally deleted that, when I removed the wipe program, trying to simplify the script. It has been fixed, plus I went ahead and added the wipe script back in. Thanks for your input...
Sent from my SAMSUNG-SGH-I897 using XDA App
I thought I would make it a little easier on your script by adding a couple extra lines to the 'deoall.bat' file so the bootclass path is included within. When it prompts you to enter the bootclass path, you can enter 1 for GingerBread, 2 for Froyo, or you can just enter your custom one.
Replace the line that starts with
Code:
set /P INPUT=Enter BootClassPath (ex 1.jar:2.jar:3.jar): %=%
with the following:
Code:
echo Enter BootClassPath: 1=GingerBread, 2=Froyo,
set /P INPUT=or custom (ex file1.jar:file2.jar:file3.jar): %=%
IF %INPUT%==1 (set INPUT=core.jar:bouncycastle.jar:core-junit.jar:twframework.jar:services.jar:framework.jar:seccamera.jar:javax.obex.jar:com.google.android.maps.jar)
IF %INPUT%==2 (set INPUT=core.jar:twframework.jar:android.policy.jar:services.jar:framework.jar:seccamera.jar:javax.obex.jar:com.google.android.maps.jar)
Thank you for your excellent work crt60!!
ralphreyes said:
I thought I would make it a little easier on your script by adding a couple extra lines to the 'deoall.bat' file so the bootclass path is included within. When it prompts you to enter the bootclass path, you can enter 1 for GingerBread, 2 for Froyo, or you can just enter your custom one.
Replace the line that starts with
Code:
set /P INPUT=Enter BootClassPath (ex 1.jar:2.jar:3.jar): %=%
with the following:
Code:
echo Enter BootClassPath: 1=GingerBread, 2=Froyo,
set /P INPUT=or custom (ex file1.jar:file2.jar:file3.jar): %=%
IF %INPUT%==1 (set INPUT=core.jar:bouncycastle.jar:core-junit.jar:twframework.jar:services.jar:framework.jar:seccamera.jar:javax.obex.jar:com.google.android.maps.jar)
IF %INPUT%==2 (set INPUT=core.jar:twframework.jar:android.policy.jar:services.jar:framework.jar:seccamera.jar:javax.obex.jar:com.google.android.maps.jar)
Thank you for your excellent work crt60!!
Click to expand...
Click to collapse
Nice, I did make a script like that but thought it would be too confusing for those that use this for non-captivate ROMs. I'll update the link with the new code.
Thanks
could add option 3 , custom boot class list (as it is now) for other devices! or have them save it to a txt file in a list one per line and have the bat read the custom txt list

[GUIDE]Deodex An Application

Hey Guys,
This is a small tutorial for those who want to Deodex a Single Application manually.
Deodex And Odex:
The APKs or JARs of Android contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.It will make your faster theoretically even though it would be too small to notice.When deodexing the .odex file is changed to classes.dex file. Deodexing also allows us to theme and install mods.Many of the Stock Roms and CyanogenMod 7 roms are now odexed and to theme them or to add mods we need to have it deodexed. So lets learn how!!
Deodexing:
Preparation:
Hope you have Java Development Kit installed on your computer to run the scripts.Get it from: here.Select you OS from the list and download the suitable package.(We would need the full thing and not the Demo versions.)
Download the Attached .zip File
Extract its Contents to a Folder.(Extracting to a New Folder in the Desktop is Preferred for Ease)
We will name this Folder with the Extracted Contents as Deodex(or any name that you like)
Procedure And Explanations:
First of all copy the Application file that you need to Deodex.A Android Application file is the .apk file found in the system/app directory.Copy the .apk file and the .odex file of the application that you want to Deodex and paste in the Deodex folder(Folder to which the attachment's contents was extracted)
Now go to your system/framework directory and you can see a lot of .jar and .odex files in this folder and copy all its contents to the folder to which the attachment's contents was extracted.
Before doing anything more backup your rom and the application file(If anything goes wrong you can use it then)
To Deodex a application you need to specify its "BOOTCLASSPATH" files. BOOTCLASSPATH are files that contain the classes for an application or in simple language BOOTCLASSPATH files are those files that are required by a android application to run properly. They are actually those files that we have copied from the system/framework directory to our Deodex folder. There are mainly 5 BOOTCLASSPATH files for every android rom.They are: android.policy.jar , core.jar , bouncycastle.jar , ext.jar , framework.jar
All apps are dependent on these files but some apps are dependent on some other BOOTCLASSPATH files.So sometimes the problem is that we actually dont know to which of these files is a particular app dependent to.So we will have to specify all the BOOTCLASSPATH files or the .jar files in the system/framework directory.So problem solved!! Now enough with the theory class,lets proceed to the practical classes!!!!!
Open Command Prompt.
As an example we will Deodex Settings.apk
Type in this command in Command Prompt:
Code:
java -Xmx1024m -jar baksmali.jar -c :am.jar:android.policy.jar:android.test.runner.jar:bmgr.jar:bouncycastle.jar:
com.android.location.provider.jar:com.google.android.maps.jar:sonyericsson.suquashi.jar:
core.jar:corej-unit.jar:ext.jar:framework.jar:ime.jar:input.jar:java.awt.jar:javax.obex.jar:monkey.jar:pm.jar:
:services.jar:sqlite-jdbc.jar:svc.jar -x Settings.odex
Here:
-Xmx says the heap memory needed.In the above command it is given to 1024m. Sometimes deodexing may have errors due to the low heap memory.So set it to 1024m itself.
-jar baksmali.jar says the program to run baksmali.jar file.
-c says that the following files are the BOOTCLASSPATH files of the application we are deodexing.
-x says the name of the application that we are deodexing.It should end with .odex extension.
Note:
When you specify the .jar files just add all those .jar file names in the system/framework folder(only add the .jar files and not the .odex files).Ensure that you have added the .jar extension at the end of each file. Separate the .jar files with colon " : " symbol.
If you have made no spelling errors and have done everything mentioned you will get a folder named "out".
Now we have to smali the out folder into classes.dex file.
So again type in the Command Prompt:
Code:
java -Xmx1024m -jar smali.jar out -o classes.dex
Here:
-o says what the output file should me named to.Dont rename the classes.dex file into anything else.
Now you will have a file in our Deodex folder(Folder to which the attachment's contents was extracted) called "classes.dex".
Finalizing:
Now open the application's .apk file(which you were trying to deodex) with WinRar.
Move the classes.dex file that you got to this .apk file.(Just drag and drop it to the .apk file opened with WinRar.)
Now you will have a deodexed .apk file.
Note: After deodexing you will have to delete the .odex file of the particular application which you had deodexed.
I will make a guide to Odex back a Deodexed application soon!
Hope this guide helps you....
For any doubts or questions please post it here in this forum and I will try to attend to it.........
Re: Deodex A Single Application
Thanks bro..
Good tut..
sent from my phone using hands and brain...
thanks
Re: Deodex A Single Application
Good tut...
But quite long
Sent from my W8 using xda app-developers app
hey...nice tutorial and nice explanation :good:
thanks
Re: Deodex A Single Application
But helpful too...
sent from my phone using hands and brain...
Gogeta said:
Good tut...
But quite long
Sent from my W8 using xda app-developers app
Click to expand...
Click to collapse
I made it long so that everyone understands.Even those who are very new to android
i'm stucked when i try to deodex settings.odex..
any suggestions???
Hidzrie said:
i'm stucked when i try to deodex settings.odex..
any suggestions???
Click to expand...
Click to collapse
you must deodex
settings.apk + settings.odex.....
i've already follow exactly like the tutorial above but cmd just stucked...
in 'out' folder there are \com\android\settings\ folder and these files were in it and nothing more:
AccessibilitySettings$1.smali
AccessibilitySettings$2.smali
AccessibilitySettings$3.smali
AccessibilitySettings$4.smali
AccessibilitySettings$5.smali
AccessibilitySettings$6.smali
AccessibilitySettings.smali
please anyone help..
Credit/thanks: http://forum.xda-developers.com/showthread.php?t=1208320 ?
Hidzrie said:
i've already follow exactly like the tutorial above but cmd just stucked...
in 'out' folder there are \com\android\settings\ folder and these files were in it and nothing more:
AccessibilitySettings$1.smali
AccessibilitySettings$2.smali
AccessibilitySettings$3.smali
AccessibilitySettings$4.smali
AccessibilitySettings$5.smali
AccessibilitySettings$6.smali
AccessibilitySettings.smali
please anyone help..
Click to expand...
Click to collapse
follow the highlighted lines and try again and deodexing takes time according to your computer's ram.so be patient.if you still cant do it then just upload the system=>framework folder and the app you want to deodex and its odex file and Private Message me the links. I will check whats the problem.
L_S said:
Credit/thanks: http://forum.xda-developers.com/showthread.php?t=1208320 ?
Click to expand...
Click to collapse
this can be found in the android sources site but it not so easy to understand for beginners so i made it a little easier to understand and i didnt refer that guide because all is clearly written in the android sources site.
i understood why some of you are making mistakes when trying to deodex a apk or jar file.
its because you are copying exactly the same bootclasspath files that i specified in the guide.
it varies depending on your device and your rom. So I have made some changes in my guide.some lines are highlighted in red.
follow those lines.
Hidzrie said:
i'm stucked when i try to deodex settings.odex..
any suggestions???
Click to expand...
Click to collapse
Specify your device and rom that you use. Are you sure that you followed what i told itself? Try it once more as I have made some more changes in the guide to help you guys.
Still if you cant do it then just copy your framework folder and the apk and .odex file that you want to deodex and pm me. I will try to deodex it.
fotak-x said:
you must deodex
settings.apk + settings.odex.....
Click to expand...
Click to collapse
no fotak we dont need to deodex settings.apk. We only need to deodex the .odex file but we will have to keep the apk file also in the same folder.
Leon1234 said:
Specify your device and rom that you use. Are you sure that you followed what i told itself? Try it once more as I have made some more changes in the guide to help you guys.
Still if you cant do it then just copy your framework folder and the apk and .odex file that you want to deodex and pm me. I will try to deodex it.
Click to expand...
Click to collapse
I'm using samsung gt-s5830i.. Rom simplicity v4..
I've tried like many times..still wont work..
Hidzrie said:
I'm using samsung gt-s5830i.. Rom simplicity v4..
I've tried like many times..still wont work..
Click to expand...
Click to collapse
dont worry,we can figure it our!
what error are you getting in command prompt?
can you give the lines that come up in command prompt?
Leon1234 said:
dont worry,we can figure it our!
what error are you getting in command prompt?
can you give the lines that come up in command prompt?
Click to expand...
Click to collapse
There are no error appear on cmd..
After I insert a command to deodex settings.odex and press enter, it just like nothing happen...
There are no error appear on cmd..
After I insert a command to deodex settings.odex and press enter, it just like nothing happen...
Click to expand...
Click to collapse
you will have to wait for some time when deodexing depending on the ram of your device.
what is the ram of your computer?
and do you have java 7?

[Noob-Tutorial] How to create a CWM flashable zip file from FTF Firmware

Hi @all,
I´m using the Flashtool and other provided tools here in the Forum for a long time (thanks to all people who are involved in the developing)
Now I want to give something back.
I´m not a developer but I understand (hopefully) basic things.
I have also some phones which does not support the flashmode so I am reliant to the fastboot mode and CWM.
At this point my goal was to flash the stock ROM to the Xperia Z.
I found a tuturial how to make a flashable zip file for CWM but it was for old devices with yaffs2 filesystem and the new ones have ext4.
After some search I found everything what is needed and I want to share it with you.
The Tutorial covers basic things but maybe it will help some people who will try it.
Step 1
Download the Stock-FW you want (FTF-File)
Step 2
Rename the .ftf File to .zip
Step 3
Extract the system.sin (with 7zip or WinRar for example)
Step 4
Open Flashtool go to "Tools" -> "Sin Editor" -> Choose the extracted system.sin and push "extract" Data
Step 5
You will get an system.ext4 file
Step 6
We have to extract the files which are in the system.ext4 file - for this I used the DiskInternal Linux Reader
Step 7
After extracting the files you have to put all the files in a folder named "system" (low letters)
Step 8
Create a folder named for example "Firmware"
Step 9
Put the "system" folder in the "Firmware" folder
Step 10
Download the Attached META-INF File - extract it and copy the META-INF Folder in the "Firmware" folder
Step 11
Now you have in your "Firmware" folder two sub-folders
"system" and "META-INF"
Now you only have to zip the both folders for example with 7zip or WinRar
Important: You have to set the compression to "Store"
Step 12
Copy the zip File to your SD-Card and flash it with CWM
If you want you can now add files to the system folder - like busy box - and or modify things and flash it over CWM.
Special thanks to Bin4ry
Best regards
UserX10
Learned ! Thank you.
Nice tutorial!
EDIT: The flashable zip is huge (990MB), did this have anything to do with the compression being set to 'store'?
xL3thalTuRdZz said:
Nice tutorial!
EDIT: The flashable zip is huge (990MB), did this have anything to do with the compression being set to 'store'?
Click to expand...
Click to collapse
If you don't set it to store it wont work at all, no rom/flashable zip have anything other than store compression the same goes for bootanimations
Edit: OP/Mod you might just want to change TFT file to FTF in step 1
Sent from my GT-i9100 using Tapatalk 2
Edit2: It seems like this only goes for bootanimations, sorry my bad.
Great.....learning it now
Thanks for the positive feedback.
Changed also the typo on Step 1
I've tried setting compression to 'Normal' and all seems to be going fine...
Sent from my C6603 using xda app-developers app
Can this be applicable to nxt devices like mine?thanks for the tutorial...
Sent from my LT22i using Tapatalk 2
how to extract from ext4
can you explain with details :fingers-crossed:
im getting ext4 file again after extracting !
ShivangDave said:
can you explain with details :fingers-crossed:
im getting ext4 file again after extracting !
Click to expand...
Click to collapse
You have to selected the .ext4 file open with LinuxReader. (like you .doc file with Word)
LinuxReader will "mounted" it in his own window, open your "new" disk (2Go) then select the "Save" option above...
tempofestival said:
You have to selected the .ext4 file open with LinuxReader. (like you .doc file with Word)
LinuxReader will "mounted" it in his own window, open your "new" disk (2Go) then select the "Save" option above...
Click to expand...
Click to collapse
did it via linux ! thanks any way !
When I tried to extract Xperia S's stock rom from the ftf using DiskReaderInternals, then the rom would boot but USB would never work. Even the guy above me (ShivangDave) tried extracting using DiskReaderInternals for Miro but the rom failed to boot and got stuck at the Sony logo. That's why it is better to use linux to extract the system.ext4 image.
i want to make a flashable zip to install aps
UserX10 said:
Important: You have to set the compression to "Store"
Click to expand...
Click to collapse
How do I set the compression to "Store"?
Thanks a lot for your guide!
MinnesotaVikings1961 said:
How do I set the compression to "Store"?
Thanks a lot for your guide!
Click to expand...
Click to collapse
whenever you add file in archive it will show a box first ! 'NORMAL' is default ! change it to 'Store' !
Please!
Does this tutoriral can be applied to other models as Neo V.
Thank you and best regards!
fer14 said:
Please!
Does this tutoriral can be applied to other models as Neo V.
Thank you and best regards!
Click to expand...
Click to collapse
This Tutorial should also work with the Neo V. Only one thing could be different.
But depending on your Android Version (when I remember well) it could be possible that you have instead of an ext4 file a yaffs2 file. In this case you can search the forum for an how to for this extension.
TheHawk002 said:
If you don't set it to store it wont work at all, no rom/flashable zip have anything other than store compression the same goes for bootanimations
Click to expand...
Click to collapse
I use a template for flashing various things and I just drop stuff in it using Normal compression and it flashes ok, might be more important for full ROMs or zips to be run on the Phone like a boot animation, but for flashing the odd apk or other file I don't think it matters.
UserX10 said:
This Tutorial should also work with the Neo V. Only one thing could be different.
But depending on your Android Version (when I remember well) it could be possible that you have instead of an ext4 file a yaffs2 file. In this case you can search the forum for an how to for this extension.
Click to expand...
Click to collapse
XperienceD said:
[GUIDE] How to make your regional firmware an .FTF file
[Guide] How make a FTF of stock firmware from SUS files
[GUIDE]How to make a rooted flashable rom from ftf file[FOR ALL XPERIA PHONES]
[tutorial] | how to extract system.sin
[tutorial] step by step method to extract ftf file from ics [ics]
[Tool] Yaffey - Utility for reading, editing and writing YAFFS2 images
Click to expand...
Click to collapse
UserX10 said:
Hi @all,
I´m using the Flashtool and other provided tools here in the Forum for a long time (thanks to all people who are involved in the developing)
Now I want to give something back.
I´m not a developer but I understand (hopefully) basic things.
I have also some phones which does not support the flashmode so I am reliant to the fastboot mode and CWM.
At this point my goal was to flash the stock ROM to the Xperia Z.
I found a tuturial how to make a flashable zip file for CWM but it was for old devices with yaffs2 filesystem and the new ones have ext4.
After some search I found everything what is needed and I want to share it with you.
The Tutorial covers basic things but maybe it will help some people who will try it.
Step 1
Download the Stock-FW you want (FTF-File)
Step 2
Rename the .ftf File to .zip
Step 3
Extract the system.sin (with 7zip or WinRar for example)
Step 4
Open Flashtool go to "Tools" -> "Sin Editor" -> Choose the extracted system.sin and push "extract" Data
Step 5
You will get an system.ext4 file
Step 6
We have to extract the files which are in the system.ext4 file - for this I used the DiskInternal Linux Reader
Step 7
After extracting the files you have to put all the files in a folder named "system" (low letters)
Step 8
Create a folder named for example "Firmware"
Step 9
Put the "system" folder in the "Firmware" folder
Step 10
Download the Attached META-INF File - extract it and copy the META-INF Folder in the "Firmware" folder
Step 11
Now you have in your "Firmware" folder two sub-folders
"system" and "META-INF"
Now you only have to zip the both folders for example with 7zip or WinRar
Important: You have to set the compression to "Store"
Step 12
Copy the zip File to your SD-Card and flash it with CWM
If you want you can now add files to the system folder - like busy box - and or modify things and flash it over CWM.
Special thanks to Bin4ry
Best regards
UserX10
Click to expand...
Click to collapse
I tried this on Xperia SP but the installation is aborted, does this supports Xperia SP? If not, how can I make another one for Xperia SP? Thanks
tdth said:
I tried this on Xperia SP but the installation is aborted, does this supports Xperia SP? If not, how can I make another one for Xperia SP? Thanks
Click to expand...
Click to collapse
which error ?
---------- Post added at 08:52 PM ---------- Previous post was at 08:50 PM ----------
tdth said:
I tried this on Xperia SP but the installation is aborted, does this supports Xperia SP? If not, how can I make another one for Xperia SP? Thanks
Click to expand...
Click to collapse
this works... make sure you have correct update-binary file and also script !

[GUIDE][How-to]Create your Own Custom ROM an easy way

Holla Guys this i am back with a Guide which you would have seen many times on XDA but still were you able to follow them??
And answer is "NO"as they all focus on Android Kitchen which is a big tool but not a wall for blind!! Mark it you will have to use your own sense(Not Htc Sense ) while making a ROM!
But then also i can provide you a Boost Start in Android Development World for Sure
​
This tutorial is specially for
Newcomers to the world of Android
People who want to create their own ROM but unable to do so as it is going over the head
People who did not had any encounters with Programming
Even Experienced One
Click to expand...
Click to collapse
Thanks to
Click to expand...
Click to collapse
dsixda for his ultimate kitchen
lokeshsaini who is the original writer i have just modified it and simplified for better understanding
Neroyoung -For his video tutorials
If i left any one's name PM me
Click to expand...
Click to collapse
Tools Required : (Report me dead links please)
Java JDK Download Link-For Installing Cygwin
(Note: Do not install Cygwin before the JDK!!
Click to expand...
Click to collapse
Android Kitchen Official Thread
Cygwin Link-Linux Terminal on Windows
Apktool/Apkmanager
Notepad++-For editing .xml files
7-Zip-Handy tool
Click to expand...
Click to collapse
Part 1: Installing the JAVA JDK, Cygwin and Setting up the Kitchen.
Code:
*Before you do anything install the java jdk*
watch this video tutorial by gitagaire for how to setup cygwin and kitchen(recommended)
Click to expand...
Click to collapse
INSTRUCTIONS
->Download and extract the cygwin_packages.zip
-
>Run the set up(make sure there is no previous cygwin installation)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
->when it shows all the package names, go to the top and select "all default" until it changes to "all install" (you must click on the arrows)
->Download the kitchen from above. Then, extract the kitchen's .zip file to a folder under your home account. Rename the dsixda-android-kitchen-*** folder to just "kitchen". In Cygwin, this folder would depend on what was set for your Cygwin install directory, e.g. C:\cygwin\home\John\kitchen
NOTE!! If your user folder contains spaces (e.g. C:\cygwin\home\John Smith\kitchen), then the kitchen will not function properly. Instead, copy it under C:\cygwin\home\kitchen.
->Now your ready to run the kitchen type:
those who have their kitchen like this C:\cygwin\home\John\kitchen use these commands given below
Code:
[COLOR="Sienna"]cd kitchen(enter)[/COLOR]
[COLOR="DarkRed"] ./menu(enter)[/COLOR]
those who have their kitchen like this C:\cygwin\home\kitchen use these commands given below.
If you did things right you should see this:
Click to expand...
Click to collapse
Part 2:Setting up a working folder
THERE ARE TWO METHODS FOR THIS.
1. WHEN YOU HAVE BASE ROM AVAILABLE.
2. WHEN YOU DON'T HAVE BASE ROM.
FIRST METHOD -
->First our folder structure should look like this:
Code:
cygwin folder/home/your user name/kitchen
-> Inside the kitchen it should look like this:
-> Now we need a rom to work on, for KarbonnA5 users i will recommend this rom by ME only but you can use any rom.
-> Just Place the original rom zip in the original_update folder inside the kitchen.
run the cygwin.exe again type:
Code:
cd kitchen(enter)
./menu(enter)
-> Now enter option 1, enter again. You should see your rom listed, choose and enter
you will be asked about changing the working folders name, at this point it makes no difference so just continue.
congratulations you have a working folder!!!
Second METHOD -it is almost like ROM Dumping works on any device!
-> FIRST MAKE A WORKING FOLDER IN CYGWIN FOLDER
IT SHOULD LOOK LIKE THIS
cygwin folder/home/your user name/kitchen/WORKING_(your rom name)
Click to expand...
Click to collapse
NOTE: FOR THIS MEETHOD WE NEED 3 FILES AND FOLDERS TO BE PLACED IN WORKING FOLDER.
1. META-INF FOLDER - GET THIS FROM DOWNLOAD FILES LIST IN FIRST POST
2. SYSTEM FOLDER - TUTORIAL BELOW
3. BOOT.IMG - TUTORIAL BELOW
2. getting system folder
(NOTE - Rooted phone required!!)
This is universal method and can be done easily using terminal emulator.
For this simply download Terminal Emulator from Android Market.
we need freshly flashed device here. OTHERWISE YOU WILL HAVE LOT OF JUNK FILES.
Open it and type:
Code:
su
tar -c system/* >> sdcard/system.tar
This will copy all your /system folder to your SDcard with name System.tar
This will take some time to finish so be patient.
After it's done you should have a tar file in your /sdcard named system.tar
You can extract it using Winrar or 7zip software. But yes this will have huge size , as it has other useless folders so you will have to delete them. After extracting this system.tar file you will get following folders (Similar one)
/etc
/fonts
/framework
/lib
/lost-found
/media
/sd
/usr
/xbin
build.prop
Click to expand...
Click to collapse
-> Now simply delete the folders marked in red color and its done.Don't worry if you don't have folders with red colors above,we don't need them.
And the final files that we will have in our system folders will be
/app
/bin
/etc
/fonts
/framework
/lib
/media
/semc
/usr
/xbin
build.prop
Click to expand...
Click to collapse
NOW COPY THIS system FOLDER TO WORKING FOLDER
3. getting boot.img
Here we have 2 options
1. stock boot.img from stock rom - simple kernel which we get in brand new mobile.
2. custom boot.img from custom kernel - kernel which are modified for overclock or other features
1. getting stock boot.img from stock rom.
extract your stock rom with winrar or 7zip. you will see boot.img there. copy it to working folder
2. getting custom boot.img from custom kernel.
download any custom kernel which is only for your device.
extract it with winrar or 7zip and copy boot.img to working folder
NOTE: many of new devices have kernel.bin and other files instead of boot.img so skip this part if your device don't have it...
Click to expand...
Click to collapse
​
Part 3 :Change/modify/update rom
YOU CAN MODIFY YOUR ROM IN TWO STEPS:
[*] MODIFY USING ANDROID KITCHEN - for basic modification.
[*] MODIFY MANUALLY. - for advanced modification.
Click to expand...
Click to collapse
2. MODIFYING MANUALLY.
Check this Guide for some MODs like center clock,CRT animation, ics and jelly bean style mods etc...
Adding/removing applications
1. Go to the working folder where you extracted your rom, inside you will find:
OR
2. Then go to "system/app" inside this folder you will find all the rom applications(apks) you may also find some in the data folder if your rom has this folder.
3. Copy, replace, and change any app(apk) be carefull if you dont know what the apk is do not delete!!
LIST OF APPS YOU CAN DELETE - HERE OR HERE
If you can not find some apps in this guide then try opening all those app in your phone and see app name and icon or move those apps from system/app to sdcard and see what is not working...
Adding new boot animation
android kitchen doesn't works for my Karbonn A5 . So we need a different method.
1) Download and extract the bootanimation and samsungani file from Custom Booting.zip attached in first post.
2) Put them in the /system/bin folder and replace the existing files there
3) Now download any boot animation, and rename the bootanimation to “sanim.zip”.
4) Now, navigate to /system/media and replace the “ODEanim” with “sanim.zip”
You are done with the bootanimation change
Edit the gps script for your country/location
1. In the workingfolder/system/etc/ you will find a file named gps.conf, you can
edit this file with notepad++ or even word.
2. using the right gps script in this file can speed up gps lock, you can
find some from angeldeath, download extract and replace the gps.conf.
Adding ringtones :
Take your ringtone file...it should be in .ogg format..If not then convert it to .ogg..
Locate to the folder system>media>audio>ringtones>
Copy and paste your .ogg files here in ringtones folder..
You can also change notifications, alarm and UI tones like this..
Changing the Fonts :
Take your desired font.ttf file and rename it as DroidSans.ttf..
Locate to the folder system>fonts>
Now, replace the file DroidSans.ttf with your desired DoridSans.ttf...
To change the lock screen clock font...replace the Clocktopia.ttf with your desired one..(rename first)..
build.prop tweaks!!
check this or this or this post for build.prop
NOTE: EDIT BUILD.PROP WITH NOTEPAD++. SIMPLE NOTEPAD WILL CORRUPT THE FILE.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Part-4 Theming Your ROM
Via UOT Kitchen
Apex said:
Credit to Jermaine151​
Click to expand...
Click to collapse
​
Deaaling with .9 pngs
Here neroyoung will teach you how to deal with the pngs ening with .9 extension
Click to expand...
Click to collapse
Some Great and simple Guides
All things needed theming thread by theimpaler747
Theming .apk byAndrewtst
How to make "basic" theming mods + .9.png tutorial by dully79
Cooking with UOT Kitchen by Apex
[GUIDE]Theming Guide for changing system text settings(Recommended)
[TUTORIAL][ICS][GB]How to change Android's black background(By me)(recommeded)
[Tutorial]-ICS-AOKP/CM9-UPDATED-Miscellaneous MODS[Nav bar,Notification header etc](most recommeded)​
MORE ADVANCE MODIFICATION (starters for beginners)
editing .apk files
THERE ARE TWO BEST TOOLS FOR EDITING .APK FILES
1. APKTOOLS
This video by neroyoung teaches you how to setup APKTOOL folder as well as teaches you how to edit .apk files
2. APK Manager
this video by adgoosuc teaches you How to unpack,repack and sign an APK File with APK Manager
Editing .JAR Files
In this video by neroyoung you will get information on how to edit .jar files like services.jar using APKTOOL
How to integrate an app in settings(recommended)
Thread Junction
adding mods and scripts...
download mods and scripts from links below and copy past all files in same folder as your rom... like for init.d scripts add them to system/etc/init.d/here and all permissions in updater script to your updater script...(dont forget to give them credit for it...)
links:-
Tweaks
[TweakZV6] Init.d best tweaks[Flashable] Increase your performance by [email protected]
Collection build.prop; init.d; etc. by optik19918
init.d Tweaks collection by dsexton702
[SCRIPTS][TWEAKS][CWM]SlaidyBoost-V2.3 by slaid480
[CWM][SCRIPTS][TWEAKS] Adrenaline™ Engine by ImbaWind
V6 SuperCharger by zeppelinrox
[SCRIPTS]CronMod-A2SD/D2EXT/INT2EXT by croniccorey
Maximum MultiTasking Mods + V6 SuperCharger BY zeppelinrox
All in one tweaks build.prop,init.d,Wifi,Xloud,Bravia,A-Gps,A/V Sync,Modules by XtremePeople
Xloud and Bravia engine by aiman112
Sound/Audio MODs
AwesomeBEATS™ v.3 by ...Awesome...
(MOD)Beats Audio(2.3+up) by RockoDev
Tuned MegaBassBeat by kurotsugi
[AROMA] Beats Mode - Enhanced Beats sound V7.5 by MemAllocatoR
Miscellaneous Tweaks
Interactive Phone Modification [GUIDE]
ICS Style 'Settings.apk' - Make it yourself by balamu96m
StatusBar Tweaks by Master&Slave™
Change lockrings on any rom by daveyannihilation
change ICS lockscreen animation to Honeycomb style by evilisto
S Voice for any devices [ICS] by PlaYOuT
Implement Swipe to Remove Notification by hansip87
Remove SMS log from Call log by wilfredcool007
Activate the rotation of the lockscreen by GalaxyUser
Add 6 lockscreens Mod + Lockscreen Gestures by pratyush.creed
How to add customizable 14 statusbar toggle buttons for samsung ROM by lidroid
Create a custom notification dropdown by jeffsanace
One Click odexing for better RAM Speed
these are few i love, find more yourself...
MORE WILL BE ADDED SOON...
Click to expand...
Click to collapse
Few Guides
Xposed - ROM modding without modifying APKs/flashing
.
Compiling CWM Recovery
.
Compiling TWRP Recovery
.
Building Kernels and Android Sources
.
Porting ARM V7 Roms to ARM V6
.
Porting MIUI with JB/ICS
.
Porting Jelly Bean( A few Assists)
.
Dev Basics Collection
.
MIUI v4
.
MIUI v4 Updated- Different and Noob Friendly
.
Sense UI
.
Making a Flashable Package (Update.zip)
.
Making a CWM Flashable Zip
.
Complete Android ROM development and essential tutorials
.
Re-Odexing a ROM
.
Porting AOSP ICS ROMs
.
Compiling CM9 on Mac-OSX Lion
.
MIUI (Source GB)
.
Create your own De-Bloat Tool
.
Porting LewaOS,JoyOS for Noobs
.
UOT Kitchen Guide
.
Making your Own Custom ROM
.
Unpack or Repack an APK
.
Building your first KERNEL
.
Compile JB on Ubuntu
.
DEODEXing Stock ODEXED ROM
.
[GUIDE]How to use AROMA Installer on any ROM/Device|NOOB Friendly|
.
[Guide][How To] Adding Brightness Bar Slider to Status Bar
.
[Guide] Jellybean navigation layout for CM7 ROM
.
[GUIDE] How to add TABS to Settings with swipe gesture
.
[DEV][TOOL] Android Image Kitchen - Unpack/Repack Kernel/Recovery + ramdisk
.
[EASIEST WAY ROM DUMP] ROM dumping method for any phone
.
How to use GitHub
Other Modding and Theming:
Remap Hardware Button to ICS Recent Apps
.
Create GB Dictionary for your Language
.
ICS Recent Apps Button/Softkeys to Status Bar
.
Smooth Scrolling and Volume Increase
.
Re-Odexing a ROM
.
How to LogCat
.
Convert .jar to .apk
.
Setting up Android Dev Environment in Ubuntu 11.10
.
Modifying APK Files
.
Modifying APK files - Another Method
CREDITS:
Credits to the Original Developers/Writers for posting this stuff.
I am just linking it to their threads, all credits go to them.
NOTE:
If you find any other Topic that maybe useful, Post it in comments, so that We can make a huge thread of Guides.
THANK YOU ALL:
I Thank you all for referring to this.. I have just searched a bit and though making a thread would be useful. I am really Happy that it helped many of you!! Will keep adding!!
Click to expand...
Click to collapse
Last but the not the least: repackage the rom
AFTER YOU HAVE DONE ALL CHANGE/MODIFICATION YOU WANTED OPEN CYGWIN AGAIN AND TYPE
now convert update script to updater script(in option 23)
now lets edit updater script(optional)
the updater-script basically tells CWM what steps to take during the installation(flashing rom).
If you don't have any experience please don't edit anything other than what is in this simple tutorial.
TO EDIT UPDATER SCRIPT -
1.Go to META-INF/com/google/android
2.Open the updater-scrip file with Notepad++
3.Any text that would appear during the CWM install should be in this format :
Code:
ui_print("Put your text in HERE");
Add your text start at top and save,
then replace with new updater-scrip
Add New Aroma Installer to your ROMLink to Guide(By Me only)
AND AT LAST
[*]Now that you have made some changes it's time to pack the rom and test!!
Run the cygwin and type
enter option 99 - "biuld rom from working folder"
Choose your build option and few more enters
I recommend that you go with all default options until you get more experience with the kitchen.
When rom is packed and signed it will ask to change rom zip name (type name of your rom)
When its all done you will find a folder inside "cygwin/home/yousername/kitchen" called output_zip
Inside the folder is your new rom ready to be flashed and tested!!!
IF YOU WANT THAN YOU CAN MAKE CWM FLASH ABLE ZIP'S MANUALLY USE THIS TOOL BY I.AM.H3RO
congratulations you have build your own rom
TROUBLESHOOTING
If you are facing java related problem with cygwin than refer post #8
If you have a rom without kernel then remove these lines:
Code:
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "/dev/block/mmcblk0p8"),
delete("/tmp/boot.img"));
If there is a package error then extract the files of the rom and repack them using any compression software.
If rom installed correctly but stuck onto logo screen?? Then remove try removing kernel and flashing rom again.
If rom installed correctly but got onto bootloop then there could be many possibilities which could lead to this. If you want accurate cause of it then do a logcat.
If there are some apk's which are not working then check if you correctly modded them.
Now what do you want more in a thread
Just Press thanks button and rate the thread 5 Stars and Show your Appreciation :highfive:​
Well you beat me to it,i was contemplating wether or not i should do this,hahaha,very nice,i see your not finished yet,if you need any help,pm me,i have been using the kitchen for a couple of years now.I've learned a few tricks you can do with the kitchen.
Re: [UltimateGUIDE][How-to]Create your Own Custom ROM an easy way|Android Secrets -_-
You have done that like a boss..8|
Sent from my Karbonn A5 using xda premium
shreyans4020 said:
You have done that like a boss..8|
Sent from my Karbonn A5 using xda premium
Click to expand...
Click to collapse
hehehehe thank you
good
epic guide bro..
sahil11 said:
epic guide bro..
Click to expand...
Click to collapse
Press thanks button+ Rate the thread also
Thread cleaned
Discussions of the sort I just removed from this thread need to take place privately. Very little will get accomplished when they get posted on the forum. The primaries need to take this to PM and send me a message when an agreement has been reached.
An excellent piece of work...Awesome
coolbud012 said:
An excellent piece of work...Awesome
Click to expand...
Click to collapse
And if you ever gets confused post here and i will do my best to solve it
Diablo67 said:
Well you beat me to it,i was contemplating wether or not i should do this,hahaha,very nice,i see your not finished yet,if you need any help,pm me,i have been using the kitchen for a couple of years now.I've learned a few tricks you can do with the kitchen.
Click to expand...
Click to collapse
u can share you New Stuffs which u learning from Kitchen here too if you can Plz
hello, congratulations for the very detailed but the last step guide tells me that java is not installed, I installed java jdk 7u17. How can I fix?
I already tried reinstalling java but no change, here is a photo of the error https://pbs.twimg.com/media/BGcGYNOCIAAy4bk.jpg:large
EDIT: I solved, on Windows 8 64bit, java jdk is installed in x86 version, I had downloaded the x64 version. Now it works
Thanks for the guide, its great! But I have a problem, everytime I compile the zip I have a status 6 error, what do I have to edit with notepad++ in the update-script to make it work? Its quite frustrating xD And its already in Unix code ^^

[05.23.14][TOOL] APK Tools v3.50 [Windows][GUI]

APK Tools --
"A complete fresh tool developed from scratch; inspired by existing tools available out there."
INFO: Pushed to GitHub
SCREENSHOTS​
Requirements:
Java JDK/JRE
Android SDK
BRAIN! ^_^
Features:
Faster and easier APK handling (GUI Version) -- supports drag and drop file; access files anywhere
All-in-one (ADB Push/Pull, Extract, Optimize, Zip, Sign, Zipalign, Install, Decompile, Compile...)
Based on latest available tools
Great user interaction; less prone to errors (More information and warning during operation)
Works everytime and anywhere (No problem with paths and filename containing spaces or weird characters)
Log activities with time stamp and use date as log filename
Install and use of framework with custom tags
Generate and sign APKs with own private key (Android market supported)
Switch between apktool versions (2.0.0b9 & 1.5.2)
Many more . . . Check for yourself! ;D
To Do:
Log activities with time and date headers - Done
Install framework with custom tags - Done
Generate own private key with android market support - Done
Sign APKs with the generated private key - Done
GUI version with drop file support - Done
Switch between APKTOOL versions - Done
Post a feature request or suggestion here.​
Instructions:
Extract "APK Tool v#.##.zip"
Execute "APK Tools.exe"
Necessary files and folders are installed automatically every launch if not found.
Place APKs to be modded inside "APK Files" folder.
All extracted or decompiled APKs are found in "Projects" folder.
Generated private keys are located in "OUTPUT" folder.
Zipped, signed, zipaligned and/or compiled projects are found in "OUTPUT" folder.
Zipped/Compiled with Original Signature => system-%Project%
Zipped/Compiled with No Signature => unsigned-%Project%
Signed with Generated Private Keys => gpsigned-%Project%
Signed with Android Market => amsigned-%Project%
Signed with Test Keys => signed-%Project%
Click to expand...
Click to collapse
* Testers would be much appreciated to keep the tool stable.
** If possible, post full info regarding bugs encountered here.
*** Let's try to fix issues / errors ASAP. THANKS!!!
DOWNLOADS:
Direct (XDA)
Mirror v1.00 (MediaFire)
Mirror v1.50 (MediaFire)
Mirror v2.00 (MediaFire)
Mirror v3.00 (MediaFire)
Mirror v3.50 (MediaFire)
Rate and post a review here.​
CREDITS:
Google for Overall HELP and Android Tools
Brut.all / iBotPeaches for apktool
jesusfreke for smali/backsmali
deanlee3 for roptipng
Igor Pavlov for 7zip
Yorzua for signapk
XDA:DevDB Information
APK Tools (GUI Version), Tool/Utility for the Android General
Contributors
kermage
Source Code: https://github.com/kermage/APK-Tools
Version Information
Status: Stable
Current Stable Version: 3.50
Stable Release Date: 2014-05-23
Created 2014-04-27
Last Updated 2015-08-01
Changelogs
v3.50 ( 05/23/14 )
GUI fixes and adjustments
Fixed ADB push and pull locations
Fixed Compile option not signing original signature
Added option to copy over original files after compile
Added ADB install option
v3.00 ( 05/21/14 )
GUI version (faster and easier handling) -- supports drag and drop file
Access files anywhere (not limited to APK Files folder)
Switch between apktool versions (2.0.0b9 & 1.5.2)
Improved error detection and logging capability
Multiple tweaks and rework to codes
v2.00 ( 05/07/14 )
Generate own private key with android market support
Sign APKs with the generated private key
More tweaks and fixes to code
Improved launcher script
v1.50 ( 05/03/14 )
Log activities with time stamp and use date as log filename
Install and use of framework with custom tags
Minor tweaks and fixes to code
v1.00 ( 04/27/14 )
Initial release
FAQ
-RESERVED-
just about to try this out
thanks alot :highfive:
Er. Aditya said:
just about to try this out
thanks alot :highfive:
Click to expand...
Click to collapse
will be glad to hear a feedback..
this my friend is a superb tool , really really easy to use and a must for the newbies.... thanks alot for the tool , il just add this to my signature to spread the word
Er. Aditya said:
this my friend is a superb tool , really really easy to use and a must for the newbies.... thanks alot for the tool , il just add this to my signature to spread the word
Click to expand...
Click to collapse
:good: THANKS MATE! :highfive:
kermage said:
:good: THANKS MATE! :highfive:
Click to expand...
Click to collapse
il keep testing more and will let you know
Er. Aditya said:
il keep testing more and will let you know
Click to expand...
Click to collapse
You just made my day... -signature :good:
Very great tool simple and easy to use definitely noob friendly thanks man found a sort of bug maybe a typo but when you set decompile mode to sources it decompiled the resources instead. same goes for when you set decompile mode to resources it will decompile sources instead.
Sent from my Moto G using XDA Premium 4 mobile app
Omar1c said:
Very great tool simple and easy to use definitely noob friendly thanks man found a sort of bug maybe a typo but when you set decompile mode to sources it decompiled the resources instead. same goes for when you set decompile mode to resources it will decompile sources instead.
Sent from my Moto G using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I will check this..thanks :good:
Update
Got it, already fixed the bug
Redownload "APK Tools.zip", delete existing "tools" folder, then execute "Launcher.exe".
Click to expand...
Click to collapse
Thanks, not tried it yet but will add a link to it in my guide.
Easy as it gets, nice work, test went well for me.....thank you for this, it will make it easier for sure....great work!!!:good::good:
XperienceD said:
Thanks, not tried it yet but will add a link to it in my guide.
Click to expand...
Click to collapse
that would be great!.. thanks :good:
So much thanks man. This is exactly what I need. I am following the post.
hai @kermage.. Glad to see apk tool thread with up to date post from the maker..
but lil bit problem occuring to me..
how to operate this tool..
I cant even installing framework. It says error. Whereas "APK tools" folder have been moved to C:/Windows/ directory.. (Before I move it into windows dir, the launcher even continously says "APK files folder EMPTY, although obviously I have put some files there)
I've try the latest apktool 2.0.0 beta9
It works with apk that need multiple dependencies (in my case, Xperia SP FW .201, using framework-res.apk & semcgenericuxpres.apk)
it suceed to decompile. But I get an error "PathNotFound apktool.yml" while recompile..
thanks in advance
UPDATE!
APK Tools v1.50
Changelog:
Log activities with time stamp and use date as log filename
Install and use of framework with custom tags
Minor tweaks and fixes to code
DOWNLOADS:
Direct (XDA)
Mirror (MediaFire)
Instructions:
Extract "APK Tool v1.50.zip"
Execute "Launcher.exe"
nasroed said:
how to operate this tool..
Click to expand...
Click to collapse
Extract the downloaded ZIP file anywhere you want.
Execute the Launcher.exe. (necessary files and folders will be installed automatically.)
Select a task by entering the option number. Play around.
nasroed said:
I cant even installing framework. It says error. Whereas "APK tools" folder have been moved to C:/Windows/ directory.. (Before I move it into windows dir, the launcher even continously says "APK files folder EMPTY, although obviously I have put some files there)
Click to expand...
Click to collapse
You dont need to move any folders created by the APK Tools Launcher (APK Files, Logs, Projects, OUTPUT).
This is weird, the tool should list all .apk files found under "APK Files" folder. (even filename containing spaces or weird characters)
nasroed said:
I've try the latest apktool 2.0.0 beta9
It works with apk that need multiple dependencies (in my case, Xperia SP FW .201, using framework-res.apk & semcgenericuxpres.apk)
it suceed to decompile. But I get an error "PathNotFound apktool.yml" while recompile..
Click to expand...
Click to collapse
Try to install frameworks and decode again, then check if the apktool.yml file exist in "Projects" folder.
If NOT, then it is not SUCCESSFULLY decompiled and you should import all the needed frameworks.
Or is it already a modified/themed app?
If YES, you should try to decompile the stock app. It's almost impossible to work with already themed/modified app
UPDATE!
APK Tools v2.00
Changelog:
Generate own private key with android market support
Sign APKs with the generated private key
More tweaks and fixes to code
Improved launcher script
DOWNLOADS:
Direct (XDA)
Mirror (MediaFire)
Instructions:
Extract "APK Tool v2.00.zip"
Execute "APK Tools.exe"
Once again im late to the party
This is AWESOME my man and THANK YOU!!!
I just saw it and got really excited and i will take it for a test drive
I cant even express how much I appreciate the peole who create tools for us!!
You are the real heroes behind most of us "devs" :good::good:

Categories

Resources