Can I modify an existing one by simply dropping in updated bootscreen files, rosie.apk, etc.. and signing the existing rom zip?
Any good guides on how to do one if not, and/or how to use Flipz kitchen tool to create a rom?
Ceger
I am pretty sure if you sign the file and you modify it after that you will have to resign it. At least thats how it goes for other things that are similar that I deal with.
Kcarpenter said:
I am pretty sure if you sign the file and you modify it after that you will have to resign it. At least thats how it goes for other things that are similar that I deal with.
Click to expand...
Click to collapse
I understand that, just wondering if I can add new files and they will move or does some master script need to be updated to know to move the files. In other words, is it done by directory or by file?
For example, if I add some apps to /data/app in the zip will they be there on the phone when I install the ROM zip, etc.. More specifically, I have added an alternate boot sequence. The rom does not have a boot1.gif. If I add the new sequence with XML, will the boot1.gif be installed as well or do I need to update something that directs the install of the ROM to move that file or is it automatic as the folder is moved over?
Ceger
Ceger said:
I understand that, just wondering if I can add new files and they will move or does some master script need to be updated to know to move the files. In other words, is it done by directory or by file?
For example, if I add some apps to /data/app in the zip will they be there on the phone when I install the ROM zip, etc.. More specifically, I have added an alternate boot sequence. The rom does not have a boot1.gif. If I add the new sequence with XML, will the boot1.gif be installed as well or do I need to update something that directs the install of the ROM to move that file or is it automatic as the folder is moved over?
Ceger
Click to expand...
Click to collapse
I have found that the easiest thing to do is just put the files that you want to use to replace the old ones into a signed zip and then flash just those files I have tried altering a rom file with no success
wtphoto said:
I have found that the easiest thing to do is just put the files that you want to use to replace the old ones into a signed zip and then flash just those files I have tried altering a rom file with no success
Click to expand...
Click to collapse
Oh well, was trying to have a one step zip. I guess I can make at least have a 2 step process which is better than 4-5.
Thanks,
Ceger
Yes you can modify just about anything in the rom and flash your zip as long as it is signed and the update script is correct. I always make all my changes to a rom before flashing it so i do not have to flash several different things etc.
The update script is located in RomName\META-INF\com\google\android\
Lets look at a very simple update script to show you what i mean.
In this update script it is to write something to /system
example:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
We see here that whatever is in the system folder within the signed zip will be written to the phone
in this case i am writing /system/app/mobiledefense.apk
That will be the only file written to the phone and will be written to /system/app
The update script is not specific to every file so you can have 1 thing in the system folder or 100 and it will write everything in there.
One thing that many people mess up on is not using a update-script file when they sign a .zip file. The recovery has to know what to flash or it will not flash anything.
So the answer is yes you can change many things and then flash the signed update.zip file.
Not everything can be done this way but most things will work.
But for example changing the boot sceen can be done even if the file names are different as long as the folder structure stays the same and the .XML file is the correct one for the boot screen. I opened the .zip of a rom deleted everything out of the boot screen folder and dropped in all the files from the nexus one hero hybrid boot screen re signed the zip and everything flashed perfect. I changed many other things as well in the .zip like rosie.apk, sound files, lockscreen files, busybox files, added apps to /system/app and just resigned the zip and everything flashed the way i wanted it to and works perfect.
The way to correctly zip a file is to extract the zip modify what you want then select everything inside the zip right after you open the folder and the highlight everything select add to archive and then zip it up now sign that .zip
so say you extract the ROM and it is named Rom123 now you will have a folder named Rom123 open that folder and select everything file or folder in there and then hit add to archive that will make another zip right there called Rom123.zip pull that zip out to the desktop and sign that zip file and thats it.
I Know that is confusing as it is late as hell and i am tired but wanted to answer this real quick.
zippy-man said:
Yes you can modify just about anything in the rom and flash your zip as long as it is signed and the update script is correct. I always make all my changes to a rom before flashing it so i do not have to flash several different things etc.
The update script is located in RomName\META-INF\com\google\android\
Lets look at a very simple update script to show you what i mean.
In this update script it is to write something to /system
example:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
We see here that whatever is in the system folder within the signed zip will be written to the phone
in this case i am writing /system/app/mobiledefense.apk
That will be the only file written to the phone and will be written to /system/app
The update script is not specific to every file so you can have 1 thing in the system folder or 100 and it will write everything in there.
One thing that many people mess up on is not using a update-script file when they sign a .zip file. The recovery has to know what to flash or it will not flash anything.
So the answer is yes you can change many things and then flash the signed update.zip file.
Not everything can be done this way but most things will work.
But for example changing the boot sceen can be done even if the file names are different as long as the folder structure stays the same and the .XML file is the correct one for the boot screen. I opened the .zip of a rom deleted everything out of the boot screen folder and dropped in all the files from the nexus one hero hybrid boot screen re signed the zip and everything flashed perfect. I changed many other things as well in the .zip like rosie.apk, sound files, lockscreen files, busybox files, added apps to /system/app and just resigned the zip and everything flashed the way i wanted it to and works perfect.
The way to correctly zip a file is to extract the zip modify what you want then select everything inside the zip right after you open the folder and the highlight everything select add to archive and then zip it up now sign that .zip
so say you extract the ROM and it is named Rom123 now you will have a folder named Rom123 open that folder and select everything file or folder in there and then hit add to archive that will make another zip right there called Rom123.zip pull that zip out to the desktop and sign that zip file and thats it.
I Know that is confusing as it is late as hell and i am tired but wanted to answer this real quick.
Click to expand...
Click to collapse
Perfect, just what I was looking for.
Thank you, just made my day!
Ceger
Is there a way to take certain themed apks from different theme zips and apply them to a rom without using metamorph? I am trying to take just the dialer and contacts themed apk from incognito thus bypassing the framwork to apply to a ruby rom?
http://www.mediafire.com/?ll51ycclfv7l9vy
down load this zip. extract it in your pc.
then get the app folder from the rom you want to port and put it in the "old" folder.
then put the app folder from the rom you want to mod and put it in the "new" folder.
run the script, and it will mod all your apps to the new folder. but only matching apps will mod.
now get the app folder from the "new" folder and adb push to your phone. (sytem/app)
this program is actually for porting themes. you put the framework folder and app folder from a theme not compatible with your phone or rom into the "old" folder, and the framework and app folder from the rom you are running in to the "new" folder, and run the script. it will theme all matching apps and framework. but they have to be matching systems (2.2-2.2 and 2.1-2.1). this is not my work so i take no credit for this!!! this is all Daneshm90 from the G1 forum......
ill give it a shot thanks!
No luck my phone boot loops is there another way of pushing the dialer and contacts from one them to a rom?
(I'm new at this, any help, or even wild guesses, would be appreciated)
I'm using Daneshm90's (very awesome) APK Manager to mess around with my framework-res.apk file. I've sucessfully reskinned some pngs and changed some xml files and stuff like that.
Why does the following cause a bootloop?
1) Decompile Framework-res.apk
2) Make a copy of res\drawable\btn_default_small.xml and rename it btn_default_small2.xml
3) Change the background of something to android:background="@drawable/btn_default_small2"
4) Compile\flash to phone etc, watch it bootloop
I can edit existing files just fine, but whenever I try to add and use a new file everything grinds to a halt, even if its just a copy of a working 'stock' file. What am I missing? Is there a list of files somewhere I need to add my new xml file to? Should I be building from source instead of using apk manager?
Hello xda.
This is a Guide to help anyone who wishes to create custom ROMs. This Guide aims to be as complete as possible, and will give all information related to creating a custom ROM... editing apks, adding or removing apps, de-odexing apps, and so on.
Al suggestions to improve upon this guide are welcome.
0. Pre-requisites
Click to expand...
Click to collapse
Credits to...
1. puppet13th... My mentor, teacher, and a great friend.
2. Wanman... ApkTool for ICS
3. langthang... For a great Guide on Creating Update Script
4. lokeshsaini94... For lots of help
Downloads
You need to Download the following...
1. Apk Tool [link(ICS)|link(GB)]... A tool for De-Compiling apks
2. 7 zip [link]... A tool for un-compressing any sort of compressed file
3. ROM signer [link]... Restores the signing of the ROM zip file, which is messed up while uncompressing
4. Any Image Resizer
Setting up your PC
You need to do the following...
1. Create a folder (preferably in Desktop, and name it "Android")
2. Create Sub-Folders by the names "Base ROM" and "Custom ROM". Also make Sub Folders by the name...
a. ApkTool... Extract contents of ApkTool Here
b. Signer... Extract Autosigner here
I. Let's get our Base ROM
Click to expand...
Click to collapse
You need to get the base ROM in the ./Desktop/Base ROM folder. It is also recommended that you flash the Base ROM into your phone, as it will help in testing the mods, as you make them.
The process of getting the base ROM will depend on the scenario your situation fits in, from amongst the following...
1. You want an already made Custom ROM as your Base... Download the ROM [willl come in .zip folder], and extract it in /Desktop/Android/Base ROM folder
2. You want to base your ROM on a stock firmware, which came in an ftf package... Use the following tool to extract the files from the ftf file.
3. You want to base your ROM on a stock firmware, which is instaled on your phone...
Take a back up of the ROM using ClockWork Mod, and copy the back up files (from /sdcard/clockworkmod/backup), somewhere to your computer. Then, using this tool, extract the files to /Destktop/Android/Base ROM
Copy the following folders from /system of your phone using Root Browser
/app
/bin
/etc
/fonts
/framework
/lib
/media
/semc
/usr
/xbin
build.prop
4. You want to base your ROM on a stock firmware, that comes as a ready to flash .zip file on the internet... Download the ROM, and extract it in /Desktop/Android/Base ROM folder
After completion, the Base ROM will have the following Folder Structure
Desktop
Android
Base ROM
META-INF [only if you got your base from another Custom ROM][/INDENT][/INDENT][/INDENT]
system
apps
bin
etc
.
.
.
data [may be]
Click to expand...
Click to collapse
*ScreenShots*
Copy the contents of Base ROM folder to Custom ROM folder.
We now have the foundation of our ROM laid out in front of us, inviting us to show our creativity.
II. Let's work on the Base ROM... Creation of the Custom ROM
Click to expand...
Click to collapse
A. Apks Make up the Android System...
We will now work, only on the /Desktop/Android/Custom ROM Folder
1. Look into the /system/apps...
You will find apk files which will be raninging frm 100 to 200 in number. Err, half or more are known as "Crapware". You need to remove files which are useless, that's a very important step to enhance performance of your final ROM. Look into your device's forums, to get the list of Safe-To-Remove appks from the respective firmware. In case your base is an already built custom ROM, you will have to remove lesser or none of the files.
2. Here, you can add your desired files as well, keeping compaitability in mind.
3 [Optional]. On a .txt file, keep a record of all the apps your removed or added, as it will help in troubleshooting at a later stage.
B. Implementing Already-Built-MODs in your ROM...
1. Download any Mod you want to keep in your ROM [Make sure your device, and the Base ROM is compaitable]
2. Extract the zip file and you will get a system folder.
3. Copy the files from the system folder to /Custom ROM/sytem, making sure the files go into the folders they came from.
That is, all apk files from /system/apps folder of the Mod should go to /Custom ROM/system/app folder, and so on...
C. Changing the Interface... Let's Mess with SystemUI[nterface].apk
Go to /system/app and copy SystemUI.apk to
/Desktop/Android/ApkTool/place-apk-here-for-modding
Working with ApkTool
The link provided in this post is of an easy to use software called ApkTool.
1. Double Click on the Script.bat file to open up the software.
*Screenshot*
2. Decompress the SystemUI.apk using option '9'.
Wait for the process to complete
3. Go to /Projects, and you will find a folder called SystemUI.
Open the /SystemUI.apk/res/drawable folders and you will find lots and lots of .png files
*Screenshot*
4. Look into the files carfully.
Bingo, they correspond to the various system elements of the SystemUI of the Base ROM.
5. Open any file you want to edit, edit it, and save in the original location, replacing the original un-edited file. [On a temporary notepad file, note which all files you edit]
Note: You will notce that there are .png files for, say the Battery Icon. You will find that there are files for each state of the Battery Icon. So if you intend to edit the Battery Icon, you need to edit all the files corresonding to each of the states.
5.A. A common exaple of such editing is making the elements of a Gingerbread SystemUI.apk look like ICS SystemUI.apk. For this get hands on any ICS SystemUI.apk and extract both the files in seprate locations, and then copy the files from the ICS SystemUI folder to GB SystemUI folder. However, here you must make sure that the names of the files coming from ICS SystemUI are changed to corresponding values of the GingerBread SystemUI.apk. Here, also ensure that the new files, which replace the original files, have the same dimensions as the original files. If not use any image resizing tool.
*Screenshot*
6. If you want to edit some values in the .xml files, carry on. Edit the files as you wish, and replace the original files. Once you are done with the editing...
7. Open the Script.bat file and run command 11. [Say NO when it asks if the file is a system file]You will have a new SystemUI.apk file called unsignedSystemUI.apk in /place-apk-here-for-modding folder.
Go and fill your pockets with some cookies from the kitchen. Start having them.
8. Keep the temporary notepad file on one side and open the unsignedSystemUI.apk with 7zip, and open the original SystemUI.apk using 7zip besides it.
*Screenshot*
9. Drag and extract the files you edited to a temporary folder.
10. Drag the extracted files to the SystemUI.apk, replacing the older files, making sure all the edited files go to the proper place. [That's why I asked to keep a note of which all files were edited].
*Screenshot*
11. If you edited some .xml files, then you MIGHT need to copy the resources.acrc file at the root of the unsignedSystemUI.apk file to the root of the original SystemUI.apk file.
Once done, the original SystemUI.apk has now become a modded SystemUI.apk, with your creativity embedded into it. Time to test the SystemUI.apk.
12. Using Quick ADB, push the edited SystemUI.apk to your phone.
*Screenshot*
13. Re-boot your phone and you shoud see the changes you made in the UI. .
In case it gives force close message, you messed up somewhere. So you will have to push the original SystemUI.apk [from /Base ROM/system/apps folder], and try to mod the file from scratch again.
14. Copy the sucessfully modded SystemUI.apk from /Apktool/place-apk-here-for-modding folder to /Custom ROM/system/app folder, replacing the older file.
D. Changing the Interface... Editing other .apks
1. As earlier, copy the apk you want to edit from /Custom ROM/System/app to /Apktool/**** folder, and perform the modification to optain a new modded .apk file.
2. Test this file if you wish, by pushing it using Qucik ADB.
3. If the modded file wrks, copy this new file to /Custom ROM/System/app and replace the original file
E. Changing the Interface... Editing the font
1. Take your desired font.ttf file and rename it as DroidSans.ttf..
2. Go to the folder system/fonts/
3. Now, replace the file DroidSans.ttf with your desired DoridSans.ttf...
4. To change the lock screen clock font...replace the Clocktopia.ttf with your desired one (rename first)...
If you did a good job in the above steps, the /Custom ROM folder should be having the contents of a wonderful ROM in making.
Here, I will like to mention that, if you want to upload your custom ROM on the internet and share it, you must ensure that you did lots of hard work in the above steps. There's no point making a custom ROM without modifying lots of files and adding lots of tweaks.
Just make sure that you do so much of modding that, say, your Gingerbread ROM looks like Jellybean, or say, your ROM made for Galaxy Y works as smooth as an SIII.
III. Compiling the Custom ROM
Click to expand...
Click to collapse
A. If you got your base ROM as in [1 or 4] in step I above
1. Copy the META-INF folder from /Base ROM to /Desktop/Android/Custom ROM
2. Rename the Custom ROM folder to whatever-you-want-your-ROM-to-be-called.
3. Add the Folder to a zip file using 7zip.
4. Take this zip file to /Desktop/Android/Signer folder and run sign.bat.
X. The new zip file called Update.zip is your ROM.
Copy this file to the SD Card of your phone, format /system, /data, /cache using CWM and flash your .zip file. And enjoy your custom ROM.
B. If you got your base ROM as in [2 or 3] in step I above... Creating your own Update script
Read the following Tutorial. [link]
Once you are done, try the ROM on your phone. Share it if you feel it's great. And hit Thanks Button.
Reserved
Reserved2
nice guide!
thanks for the tutorial.
Nice guide, continue finish it.:good:
Awesome
Adds some more tutorial please:thumbup:
Thanks for your work
Inviato dal mio GT-N7000 con Tapatalk 2
Please also add link to original thread....
Btw .. Nice guide....
In 1. Looking into system apps... you should delete .apk as well as .odex files when you want to remove an app... Like browser.apk and browser.odex... Many peoples won't delete them....
Sent from my GT-S7500 using xda premium
Thanks for this nice guide. :highfive:
Please add the placeholder *Screenshot* s :good:
beautiful
Thanks a lot for this beautiful guide. Loved it
i tried it ............
i followed the guide n tried editin my custom rom technoduos on sgy duos GT-s6102
all i did was extract the rom using CWM and then added removed some apps at /system/apps
no other tweaks just addin n removin apps dats all then compressed it n signed it
then wen i flashed it on my set it worked (yayyyyyyy)
but there were some problems the apps which i del were gone but the ones i added were not there ..........
also wen i flashed the rom again the apps which were del were back how is it possible i made sure i had del em
plz help
thank you very much for your tutorials are very helpful to me
nice guide! thx
Nice Guide...
Thanks for the hard work to track down all this information and publish for us.
Thanks
Thanks... im gonna give this a whirl
Sent from my SGH-T999 using Tapatalk 2
R: [Guide]Create Custom ROMs | Modify Apks
Very useful giude thanks ; )
Inviato dal mio GT-N7100 con Tapatalk 2
:Good:
Sent from my potato oO
thanks
I have read a few threads on the META-INF folder.
I have a Alcatel one touch Fierce2 and currently i dont know of any Rom's for it.
Else i would copy the Meta-INF from there.
So here we go.
How specific is the Meta-Inf to each phone, or is it just specific to the Android version?
If its not specific can i use a copy of any Meta-INF?
Is it just best to make the Meta-Inf for each Sideload .ZIP I want to flash?
Thanks