[HOW TO][Windows]Extract Deodex Sign and Zipalign an official ROM - Galaxy S II Themes and Apps

Hi,
Just want to share tools I found in order to :
- Extract SGS2 stock firmwares :
* Use sgs2toext4.jar Application from drphrozen to convert .img files to ext4.img
* Then MOUNT ans EXTRACT ext4.img with Diskinternals Linux Reader : Here
- Deodex, sign and zippalign :
with this deodex kit : _Kit_Deodexage.zip
- Create your CWM customROM (wype script)
using a Skeleton ROM : Custom_ROM GS2 by SicOpaT.zip
Click to expand...
Click to collapse
Nothing from me, just reporting for you
Links at the end of post (or in changeLog)
EDIT 16/08 :
1/ update of Kit_deodexage with last versions of smali/baksmali v1.2.7 to avoid LAG bug of browser
2/ add of Custom_ROM GS2 by SicOpaT_v2.zip with a new CWM script NON WIPE
To customise the CWM script, go to Custom_ROM GS2 by SicOpaT.zip\META-INF\com\google\android and edit updater-script with notepad ++
Step by step guide ​:
Preparation :
1/ Extract Custom_ROM GS2 by SicOpaT.zip in order to have a folder with the same name (your future customROM)
2/ Extract sgs2toext4.zip to sgs2toext4.jar and put it in C:\
3/ Extract _Kit_Deodexage.zip to a folder of the same name
4/ install Diskinternals Linux Reader : Here
5/ Install Java SE Development Kit (JDK) if not already installed : Here
Click to expand...
Click to collapse
Extracting the stock ROM :
1/ open your stock__firmware.tar with 7-zip or winRAR
2/ extract in C:\ :
factoryfs.img,
cache.img (if you have 3 tar files in your firmware, extract cache.img from CSC.tar)
modem.bin
zImage : your kernel
Click to expand...
Click to collapse
* Extracting KERNEL and PHONE part :
3/ put zImage and modem.bin in the root folder of : Custom_ROM GS2 by SicOpaT (next to META_INF)
Click to expand...
Click to collapse
* Extracting Factoryfs.img :
4/ Double click sgs2toext4.jar, a windows is opening :
{
"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"
}
5/ drag factoryfs.img in the sgs2converter.jar windows
factoryfs.ext4.img is created
6/ Open Diskinternals Linux Reader
Code:
> Drives > Mount Image > browse to your factoryfs.ext4.img > Mount
Then a new drive appears in the Diskinternals window, called Linux native Volume > double click on it
7/ Select all and press Save > Next > Browse to Custom_ROM GS2 by SicOpaT/System/ check for Save directory structure and then press Next > Next > Finish
8/ In Diskinternals click Back and then right click to your Linux volume and select unmount
Click to expand...
Click to collapse
* Extracting cache.img :
9/ Double click sgs2toext4.jar
10/ drag cache.img in the sgs2converter.jar windows
cache.ext4.img is created
11/ Mount cache.ext4.img in diskinternals
12/ In your linux drive goto \recovery and save sec_csc.zip
Don't save it in your Custom_ROM GS2 by SicOpaT folder
13/ Extract sec_csc.zip (same structure as an update.zip)
14/ Copy everything in /system exept /app to Custom_ROM GS2 by SicOpaT/system
like here :
Now you can unmount and close diskinternal, we have done with extracting the ROM
Click to expand...
Click to collapse
Now time to Deodex, sign and zipalign : with the _Kit_Deodexage script
1/ in Custom_ROM GS2 by SicOpaT/system/ MOVE everything in the app folder to _Kit_Deodexage/app
3/ in Custom_ROM GS2 by SicOpaT/system/ MOVE everything in the framework folder to _Kit_Deodexage/framework
4/ Press : Deodex_Gingerbread.cmd and it will
- deodex
- sign
- zipalign
4 bis/ edit after beginning of deodexing process the NePasSigner.txt and add samsung apps
5/ 2 folders are created : Deodex_framework and Deodex_app
6/ verify that the /app and /framework folders are empty
6/ Move everything from /Deodex_framework exept java.awt.jar to Custom_ROM GS2 by SicOpaT/system/framework
7/ Move everything from Deodex_app to Custom_ROM GS2 by SicOpaT/system/app
Click to expand...
Click to collapse
Buid your CWM update.zip :
With WinRAR : CTRL A in your custonROM root folder and Right Click > Add to Archive > ZIP and None or Normal compression
Click to expand...
Click to collapse
That's all ! You have a stock customROM fully deodexed, signed and zipaligned
PS : You should change the Kernel for the CF-Root Kernel (CWM Manager ...) changing the zImage with the zImage from ChainFire CF-Root
PS 2 : You can add some apps (like Titanium backup) in the /data/app folder of your customROM
EDIT 1 : The deodexed browser.apk obtained will be bugy : Lag scrolling
Since pulser_g2 found the FIX, DEVs used an old deodexed browser.apk (from KE2 ROM for example).
So pulser_g2 foung the FIX, in order to avoid this Lag trouble using the last deodexed browser.apk (KF2 for example). You can see the How To FIX yourself the laggy browser.apk following advices from pulser_g2 in the changeLog of 07/03/2011.
EDIT 2 : just added a zip of an META_INF folder witch can be used for update over a previous deodexed customROM with same signature (a previous ROM built with the same script).
With this META_INF, you will not loose any data/cache
Credits :
Thanks to drphrozen for sgs2toext4.jar and sgs2converter.jar tools
Thanks to xeudoxus for his custom java.awt.jar (deodexing some apks without errors)
Thanks to Okarin for his Deodex script
Thanks to Pulser-g2 for the laggy Browser Fix
Thanks to omrij for showing us an alternative to _Kit_Deodexage : AutoDeoTool (see below)
Click to expand...
Click to collapse
ChangeLog of the HOW TO :
07/04/2011 :
* Switch bugy sgs2converter.jar to new sgs2toext4.jar from drphrozen
* Re-Add the Convert_sgs2img.exe tool to extract .img to .ext4.img (end of post)
CMD command :
Code:
Convert_sgs2img.exe factoryfs.img factoryfs_ext4.img
07/02/2011 :
Modification of _Kit_deodexage.zip in order to add the custom java.awt.jar from xeudoxus
07/01/2011 :
Add the new version of drphrozen sgs2converter.jar, available HERE
Now you just need to double click on the sgs2converter.jar, without opening any CMD promt command.
You drag and drop your stock .img file and the tool will convert it in <inputname>.ext4.img in the same folder
06/30/2011 :
How to manually deodex Email.apk and MobilePrint.apk : (working for others APKs)
Code:
[QUOTE][B]1/[/B] In the same folder, you put :
[QUOTE]*Email.apk
*Email.odex
*MobilePrint.apk
*Mobileprint.odex
AND
all the content of the initial ODEXED framework folder (with all JAR files)
PLUS custom [B]java.awt.jar[/B]
AND
*smali.jar ---> found in _Kit_Deodexage/_binaires/
*baksmali.jar ---> found in _Kit_Deodexage/_binaires/[/QUOTE]
[B]2/[/B] Then open a [B]CMD promt[/B] in the target folder
[B]3/[/B] Then type :
[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:com.samsung.device.jar:com.yamaha.android.media.jar:core.jar:core-junit.jar:ext.jar:framework.jar:ime.jar:input.jar:java.awt.jar:javax.obex.jar:libvtmanagerjar.jar:monkey.jar:pm.jar:sec_feature.jar:seccamera.jar:sechardware.jar:secmediarecorder.jar:services.jar:sqlite-jdbc.jar:svc.jar:twframework.jar -x Email.odex
You have a new OUT folder created
4/ Then type :
Code:
java -Xmx1024m -jar smali.jar out -o classes.dex
A classes.dex file is created
5/ Open (without extracting) Email.apk with 7-zip
Push classes.dex in Email.apk with 7-zip
6/ Put the new deodexed Email.apk in app folder, in _Kit_Deodexage
Press Deodex_Gingerbread.cmd
You now have a fully deodexed signed zipalligned Email.apk
Now Mobileprint.apk :
7/ DELETE classes.dex ans Out folder created before
8/ Same procedure, in CMD pompt, type :
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:com.samsung.device.jar:com.yamaha.android.media.jar:core.jar:core-junit.jar:ext.jar:framework.jar:ime.jar:input.jar:java.awt.jar:javax.obex.jar:libvtmanagerjar.jar:monkey.jar:pm.jar:sec_feature.jar:seccamera.jar:sechardware.jar:secmediarecorder.jar:services.jar:sqlite-jdbc.jar:svc.jar:twframework.jar -x MobilePrint.odex
You have a new OUT folder created
9/ Then type :
Code:
java -Xmx1024m -jar smali.jar out -o classes.dex
A classes.dex file is created
10/ Open (without extracting) MobilePrint.apk with 7-zip
Push classes.dex in MobilePrint.apk with 7-zip
11/ Put the new deodexed MobilePrint.apk in app folder, in _Kit_Deodexage
Press Deodex_Gingerbread.cmd
You now have a fully deodexed signed zipalligned MobilePrint.apk[/CODE]
Important !! You should NOT have error while deodexing
Click to expand...
Click to collapse
06/27/11 :
added : old version of sgs2converter.jar from drphrozen get it HERE
How To :
Extract sgs2converter.zip to sgs2converter.jar
Put in the same folder : Stock .IMG file, sgs2converter.jar
Open CMD Promt in the folder
run command :
Code:
java -jar sgs2converter.jar factoryfs.img factoryfs.ext4.img
factoryfs.ext4.img is created in same folder. You can pen it with Diskinternals Linux Reader
*AutoDeoTool an alternative to the "kit_deodexage" from HERE thanks to omrij
[/QUOTE]
BONUS :
To personalise your customROM, you can change the name of the ROM shown in Parameters > Version number :
with Notepad++, open the file "\Custom_ROM GS2 by sicOpaT\system\build.prop" and look for the line beginning with : "ro.build.display.id=" (often the 4th). Example : ro.build.display.id=GINGERBREAD.XXKF2
Replace everything after the "=" with what you want. Example : ro.build.display.id=SicOpaT's ROM KF2
Then save the file

Thanks for the infor .. but what does the " - CWM GS2 Skeleton ROM (wype script) : Custom_ROM GS2 by SicOpaT.zip" do ??
anyway of getting a step by step guide.
Thanks

I've used Ubuntu until now... Testing this one

xinfinityoO said:
Thanks for the infor .. but what does the " - CWM GS2 Skeleton ROM (wype script) : Custom_ROM GS2 by SicOpaT.zip" do ??
anyway of getting a step by step guide.
Thanks
Click to expand...
Click to collapse
This is the begining oh a CWM update.zip with the structure folders and I just added : busybox, superuser an su.
I am going to add a step by step guide

nice thanks
Email.apk and MobilePrint.apk are leftover. Trying to do them manually but can't find superclass Ljava/awt/componet;

Mackzen said:
nice thanks
Email.apk and MobilePrint.apk are leftover. Trying to do them manually but can't find superclass Ljava/awt/componet;
Click to expand...
Click to collapse
got the same problem, i took deodexed ones from other deodexedROM

Couldn't flash using cwm (maybe battery low, don't know)
better luck tomorrow I guess

How does the script take care of the Linux file permissions in Windows?

Thanks for the info.

That was some info which i was looking for the last few weeks, but mostly ended in apps that didn't work for everything.
Gonna give it a shot tomorrow.
Thnx for the info.

very well defined and this will sure help some newcomers to build thier own custom roms. you deserve a star from me !!

Thanks for this Guide!
1.) The last step would be to put the new CustomRom Folder to a Zip and flash via CWM?
...or is it a problem with signing then?
EDIT: you have to put the files back into the original ZIP!
2.) why do we have to put cache.img and modem.bin to the customrom root folder?
Thanks

Flashed via cwm 4.0.2 -> Bootloop :/
No modifications done at the moment

walda said:
Thanks for this Guide!
1.) The last step would be to put the new CustomRom Folder to a Zip and flash via CWM?
...or is it a problem with signing then?
EDIT: you have to put the files back into the original ZIP!
Click to expand...
Click to collapse
Yes you have to create an update.zip archive with all in your CustomROM root folder
walda said:
2.) why do we have to put cache.img and modem.bin to the customrom root folder?
Thanks
Click to expand...
Click to collapse
No you have to put :
- zImage (your kernel)
- modem.bin (phone part in ODIN)

Mackzen said:
Couldn't flash using cwm (maybe battery low, don't know)
better luck tomorrow I guess
Click to expand...
Click to collapse
walda said:
Flashed via cwm 4.0.2 -> Bootloop :/
No modifications done at the moment
Click to expand...
Click to collapse
I have forgotten wype.sh in the /system folder of the skeleton customROM.
The wype.sh will wype everything in the /data folder in order to prevent bootloops
I reuploaded the CustomROM GS2 with the wipe.sh

Thanks! Works now

walda said:
Thanks! Works now
Click to expand...
Click to collapse
You're welkome
Sorry for the forgotten wype.sh

thanks for this!
i am running per instructions, trying to deodex KF2 rom. but i face problem at the deodex/sign/zipalign. after running the script file, there are still a lot of files in the "app" and "frameworks" directory. what am i doing wrong?
edit: 2nd round works, no idea why?? but left email and mobileprint, and as per you suggestion get it from another deodex rom.

This is EXACTLY the thing i was looking for since getting my SGS2 this week.
Wanted this since the Hebrew/RTL routine fixing i did on other devices needed deodexed ROMs to work (modifies framework.jar/libwebcore.so).
I'll give it a shot today or tomorrow and report back.
Either way, THANK YOU very much for the effort!

I know this is a stupid question, but where can i find my factoryfs_out.img iv done the cmd bit but cannot find the factoryfs_out.img to mount??

Related

[KERNEL/TUTORIAL] UPDATE 31/07 Howto mod the stock XXJVR/S/T kernel SU/Init.d Support

Well what do you do when you're bored and need some distraction .....Modify the stock kernel and include SU!
If you just search on the internet and especially on XDA than you find out that this is not so difficult.
The only purpose of this modified kernel is install SU and thus get ROOT
Why superuser and busybox are not installed by default is simple: it takes only 1 minute to download it from the market...
So here I give you the stock kernel + su/Root for XXJVQ/ XXJVR
installation:
1. Flash the tar file with Odin
2. Download superuser from the market and install it
3. Download Busybox installer from the market and install it
Credits to Supercurio, Hardcore, Liliniser for the tools and sources
Tutorial is Linux based!!!
So if i can do it than you can do it also!! All you have to do is read and follow post 2
Update 01/08/11 Added XXJVT
Update 01/08/11 Added Working XXJVR
Update 06/07/11 Howto add init.d support to the kernel (post 3)
Tutorial
1. Download and install the needed tools
2. extract de stock kernel to a temporary directory
3. modify the init.rc script to include your su install script.
4. add in the tmp folder busybox and su
5. add in the sbin directory your install script.
6. Recompile the kernel
7. Tar de kernel
8. Flash the kernel with heimdall or Odin
1. Download and install the needed tools
* Cross compiler: http://www.codesourcery.com/sgpp/li...eabi/arm-2009q3-67-arm-none-linux-gnueabi.bin and install it to /opt/toolchains/arm-2009q3/
* Kernel repacker made by Liliniser / dkcldark : Download from supercurio's github. with (if installed) git clone git://github.com/project-voodoo/kernel_repack_utils or goto the website https://github.com/project-voodoo/kernel_repack_utils and click on download.
* Download busybox,su and the install script from this post, and extract the files.
2. extract de stock kernel to a temporary directory
Copy the original zImage to de directory where you extracted the kernel repacker
Rename it to zImage.org
create a temp directory in the kernel repacker directory
Open a linux shell and go to kernel repacker directory
./extracter.sh -s zImage.org -d temp (hit enter)
3. modify the init.rc script to include your su install script.
Go to the temp directory and edit init.rc with your favourite editor and put this on a new line at the end off the file.
service install_su /sbin/install_su.sh
user root
oneshot
Save the file and exit
4. add in the tmp folder busybox and su
copy busybox and su to the tmp folder in your extracted kernel folder
make sure they are markt als executable.
5. add in the sbin directory your install script.
copy install_su.sh to the sbin folder in your extracted kernel folder
6. Recompile the kernel
Open a linux shell and go to kernel repacker directory
./repacker.sh -s zImage.org -d zImage -r temp -c gzip
congratulations you must cooked your first modified kernel
7. Tar de kernel
tar -H ustar -c zImage >code.tar
8. Flash the kernel with heimdall or Odin
Howto add init.d support to the stock kernel
Whell this is easy to implement
1. Open a linux shell and goto to the extracted kernel directory. (read post 2 howto do that)
add the following lines to the init.rc file
Code:
service initd_support /sbin/initd_support.sh
user root
oneshot
Save the file and exit
2. Create a new file in the sbin directory called initd_support.sh and add the following code
Code:
#!/tmp/busybox sh
if cd /system/etc/init.d >/dev/null 2>&1 ; then
for file in S* ; do
if ! ls "$file" >/dev/null 2>&1 ; then continue ; fi
/system/bin/sh "$file"
done
fi
Save the file and make it executable
3. repack the kernel (see post 2 for the howto)
4. on your device mount system Read/Writable and create the directory /system/etc/init.d
5. Copy your init scripts to /system/etc/init.d/
Make sure the name starts with a S, and set the permissions to 777
Example step 5/6
Code:
adb push Stweakscript /sdcard/
adb shell
su
/tmp/busybox mount -o remount,rw /system
/tmp/busybox mkdir /system/etc/init.d
/tmp/busybox cp /sdcard/Stweakscript /system/etc/init.d/Stweakscript
/tmp/busybox/chmod 777 /system/etc/init.d/Stweakscripts
7. flash the kernel
I'm sorry in advance.
But WTF?
vladoots said:
I'm sorry in advance.
But WTF?
Click to expand...
Click to collapse
If you only want to root your rom don't wait for devs to do it but do it your self
lownoise said:
If you only want to root your rom don't wait for devs to do it but do it your self
Click to expand...
Click to collapse
Yes, and for learning purposes. Thanks for the tips, I was sitting down to do this on another phone the other day actually... it's good to see your ideas, I was getting pretty frustrated with the limited Android init environment (the toolbox commands are so limited!).
Thanks for this nice tutorial.Worked great!
Great! Now we have good rooting kernel.
If I want root - I want root, not tweaks and other "shiny" things.
Cfroot breaks BT in some cases, Fuguroot breaks Kies connection.
Kernel which don't add Superuser.apk as a system application is the best choice - we don't have to delete other system files and there are updates of this app, so why should we have older version on /system and new on /data as an update?
Can I do "adb root" on this kernel ?
Sure Just install superuser and busybox from the market
Wooow! These are the sort of tutorials I miss here sooo much. It's a developer forum, but what we are getting here mainly are ready-products (roms, modded kernels). And why not to do it yourself. But sometimes googling for the information is not so easy, because applies to different conditions(devices, phone models, soft versions). There are many people who would spend their time learning how to compile a kernel or edit framework files. But there are so few tuts on this here... I miss tuts that tell how to do things step-by-step, without any specific linux/java knowledge.
sebarkh said:
Wooow! These are the sort of tutorials I miss here sooo much. It's a developer forum, but what we are getting here mainly are ready-products (roms, modded kernels). And why not to do it yourself. But sometimes googling for the information is not so easy, because applies to different conditions(devices, phone models, soft versions). There are many people who would spend their time learning how to compile a kernel or edit framework files. But there are so few tuts on this here... I miss tuts that tell how to do things step-by-step, without any specific linux/java knowledge.
Click to expand...
Click to collapse
And therefore I did it. Share the knowlegde and safe this forum
Why doesn't XDA have more stuff like this?
Thanks OP!
Yes, I must thank you too.
Now I understand... Sorry for my initial confusion!
I've problem:
after applying script:
line 47: ./out/project/original.cpio -> no such files or directory
Any idea ?
Where is original.cpio files ?
Screen of error:
{
"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"
}
tq man...!!
man this is amazing, I was looking for something simple like this for months. It's right, should be more posts like these in xda
+1
Thank you very much for this, lownoise
We need more topics like that, since I am interested to learn myself...
Members posting tutorials like that are always appreciated, I cannot thank you enough.
Do you know how to replace the recovery 3e with 2e additionally?
It would be great to know since I want to have it CWM compatible (flash unsigned update.zip)
AFAIK recovery is a part of the kernel....
It would be great if you could point me to the right direction.
Others probably would like to know that as well.
Thanks again.
dago said:
I've problem:
after applying script:
line 47: ./out/project/original.cpio -> no such files or directory
Any idea ?
Where is original.cpio files ?
Screen of error:
Click to expand...
Click to collapse
Which kernel did you try to modify
lownoise said:
2. extract de stock kernel to a temporary directory
Copy the original zImage to de directory where you extracted the kernel repacker
Rename it to zImage.org
create a temp directory in the kernel repacker directory
Open a linux shell and go to kernel repacker directory
./extracter.sh -s zImage.org -d temp (hit enter)
Click to expand...
Click to collapse
Two noob questions:
1. from where to copy zImage file? Where can I find zImage file?
2. How to open linux shell? Should I install linux shell application on my PC and run it or?
Sorry for such questions but I want to try.
Thanks.

[GUIDE] How to Customize a ROM

I made this guide because I've found that a lot of us doesn't satisfied with our current custom ROM. Please don't bully the dev to make a rom with our personal preference. You may follow this guide instead to modify the custom rom to suit with your personal taste. I hope I could make it as simple as possible so all of us so even a new android user could understand. Please make sure you've read this guide throughly before make any modification.
Please note that this is just a simple guide. You won't find any guide about theming a rom here. Please refer to another guide about uot kitchen or apk modification.
Click to expand...
Click to collapse
tools:
1. a custom rom (to be customized) or stock rom.
2. 7zip or another similar program
3. apk files
4. dsixda kitchen (not mandatory)
5. apktools (not mandatory)
6. titanium backup (not mandatory)
7. CWM.
First of all, extract your custom rom. You'll see that the custom rom's zip file contain several files and folders. Some of them are common and could be find in almost all custom rom. The files and folders are:
1. meta-inf : contain the script needed to install the rom (don't touch it if you don't understand about scripting nor dsixdia kitchen).
2. system : contain the system files and folder of the custom rom
3. boot.img : the kernel used in the custom rom
4. additional file : (eg:install-busybox, check-data and bmlunlock) additional file contain scripts needed to install additional feature (eg: busybox, additional app in data/app, and install custom kernel) in the custom rom.
NOTE: you can start from either stock or custom rom. If you start from stock rom, use CWM to make nandroid backup, then extract the system.rfs.tar. That's the system folder that we need later. You'll need installer script from other custom rom to make your rom installable to other device. In my past experience, the script form hybrid 2.1 or myss 3.4 is easy to use. I'd like suggest use them if you only want a light customization (without custom kernel, init.d script, or a2sd support.)
Click to expand...
Click to collapse
If you don't know much about them, don't touch anything but system folder. now, open the the system folder. You'll see a lot of folders and some common files. Leave CSC files and SWconfiguration intact if you don't know about them. You can edit build.prop to insert more build.prop setting or modify the content if you understand how to do it. To change the rom's name, edit the value for 'ro.build.display.id'. You may also change the value for 'ro.build.version.release' to any number like 9.9.9 if you want to show off your modified custom rom
I'll give a quick explanation about the folders in /system.
1. app : contain all the system's app
2. bin : contain the command and bin files for the rom (don't touch it)
3. cameradata : camera files
4. csc : csc files. contain dictionary for the keyboard
5. etc : additional setting and files for the rom
6. font : the fonts
7. framework : system's framework
8. lib : drivers, modules, kernel related files for the rom
9. media : media files-ringtones, notification
10. sd : folder created by a2sd darktremor. (don't touch it)
11. usr : files needed for keyboard, bluetooth, etc.
12. xbin : additional command and bin files (busybox is normally installed here)(don't touch it)
13. T9DB: dictionary and language database for swype and stock keyboard
NOTE: if you start from stock rom, copy all the files under /system folder (the one from system.rfs.tar) except /system/bin and system/xbin. don't touch them.
Click to expand...
Click to collapse
now, you're ready to customize the rom. I'll divide the guide into several section. pass the section if you don't want to modify it.
>>> SYSTEM APP-CUSTOMIZATION <<<
Click to expand...
Click to collapse
DEODEX VS ODEXED ROM. Most of custom rom available is deodexed rom while our stock rom is half deodexed rom. I'll try to explain it in most simple way. First of all, we should understand that mostly every app in android consist of three part, *apk files, *dex/odex files, and lib files.
ODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in same folder with the apk files (/system/app). the positive side, it consume less internal memory and a execute faster. the negative side, it makes the app uncostumizable (cannot apply custom themes) and need more space in system partition.
DEODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in /data/dalvik-cache. the positive side, the app can be themed (full customizable) and consume less system partition. we could put more app in /system/app in deodexed rom. the negative side, it consume a lot of internal memory. please be cautious with the internal memory space if you use deodexed rom. (NOTE: if you start from stock rom, you may use dsixdia to convert odexed to deodexed rom).
system app customization is easy. you can add or remove any app in /system/app folder as long as it fit with the space in sistem partition (220MB). if you start from stock rom, please be cautious to not remove essential app from the folder. you may see the app in hybrid rom v.2.1 to see which app is safe to remove or not (the spreadsheet document in this forum is gone. sorry). having ~20mb free space in system partition is a good thing if you want to make the rom more customizable.
NOTE:
1. not all apk could be placed in /system/app (especially keyboard app)
2. tw launcher file is named tw'xxxxx'launcher.apk. you may remove it if you have another launcher.
3. not all custom launcerh could be placed in /system/app. you may put the launcher from other custom rom to minimalize the risk.
4. for the app info reference, please refer to this link
https://docs.google.com/spreadsheet/pub?key=0AulpDQBL_oTOdDRIbnV5b0UyQTd0TDNZSFBKYXJ1blE&output=html
if anyone want to edit it please contact me.
Click to expand...
Click to collapse
>>> THEME-CUSTOMIZATION <<<
Click to expand...
Click to collapse
Basicly, theme is easily changed by replacing systemUI.apk in /system/app and framework-res.apk in /system/framework. You may put theme from another custom rom or make for yourself from uot kitchen or make it by yourself with apktool. A high modified theme like dysmenorrhea is also modify some part in setting.apk and jobmanager.apk. and another app. Don't forget to delete the *odex file (for all changed app only)from /system/app if you start from stock rom.
NOTE: please be aware with the base firmware of the rom. make sure that systemUI.apk and framework-res.apk files are from exact firmware version. I've found that theme for DXLA, DXLB, DXLC are exchangeable but you can't put theme from DXKL2 to DXLA or the reverse. to minimize any risk, please use themes only from exact same firmware.
>>> PERFORMANCE-TUNING <<<
Click to expand...
Click to collapse
Performance tuning could be done in several ways. the easiest (proven works but risky) method is by edit build.prop file. I won't give you all the script. Feel free to search and apply the script with your personal preference. you can found in this forum or just copy from another rom. these script below is used to increase gprs/hsxdpa speed. this script is a common script and proven to be works in a lot of device. (I forgot the original source. sorry)
Code:
ro.ril.enable.dtm=1
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.3g.prefix=1
ro.ril.hsdpa.category=8
ro.ril.hsupa.category=6
ro.ril.hsxpa=2
ro.ril.enable.a53=1
there are also some common tweaks for build.prop file. these are the one I always using in my rom.
Code:
#mod battery kats
debug.performance.tuning=1
pm.sleep_mode=1
video.accelerate.hw=1
windowsmgr.max_events_per_sec=150
ro.ril.disable.power.collapse=1
wifi.supplicant_scan_interval=150
#mod performance
dalvik.vm.execution-mode=int:jit
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.media.enc.jpeg.quality=100
ro.telephony.call_ring.delay=0
video.accelerate.hw=1
ro.kernel.android.checkjni=0
ro.HOME_APP_ADJ=1
======
the second way, (little bit harder, but its still proven works) by create or modify some file in /system/etc. I'll give you some of them.
1. sysctl script-to increase internet speed.
make a new file in system/etc, name it 'sysctl.conf' (or edit if it already exist). put this script inside.
Code:
net.ipv4.tcp_wmem = 4096 39000 187000
net.ipv4.tcp_rmem = 4096 39000 187000
net.ipv4.tcp_mem = 187000 187000 187000
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.route.flush = 1
net.ipv4.ip_no_pmtu_disc = 0
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
its a common sysctl mod for linux based OS (I found it in another mod for another device but I forgot the source). you'll need busybox, and terminal emulator. to run it, type:
'su
'sysctl -p
in your terminal emulator (without ' symbol).
2. GPS mod-to make the GPS lock faster
this mod is based on zeusseuz's guide. please see this page for further information (the script is quite long) http://forum.xda-developers.com/showthread.php?t=1552076
======
the last way...by init.d script. it only works in custom kernel. I won't put any script here. you should find by yourself. you can use make a file in init.d with there script to check if your kernel support init.d script.
Code:
#!system/bin/sh
touch data/kurotsugi_test.txt
set the both init.d folder and the file's permission to rwxrwxrwx (777)
if the script work, you'll find kurotsugi_test.txt in /data.
======
>>> ADDITIONAL CUSTOMIZATION <<<
Click to expand...
Click to collapse
I'll only put the one I've tested and proven to be works.
1. beats audio
this is the old version but doesn't have FC issue. get the file from here http://forum.xda-developers.com/showthread.php?t=1526643
unzip. copy all the files into their respective folder
2. bravia engine
put be_photo and be_movie in system/etc folder then edit the build.prop file doesn't seems work. The real bravia engine mod is consist of
- be_photo, be_movie in /system/etc
- com.sonyericsson.android.SwIqiBmp.xml in /system/etc/permission
- com.sonyericsson.android.SwIqiBmp.jar in /system/framework
my megabassbeat mod contain these files. you can get it from there.
3. boot animation
download or get custom boot animation file from another custom rom or another source. rename it to bootanimation.zip, put it on /system/media.
you may check this out http://forum.xda-developers.com/showthread.php?t=1548479
please note that DXLB rom doesn't support bootanimation. you need to put bootanimation and samsungani files from another rom (like hybrid) in /system/bin and replace all file in /system/lib with lib files from older firmware (DXLA or older)
4. boot sound
make or download boot sound. please make sure the format is *ogg. rename it to poweron.ogg then put it in /system/etc.
5. custom ringtones, notification,
make or download the sound file (in ogg format). put it in /system/media/audio/(respective folder)
6. disable boot animation (for quick boot)
put 'debug.sf.nobootanimation=1' in build.prop.
7. megabassbeats (better than beat bass)
you can get the file from this link http://forum.xda-developers.com/showthread.php?t=1646406. you'll need to copy the files into its respective folder.
If you've done with the customization, enter the custom rom folder. select all the files then create zip file. to install the rom, copy to your sdcard, flash it either by stock recovery or CWM after wipe /data. PLEASE MAKE SURE THAT ALL THE FILES DOESN'T EXCEED THE LIMIT 220MB BEFORE ZIPPED.
This guide can be used if you want to make your own rom. if you start from stock rom, you may use this script (its from myss v.3.4) to install the rom. please make note that it will only install the rom, not the kernel. you'll still need the bin and xbin folder from custom roms in order to make it work.
http://www.mediafire.com/download.php?skw1ytt37mklb4o
DISCLAIMER:
1. do it with your own risk
2. please note that NOT ALL YOUR MODIFICATION WILL WORK. ROM modification is seriously hard thing. its not easy. thats why we should give the dev proper respect to them. you'll need a lot of research to make it work.
3. this guide is made for personal use only. don't publish the customized rom without permission from the original dev.
Click to expand...
Click to collapse
All credits for the dev who make the rom, the one I've used the guide here, and all XDA member. no need to say thanks or press it for me. give that to the real dev. I'm just a noob here. Feel free to correct me if I'm wrong.
ADDITION STUFFS
==============
Click to expand...
Click to collapse
1. dualboot
this mod actual intent is to make developing a rom a lot more easier without risking our native rom. I was using it a lot when customizing my rom. you can get the original link for dualboot here: http://forum.xda-developers.com/showthread.php?t=1598803 and for a little more detailed step how to use it http://forum.xda-developers.com/showthread.php?t=1600973.
you can find another dualboot kernel here. http://www.mediafire.com/download.php?gkb33aktyf7wbbh
this one have init.d support. all credits goes to irfanbagus
2. data2sd
this mod is used to increase data partition size. you can find the complete guide here http://forum.xda-developers.com/showthread.php?t=1622052
Noob guide: Light theming
just for addition...this guide is only about change minor aspect in your theme. please don't expect any hard modification. we'll only change some of the picture used by the app.
what you need:
1. 7zip
2. any graphic editor program
3. systemUI.apk and framework-res.apk
the steps:
1. extract both apk files
2. open /res/drawable-ldpi. you'll see the graphic files used by the app.
3. replace any graphic files with yours. please make sure the resolution size and the name are same.
4. open the apk file. right klik>7zip>open archive
5. drag n drop /res folder (from the extracted one) to 7zip.
6. push it to your rom
7. cross your finger...reboot your device.
IF YOU WANT TO CHANGE THE SETTING BACKGROUND, CHECK THIS LINK.
http://forum.xda-developers.com/showpost.php?p=25061115&postcount=90
it's a tranlated version of this post:http://www.kaskus.us/showpost.php?p=649687134&postcount=5784
all credits for heriawan.fx who make the original post.
m only translated it and post it to here.
CAUTION:
some user have found that this background setting mod cause a problem in deskclock.apk. if this happen, you can replace the deskclock.apk with this one http://www.mediafire.com/download.php?w5vchbdyj2k9837
please delete deskclock.odex if you're using a stock odexed rom.
Click to expand...
Click to collapse
NOTE:
- don't forget to make backup
- you may use the files attached in this post to push the file into your ROM. put systemUI in app and framework in framework.
here are some pic from my customized rom. its an odexed rom with a slight customized repencis v.2.5 theme.
{
"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"
}
the launcher is downloadable here
http://forum.xda-developers.com/showthread.php?t=1596280
Hmm, gonna read this later. It's a wall of text on phone lol. Hope I don't forget.
Anyway thumbs up for the effort.
Sent from my GT-S5360 using xda premium
reserved
good work dude
have done a lot of homework lol
excellent work bro !!
very informative.....really appreciate your work
thanks alot .
Wonderful thread. Can you give tutorials on how to recompile framework-res.apk with apktools? I always end up with lots of warnings regarding translations and end up with an apk which is about half the size as the original. And lots of force closes once it is pushed
Sent from my GT-S5360 using Tapatalk
bumslayer said:
Wonderful thread. Can you give tutorials on how to recompile framework-res.apk with apktools? I always end up with lots of warnings regarding translations and end up with an apk which is about half the size as the original. And lots of force closes once it is pushed
Sent from my GT-S5360 using Tapatalk
Click to expand...
Click to collapse
Sorry...I'm just a chemistry student and consider my self as a noob here. I never use apktool before and only use 7zip, notepadd++ and simpel graphic editor program to modify an apk files (only light theming). its a lot of simpler and easy for a mid user like me.
you may follow this guide instead
http://forum.xda-developers.com/showthread.php?t=1466100
Noted bro. I already took a peek at the link you gave. Thanks anyway.
Sent from my GT-S5360 using Tapatalk
bumslayer said:
Wonderful thread. Can you give tutorials on how to recompile framework-res.apk with apktools? I always end up with lots of warnings regarding translations and end up with an apk which is about half the size as the original. And lots of force closes once it is pushed
Sent from my GT-S5360 using Tapatalk
Click to expand...
Click to collapse
hey
I can provide you the tutorial for framework and system ui apks
with apktool for sgy
I think you are trying to make your themes
if that is I will provide the tutorial tommorow
if you need it
why don't you PM repencis? the setting.apk in repencis v3 changed a lot from the original one. I thought he could help you.
EDIT: thedeadlycoder seems already have the solution for you
Hahaha indeed he does! @deadlycoder I am anticipating your pm soon
Sent from my GT-S5360 using Tapatalk
I think I'll put a light theming tutorial in my reserved post...
Thanks for saving us dude! You rawk!
Sent from my AURORA ULTRA GT-S5360 through XDA Premium Customized by Androhacker Xavier
Very useful thread.Thanks
How can i confirm my init.d is working?is there any specific command for terminal emu :
su
init.d check (myb?) or with init.rc etc installed would be enough to prove it is working?
previously i tried init d-autorun-stock to my stock rom but not confident with tht method.Found [Script] init.d for STOCK ROM thread n member report its worked.
Thanks in adv.
thats a good question. please note that some of init.d script doesn't work in our device even if the script is running. stamatis's battery n performance script is one example. because of some script in init.rc (in kernel) it never change the value for RAM setting. to check the init.d script you may make a new file in init.d script. name it stest, put these script
\system\etc\init.d\99test
#!/system/bin/sh
touch /data/local/tmp/init.d_log_test.txt
echo "done" >> /data/local/tmp/init.d_log_test.txt
these script is made by doky73. if the init.d script works, you'll find 'init.d_log_test.txt' file in /data/local/tmp/ . init.d scipts need busybox don't forget to install it in your device
Kurotsugi
What is the correct permission for 99test?is it same like the others=777?
no problem if i change through root explore right?my device deny the latest version
of busybox 19.4 is this due to old su binary?19.3 will do right?
yup...thats fine. as long as the system could read it, the script will run at boot (if only it really support init.d scipt). any busybox version is OK as long as you have the binary files needed (in this case echo and touch). in my past experience, only vivek's kernel proved to support init.d script. I forgot the version. but its the last version without CWM integration.
kurotsugi said:
only vivek's kernel proved to support init.d script.
Click to expand...
Click to collapse
Kurotsugi..Thank u so much.I agree with u.Init.d script will only work with some kernel only.It is kernel dependent.My 1st attempt with stock kernel failed then
i change with stock kernel modify by blooper1 and succeed..Are u really a chemist
student ...Today is my off day n im gonna create all ur provided script.Thanks
again..
well...thanks for everyone here and this forum which help me learned a lot of stuff about android much faster. sgy is my first android device and I've only been using it for three months. with everyone help and information here I could make my own custom rom about one month ago. it sure nice to share about our sgy here :3
Wow! This seems really helpful and very useful thread. It gives me an eye opener.. Thanks!

Deodex Your Rom (update 20/12/2012 - Added Lt28h_6.1.E.3.7 Deodex

The ICS L28h/i rom is not deodexed. This hinders the development of Mod's and Custom Rom's.
Also flashing mods will usually require a deodexed rom.
Here are the CWM Flashable Zip for deodexing the L28h/i ICS Rom.
How to Deodex Using ROM Kitchen (Second Post)
Click to expand...
Click to collapse
Downloads:
LT28h_ICS_Deodex_Cwm.zip - 167 MB (6.1.E.0.233)
LT28h_ICS_Deodex_Cwm.zip - 157 MB (6.1.E.1.20) (Credit: accts)
LT28h_ICS_Deodex_Cwm.zip - 189 MB (6.1.E.2.68) (Credit: pepitto52)
LT28h_ICS_Deodex_Cwm.zip - 178 MB (6.1.E.3.7)
LT28i_ICS_Deodex_Cwm.zip - 169 MB (6.1.E.1.19)
LT28i_ICS_Deodex_Cwm.zip - 169 MB (6.1.E.2.29)
LT28i_ICS_Deodex_Cwm.zip - 178 MB (6.1.E.2.68) (Mirror - Credit accts)
LT28at_ICS_Deodex_Cwm.zip - 195 MB (6.1.C.1.105) (Credit: accts) [MIRROR]
Click to expand...
Click to collapse
Rom Kitchen Download:
The Rom Kitchen I used to deodex the rom.
Rom_Kitchen.zip - 25 MB
Click to expand...
Click to collapse
Cygwin Download:
Download and unzip this. This will create "cygwin" folder.
Execute the Cygwin.bat inside this folder to start cygwin.
cygwin_unzip_and_run.zip - 147 MB
Click to expand...
Click to collapse
Deleted Unwanted Apps:
DeleteUnwantApp_ION_Cwm.zip - 142 KB
DeleteUnwantApp_ION_Cwm_Updtd.zip - 142 KB
Flash the script using CWM recovery.
Deletes the following apps:
EventStream.apk
EventStreamPluginFacebook.apk
EventStreamPluginTwitter.apk
FBCalendarSync.apk
FBIAppShare.apk
FBMediaDiscovery.apk
FBMusicLike.apk
FBSetupwizard.apk
JapaneseIME.apk
MagicSmokeWallpapers.apk
neoreader.apk
PhaseBeam.apk
POBoxSknMono.apk
POBoxSknPink.apk
talkback.apk
POBoxSknWood.apk
PostViewer.apk
SemcEmail.apk
SEMCFacebookProxy.apk
SemcNotes.apk
SocialEngineFacebookPlugin.apk
SocialEnginePicasaPlugin.apk
SocialPane-Apps.apk
SocialPane-FeedWidget.apk
SocialPane-FriendsWidget.apk
SocialPane-StatusWidget.apk
textinput-chn.apk
textinput-tng.apk
timescaperssplugin.apk
TimescapeSpline.apk
TwitterPostViewer.apk
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Flashing:
1. Download and Copy the zip file into the external sd card.
2. Go to CWM recovery and flash the zip.
3. Clear Cache.
4. Clear Dalvik Cache.
5. Reboot.
Click to expand...
Click to collapse
Disclaimer:
The usual ones apply.
Click to expand...
Click to collapse
How to Deodex Using ROM Kitchen.
Requisites:
1. XUltimate or any other similar tool which can pull all the Apk's and Framework's from the phone.
2. Rom Kitchen (Link On OP)
3. Java (required by Rom Kitchen).
4. Zip utilities.
5. Deodex Empty Shell zip. (Deodex_Cwm_Shell .zip - 236 KB)
6. Windows (Cygwin) or Linux ( I won't go into technicalities) (If in Windows Cygwin folder is not in C Drive, edit the Cygwin.bat and change the Cygwin location accordingly)
Click to expand...
Click to collapse
How:
1. Pull all the Apk's and Framwork's along with the .odex files.
2. Rename the folder with the Apk's as "app"
3. Rename the folder with the Framework's as "framework"
4. Create a folder called Deodex_Cwm. (You can choose your name).
5. Inside the Deodex_Cwm folder, create another folder called system.
6. Copy the app and framework folder with the apk's and framework's into system.
7. In the case of ION, I found that there is a file "playstationcertified.odex", rename it to "com.playstation.playstationcertified.odex".
7. Zip the Deodex_Cwm folder.
8. Copy this zip into "original_update" folder inside Rom_Kitchen folder.
9. Run the menu script. It is inside Rom_Kitchen/kitchen/. At command prompt type
Code:
./menu
and press enter. You have to be in "Rom_Kitchen/kitchen/" folder to be able to execute this script.
10. From menu select "0 - ADVANCED OPTIONS", then select "24 - Miscellaneous options / Plugin scripts".
11. Now select "(4) Batch_Deodex"
12. Press Enter to continue.
13. Press Enter Again to continue.
14. Press Enter Again to continue.
15. Press Enter Again to continue.
16. Now the Deodexing process will start. It will show a message when the process ends.
17. Rom_Kitchen creates a WORKING_mmddyy_hhmmss folder for processing the files.
18. Once the processing is done, the files are moved to batch_mmddyy_hhmmss.
19. Open the Deodex Empty Shell zip (do not extract). drag and drop the app and framework folders from the batch_mmddyy_hhmmss into the system folder inside the opened zip.
20. You also change the Text inside the updater script in the folder "META-INF/com/google/android" inside the open zip. Use notepad++ under windows, under linux you can use any editor.
21. Now close the zip and copy it to the external sd card in the phone and flash it using CWM Recovery.
Click to expand...
Click to collapse
Pulling apks using adb.
connect phone to pc, open terminal and enter the following commands:
adb start-server
adb devices [to check if your device is found]
for linux
mkdir system
cd system
mkdir app
mkdir framework
cd app
adb pull /system/app
cd ..
cd framework
adb pull /system/framework
Click to expand...
Click to collapse
for windows
md system
cd system
md app
md framework
cd app
adb pull /system/app
cd ..
cd framework
adb pull /system/framework
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Successfully Deodexed.
Sent from Rooted LT28at with ICS.
Flashing was successful
Sweet this should open up some options now. Awesome stuff.
Thanks so much for this. First thing I tried was the v6 supercharger script and everything works flawlessly. The script solved the redraw problem I was having with nova launcher. Now my ion flies!
Sent from my LT28h using xda premium
It worked - I was successfully flash the status bar with quick setting. This is way too cool.
{
"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"
}
Sent from my LT28at using Tapatalk 2
accts said:
It worked - I was successfully flash the status bar with quick setting. This is way too cool.
Sent from my LT28at using Tapatalk 2
Click to expand...
Click to collapse
Link please.
Sent from Rooted LT28at with ICS.
jeriku said:
Link please.
Sent from Rooted LT28at with ICS.
Click to expand...
Click to collapse
Look into the Xperia S/P/U apps - This is the one I used "StatusBarTogglesWithBatMod-v2-HDPI.zip" - Here is the Link - http://forum.xda-developers.com/showpost.php?p=28679440&postcount=1
Maybe I'll try some other in there to see if they're work - Although I'm happy with this one for now.
The ones on the link will not work, if flashed thru CWM recovery. The mount points are different. Here is the one for ION.
Just changed the mount points in the edify scripts.
StatusBarTogglesWithBatMod-v2-HDPI.zip
Maybe you're right - I did flashed, didn't see any change. So I manually using root explorer changed it and it worked.
Thanks for the explanation and the redo.
Edit: noticed battery burn quicker ! Just a head up for people want to use this quick setting. Or maybe I just deodexed my rom and it need time for battery adjustment - will update in couple days.
Sent from my LT28at - ICS - Rooted and now Deodexed !
accts said:
Maybe you're right - I did flashed, didn't see any change. So I manually using root explorer changed it and it worked.
Thanks for the explanation and the redo.
Edit: noticed battery burn quicker ! Just a head up for people want to use this quick setting. Or maybe I just deodexed my rom and it need time for battery adjustment - will update in couple days.
Sent from my LT28at - ICS - Rooted and now Deodexed !
Click to expand...
Click to collapse
You are welcome
dizarmstrong said:
Thanks so much for this. First thing I tried was the v6 supercharger script and everything works flawlessly. The script solved the redraw problem I was having with nova launcher. Now my ion flies!
Sent from my LT28h using xda premium
Click to expand...
Click to collapse
hi hi can i have the supercharger file? working with ICS? i been to the main thread but cannot seems to find it.
and what number did u presS?
icbless said:
hi hi can i have the supercharger file? working with ICS? i been to the main thread but cannot seems to find it.
and what number did u presS?
Click to expand...
Click to collapse
Its on the post 2 of the supercharger thread.
ganeshbiyer said:
Its on the post 2 of the supercharger thread.
Click to expand...
Click to collapse
DELEtE
Can't wait to see themes and mods for our phone
delete
Can somebody help me after i deodex my lt28h my superuser and my es file manager is no longer function..any help would be highly appreciated.
Sent from my LT28h using xda premium
have you uninstalled and reinstalled?
I use Astro and all is working OK.
Or Root explorer.
Yes i tried uninstalling and reinstalling it but its still the same..i think deodexing affected it..also the superuser it stopped working.
Sent from my LT28h using xda premium

[Tutorial] How to change kernel logo (1st boot srceen) [COMPLETED]

We have 3 major works here... So I gonna to make it seperated
-1st post is HOW TO EXTRACT kernel.img (boot.img)
-2nd post is HOW TO CONVERT PICTURE FILE to BOOT.RLE
-3rd post is HOW TO REPACK THE KERNEL PAKAGE into boot.img
Requiredment
-Window machine
-installed cygwin
-the full boot.img/kernel (some kernel won't work because there is no full pakage/ i mean we can't)
-bootimg.zip (tool for UNPACK and REPACK kernel)
-boot_screen_logo_creation_package.rar
Thank and Credit
i- Credit to DooMLoRD Recognized Developer over most of XPERIA devices for his own tool and tutor that I learned before
ii- Credit to jimbo77 Senior Member for his tutorial that I used and learned and tool for unpack and repack
ii- Don't forget to give them a thanks meter
=============================================================================
Here we go
1-This section I will show u how to unpack and repack the boot.img
just see from original thread by jimbo77 from here and download the UNPACK and REPACK tool by him HERE
this is a fast guide from me:-
1-extract the bootimg-tools.zip into new folder (name it 'boot' folder)
2-move it into cygwin directory (cygwin/boot)
3- move your fav kernel into same directory
4-run cygwin.bat
cd /boot
Click to expand...
Click to collapse
{
"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"
}
5-Now, unpack your boot.img by running the following command:
./extractboot boot.img
Click to expand...
Click to collapse
If your output looks like this, then the extraction has worked correctly! Note that the Command Line string has also been read from the source file, this will be used later when you go to re-pack your file.
Your script folder should now look like this:
boot.img-kernel is the compiled kernel blob that was inside the source boot.img, if you want to replace the kernel with another compiled kernel image, you can replace this file with another one (but leave the file name the same)
boot.img-ramdisk.gz is the gzipped ramdisk image which has been split from the boot.img, you should leave this file alone.
The “out” folder contains the EXTRACTED ramdisk, and this is where you should make your changes to the ramdisk.
Important Note!
Remember, when editing files in the ramdisk through Windows, such as init.rc, Windows notepad will not format the files correctly, making them almost impossible to read, wheras Wordpad will LOOK like it is formatting the files correctly, if you save one of these files from the Wordpad application it will BREAK the file and it will no longer be able to be read correctly by Android. To edit these files you MUST use an editor such as Notepad++ which you can download for free.
AGAIN...
Special thanks/credit to jimbo77 for his excellent guide
So.. NEXT step to change a kernel logo is here
Requiredment
1-a picture what are u like to look into the 1st boot screen (kernel logo) (make sure it size/resolution same your device resolution)
2-boot_screen_logo_creation_package.rar
3-some infos and knowledges here
4-window machine like i explained on 1st post
My quick guide
-extract the tool.rar
-move extracted files into new folder (name it 'rle' folder without quote)
-move into cygwin folder (to make it easy to follow my simple guide)
-copy your own logo.png (a picture u want to use on a kernel) into same rle folder
(for 4 steps above it shold look like tis)
-now launch cygwin.bat
cd /rle
Click to expand...
Click to collapse
./convert_image_to_rle.bat logo.png
Click to expand...
Click to collapse
Ah...my mistake..don't forget to move/copy/replace new logo.rle into
C/cygwin/boot/out/ramdisk/here
if you done good...follow next step on next post (to repack your moded kernel)
Last step before you flash a new look kernel (boot.img) is
Repack your moded kernel
./packboot
Click to expand...
Click to collapse
One thing to note that people may mention in other guides, is that when packing boot.img files, you will usually have to declare a base address, and a command line to the packaging tool. This set of scripts reads the existing command line and base address from the boot.img file you originally provided at the time of repacking, so always make sure you leave your original source boot.img file in the folder and do not re-name it after extraction, your newly created boot.img file will be named boot_new.img and will NOT overwrite the original.
Done! If your screen looks like the image above, then you should now have a freshly created boot_new.img file, ready to be flashed to Android for testing, you can now go ahead and flash it through FASTBOOT one thing I'll recommend though is to first do
I need this for an extra (extra thanks..)
(may U?)
I did all the steps as you did. Packed boot.img and flashed but i still see old boot logo. Device is Huawei u8650
at this step ı have this Screen
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Well I've been scratching my head about this and just can't work out what's going wrong - after I run the ./extractboot boot.img command I keep getting the message: './extractboot: ./split_bootimg.pl: /usr/bin/perl: bad interpreter: Permission denied
./extractboot: line 17: cpio: command not found
gzip: ../../boot.img-ramdisk.gz: No such file or directory'
I followed your instructions as below:
1-extract the bootimg-tools.zip into new folder (name it 'boot' folder)
2-move it into cygwin directory (cygwin/boot)
3- move your fav kernel into same directory
4-run cygwin.bat
When you say "move your fav kernel into same directory", what do you mean? Move it into the 'boot' folder? Or do you mean the 'cygwin' folder?
Any help you could give would be greatly appreciated - confused.com!
boot.img file problem
HTC ONE X beataudio
ENDEAVORU PVT SHIP S-ON RL
HBOOT-1.36.0000
CPLD-None
MICROP-None
RADIO-5.1204.162.29
eMMC-bootmode:disabled
CPU-bootmode: disabled
HW Secure boot:enabled
MODEM PATH : OFF
Nov 16 2012,18:32:39
cid: HTC__044
i install this ROM (cm-10.1-20130404-NIGHTLY-endeavoru.zip) file but can't boot.
boot problem how to fix pls i did flash boot.img file also but same problem.pls help
please re upload this file "boot_screen_logo_creation_package.rar" link is dead on mediafire
doesnt work on my innos d9 rom
sirhca said:
please re upload this file "boot_screen_logo_creation_package.rar" link is dead on mediafire
Click to expand...
Click to collapse
http://d-h.st/xwB
mesadbal said:
at this step ı have this Screen
Click to expand...
Click to collapse
Type this in your cygwin
Code:
chmod 777 extractboot
chmod 777 mkbootfs.exe
chmod 777 mkbootimg.exe
chmod 777 packboot
chmod 777 split_bootimg.pl
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Error when extracting
Hey Guys,
If you get this error:
Code:
./extractboot: ./split_bootimg.pl: /usr/bin/perl: bad interpreter: Permission denied
./extractboot: line 17: cpio: command not found
gzip: ../../boot.img-ramdisk.gz: No such file or directory
you need to install Perl & cpio packages. Just run the installation of cygwin again and choose them.
The problem is, now i get the following error:
Code:
./extractboot boot.img
Android Magic not found in ./boot.img. Giving up.
gzip: ../../boot.img-ramdisk.gz: No such file or directory
cpio: verfrühtes Ende des Archivs
Does anyone now how to fix that?
3X4MPL3 said:
Hey Guys,
If you get this error:
Code:
./extractboot: ./split_bootimg.pl: /usr/bin/perl: bad interpreter: Permission denied
./extractboot: line 17: cpio: command not found
gzip: ../../boot.img-ramdisk.gz: No such file or directory
you need to install Perl & cpio packages. Just run the installation of cygwin again and choose them.
The problem is, now i get the following error:
Code:
./extractboot boot.img
Android Magic not found in ./boot.img. Giving up.
gzip: ../../boot.img-ramdisk.gz: No such file or directory
cpio: verfrühtes Ende des Archivs
Does anyone now how to fix that?
Click to expand...
Click to collapse
Same problem here Bro... So how did you manage to fix it ?
FinixZ said:
Same problem here Bro... So how did you manage to fix it ?
Click to expand...
Click to collapse
Not at all, I didn't changed it and waited for an other kernel
nelikp said:
Last step before you flash a new look kernel (boot.img) is
Repack your moded kernel
One thing to note that people may mention in other guides, is that when packing boot.img files, you will usually have to declare a base address, and a command line to the packaging tool. This set of scripts reads the existing command line and base address from the boot.img file you originally provided at the time of repacking, so always make sure you leave your original source boot.img file in the folder and do not re-name it after extraction, your newly created boot.img file will be named boot_new.img and will NOT overwrite the original.
Done! If your screen looks like the image above, then you should now have a freshly created boot_new.img file, ready to be flashed to Android for testing, you can now go ahead and flash it through FASTBOOT one thing I'll recommend though is to first do
Click to expand...
Click to collapse
why i am getting this error?
any idea?
$ ./extractboot boot.img
Page size: 131072 (0x00020000)
Kernel size: 4584280 (0x0045f358)
Ramdisk size: 3831016 (0x003a74e8)
Second size: 0 (0x00000000)
Board name:
Command line:
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.
./extractboot: line 17: cpio: command not found
gzip: ../../boot.img-ramdisk.gz: not in gzip format
Finally i manage to extract...
3X4MPL3 said:
Not at all, I didn't changed it and waited for an other kernel
Click to expand...
Click to collapse
Finally i manage to extract the boot image by using this script... :victory:
Thanks to the author "Beide" for his script :highfive:
Code:
#!/usr/bin/perl -W
use strict;
use bytes;
use File::Path;
die "did not specify boot img file\n" unless $ARGV[0];
my $bootimgfile = $ARGV[0];
my $slurpvar = $/;
undef $/;
open (BOOTIMGFILE, "$bootimgfile") or die "could not open boot img file: $bootimgfile\n";
my $bootimg = <BOOTIMGFILE>;
close BOOTIMGFILE;
$/ = $slurpvar;
# chop off the header
$bootimg = substr($bootimg,2048);
# we'll check how many ramdisks are embedded in this image
my $numfiles = 0;
# we look for the hex 00 00 00 00 1F 8B because we expect some trailing padding zeroes from the kernel or previous ramdisk, followed by 1F 8B (the gzip magic number)
while ($bootimg =~ m/\x00\x00\x00\x00\x1F\x8B/g) {
$numfiles++;
}
if ($numfiles == 0) {
die "Could not find any embedded ramdisk images. Are you sure this is a full boot image?\n";
} elsif ($numfiles > 1) {
die "Found a secondary file after the ramdisk image. According to the spec (mkbootimg.h) this file can exist, but this script is not designed to deal with this scenario.\n";
}
$bootimg =~ /(.*\x00\x00\x00\x00)(\x1F\x8B.*)/s;
my $kernel = $1;
my $ramdisk = $2;
open (KERNELFILE, ">$ARGV[0]-kernel.gz");
print KERNELFILE $kernel or die;
close KERNELFILE;
open (RAMDISKFILE, ">$ARGV[0]-ramdisk.cpio.gz");
print RAMDISKFILE $ramdisk or die;
close RAMDISKFILE;
print "\nkernel written to $ARGV[0]-kernel.gz\nramdisk written to $ARGV[0]-ramdisk.cpio.gz\n";
if (-e "$ARGV[0]-ramdisk") {
rmtree "$ARGV[0]-ramdisk";
print "\nremoved old directory $ARGV[0]-ramdisk\n";
}
mkdir "$ARGV[0]-ramdisk" or die;
chdir "$ARGV[0]-ramdisk" or die;
system ("gunzip -c ../$ARGV[0]-ramdisk.cpio.gz | cpio -i");
print "\nextracted ramdisk contents to directory $ARGV[0]-ramdisk/\n";
nelikp said:
Last step before you flash a new look kernel (boot.img) is
Click to expand...
Click to collapse
thank you for your n00b-friendly tut., but for some reason it already goes wrong in step 1, 'cause when I extract the kernel the folder out/ramdisk remains empty, so nothing to replace. Have I done something wrong or is my Arc S just not suitable for this sort of tinkering?
I think you should install perl (for splitting bootimg) and cpio (to create ramdisk.gz ) packages from cygwin.
without this packages, extractboot script will just create an empty ramdisk folder.
BordenG said:
I think you should install perl (for splitting bootimg) and cpio (to create ramdisk.gz ) packages from cygwin.
without this packages, extractboot script will just create an empty ramdisk folder.
Click to expand...
Click to collapse
ok, found "perl" but for "cpio" I searched and installed the 3 items that had "cpio" in 'em (on top of my head "default '& "items" and a third I can't remember).
If it works the OP should add that info to the tut.

How to Deodex stock rom manually with Smali_baksmali Compiler (Tutorial)

nah i will explain how to deodex stock rom with smali baksmali compiler, it's safe and simple way to deodex your firmware
first of all you must prepare this for your pc
Java JDK
Winrar
Smali Baksmali Compiler
and the last prepare your framework files from your /system/framework
- first make sure the application is already installed java jdk extract the files smali_baksmali anywhere if you've copied the files the framework of the folder system / framework folder into smali_baksmali
{
"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"
}
- if it is copy the apk file you want to deodex example odexnya SystemUI.odex SystemUI.apk and its file into the folder smali_baksmali
- after that do simultaneously press the shift key by right-clicking on the smali baksmali folder and select open command window here
- if open cmd like this
- enter the following command
java -jar baksmali.jar -x SystemUI.odex
if the above process is successful it will be in accordance with the picture below
- If you already enter this command again to remove the file classses.dex
******* java -Xmx1024m -jar smali.jar out -o classes.dex
- if the above process is successful it will appear classes.dex file in the folder you smali_baksmali
- if it is open earlier systemui.apk file using winrar right click and open with winrar until the demolition of the file systemui.apk
- if it drag classes.dex files into winrar to enter into one piece
completed and congratulations you have an application that is already in the file deodex well now just copy the file into the system / app and set permissions rw-r-r
nah may be that's my way, deodex with smali_baksmali compiler, if you have problem with java just tell me ok
Nice tutorial dude
Yap, but it little complicated but the result it's always working
Sent from my C1905 using XDA Free mobile app
Nicklas Van Dam said:
nah i will explain how to deodex stock rom with smali baksmali compiler, it's safe and simple way to deodex your firmware
first of all you must prepare this for your pc
Java JDK
Winrar
Smali Baksmali Compiler
and the last prepare your framework files from your /system/framework
- first make sure the application is already installed java jdk extract the files smali_baksmali anywhere if you've copied the files the framework of the folder system / framework folder into smali_baksmali
- if it is copy the apk file you want to deodex example odexnya SystemUI.odex SystemUI.apk and its file into the folder smali_baksmali
- after that do simultaneously press the shift key by right-clicking on the smali baksmali folder and select open command window here
- if open cmd like this
- enter the following command
java -jar baksmali.jar -x SystemUI.odex
if the above process is successful it will be in accordance with the picture below
- If you already enter this command again to remove the file classses.dex
******* java -Xmx1024m -jar smali.jar out -o classes.dex
- if the above process is successful it will appear classes.dex file in the folder you smali_baksmali
- if it is open earlier systemui.apk file using winrar right click and open with winrar until the demolition of the file systemui.apk
- if it drag classes.dex files into winrar to enter into one piece
completed and congratulations you have an application that is already in the file deodex well now just copy the file into the system / app and set permissions rw-r-r
nah may be that's my way, deodex with smali_baksmali compiler, if you have problem with java just tell me ok
Click to expand...
Click to collapse
Cant download Smali Baksmali Compiler can you please give any other link
yashgumaste said:
Cant download Smali Baksmali Compiler can you please give any other link
Click to expand...
Click to collapse
the link is completely working, ok wait i will give you another link
yashgumaste said:
Cant download Smali Baksmali Compiler can you please give any other link
Click to expand...
Click to collapse
here you go bro http://www.sharebeast.com/xey43d0hzc4i try to disable sharebeast downloader if you want to direct download
Nicklas Van Dam said:
here you go bro http://www.sharebeast.com/xey43d0hzc4i try to disable sharebeast downloader if you want to direct download
Click to expand...
Click to collapse
:good: downloaded
yashgumaste said:
:good: downloaded
Click to expand...
Click to collapse
Have try
First I copied the framework folder into my pc.
Then copied all the jar files from smali_baksmali.rar into framework folder and...
When I typed this commond -
java -jar baksmali.jar -x SystemUI.odex
it said cannot find SystemUI.odex
What to do?
My phone is LG-E455
Do I also have to copy LGSystemUI.apk ?
yashgumaste said:
First I copied the framework folder into my pc.
Then copied all the jar files from smali_baksmali.rar into framework folder and...
When I typed this commond -
java -jar baksmali.jar -x SystemUI.odex
it said cannot find SystemUI.odex
What to do?
My phone is LG-E455
Do I also have to copy LGSystemUI.apk ?
Click to expand...
Click to collapse
Ya you must copy the stock systemui.apk too
Nicklas Van Dam said:
Ya you must copy the stock systemui.apk too
Click to expand...
Click to collapse
I got classes.dex file but did not understand what to do next?
yashgumaste said:
I got classes.dex file but did not understand what to do next?
Click to expand...
Click to collapse
Next, open your systemui.apk with winrar only select open with and select winrar. After open drag your classes.dex file to your systemui.apk and after complete copy your systemui.apk to your phone and copy to /system/app and set permission to rw-r-r and delete SystemUI.odex file from there, after that reboot your phone and you have systemui app deodexed , but if you running on kitkat you must copy to /system/priv-app and do same thing like that
Nicklas Van Dam said:
Next, open your systemui.apk with winrar only select open with and select winrar. After open drag your classes.dex file to your systemui.apk and after complete copy your systemui.apk to your phone and copy to /system/app and set permission to rw-r-r and delete SystemUI.odex file from there, after that reboot your phone and you have systemui app deodexed , but if you running on kitkat you must copy to /system/priv-app and do same thing like that
Click to expand...
Click to collapse
Yup done with it. But how to confirm that rom is deodexed?
Previously when I was using the theme manager in rom tolbox pro, there showed a dialog box that my rom is not deodexed and themes wont apply
and now when I went there the dialog box did not show up but even the was not applied even after rebooting
yashgumaste said:
Yup done with it. But how to confirm that rom is deodexed?
Previously when I was using the theme manager in rom tolbox pro, there showed a dialog box that my rom is not deodexed and themes wont apply
and now when I went there the dialog box did not show up but even the was not applied even after rebooting
Click to expand...
Click to collapse
just check on your system/app folder in there you will find all your system apps and if deodexed you will not see any .odex file from any app on that folder. and if your system/app folder is deodexed and theme manager still tell you're not deodexed try to deodexed framework files too with this way and all almost same with this
Nicklas Van Dam said:
just check on your system/app folder in there you will find all your system apps and if deodexed you will not see any .odex file from any app on that folder. and if your system/app folder is deodexed and theme manager still tell you're not deodexed try to deodexed framework files too with this way and all almost same with this
Click to expand...
Click to collapse
The .odex files of other system apps are still there, that means I have to follow the same procedure with all other jars and apks in the framework folder to completely deodex my rom ?
yashgumaste said:
The .odex files of other system apps are still there, that means I have to follow the same procedure with all other jars and apks in the framework folder to completely deodex my rom ?
Click to expand...
Click to collapse
yap you're all completely deodex your rom bro
Have Fun

Categories

Resources