★wildstang83's Guide For Basic Porting★
You could always go to the TEAM REVERSE website and read the same guide, lol
DisclaimerIt should be known that there is some risk involved when performing the porting method described below. If you still wish to continue on and follow this guide you are doing so at your own risk. Of course, I will not be held liable for what you do to your device on your own. I will say, use extreme caution and follow every step to its tiniest detail.
Click to expand...
Click to collapse
Hey guys, I have had a few new users come to me wanting to learn how to port. So I have decided to take a little time and write up a guide for this subject. With this guide we will achieve at minimum a first time boot with Screen load and sound. This will not go into details of fixing G Sensor, MMS, eMMC, Cam or Netflix.
NEEDED ITEMS:
Windows- Either 32 or 64 bit is fine. Ubuntu will work but is more complex.
7Zip
Notepad++
Android SDK
Android Kitchen
Our most recent Ginger Sense Leak ROM 4.01.605.0
Any Sense 1.0 or 2.1 ROM from the EVO Shift 4G, EVO 4G, HTC Desire. These 3 devices are the easiest to port from. Personally I find that the --EVO 4G is the easiest out of these three and is usually where I port from. Whatever ROM you choose must be deodexed for this guide.
A generic updater-script, update-binary and build.prop. I'll provide those in a link below.
From here on each rom will be refered to in this guide as such:
HTC Droid Incredible GingerSense Leak= Leak
Whatever ROM you choose to port= Port
Ok lets get it.
First things first. Take some measurements of file size.
Take the following size readings:
Ports zipped file size on disk:
Ports unzipped file size on disk:
Ports "system" folder size on disk after extraction: <---This is important!!!
Click to expand...
Click to collapse
We need to know the pre and post system folder size because the system has a max usage space of 250 MB. So in your final rom a system folder size that is below 250 is good. For example, in my latest build of my Pure Speed ROM I was able to achieve a system folder size of 163MB.
Phase One- Start with the Android Kitchen
Open the Android Kitchen and place your port into the original_update folder. Run the kitchen and go through the steps to make your working folder. Just hit enter whenever it asks any questions even when it asks about updater conversion. Once complete, choose the Option 2- Add root permissions. It may say 'su' already present just over ride it and choose option "f" ChainsDD's version. That will complete and go back to the main menu. Select option 3. Add Busy Box. Do the same thing. Now select option 0 for advanced options. In advanced options select option 17 to install busy box runparts. Once that finishes we can build the ROM. Select option 99, let it run then select option 1 for interactive mode, let it run, Then select "y" to zipalign the apks. it will run for awhile and then ask to convert back to updater-script. just hit enter for yes. hit enter to sign the rom. It will ask about renaming, just hit enter to by pass this. We will rename it later. It will say congratulations your rom is done or whatever. just hit enter and then close completely out of the kitchen. Go to where your kitchen is set-up and find a folder called OUTPUT_ZIP. Grab your rom out of there and place it on your desktop.
Phase Two- The actual porting operations
For good measure create two folders on your desktop. One called "Backup" and the other called "Dump". Both the leak and the port should now be on your desktop. Select them both and copy them to your backup folder you just created. Now open your port by right clicking it and navigating to 7Zip and clicking "open archive". Drag it to the edge of your screen. Open the dump folder so that it is side by side with the port. Now in the port navigate to the system folder. Select the "customize, lib and media" folders and drag them to your dump folder. Now delete them from your port along with the "usr" folder as well. You will see a folder in system named "etc". Open that folder and inside you will see a folder called "firmware". Delete the firmware folder. Also delete the "wimax" folder. We do not need it. Now open the Leak. navigate to system/etc and drag the firmware folder from leak to the port. Also drag AudioBTID.csv and vold.fstab from the leak to the port. Close the leak for now. In the port back up to the system folder. Open the bin folder and delete EVERYTHING with "a2sd, apps2sd or wimax" in its name. If there isn't any such things in there then don't worry about it. Now back up to system and go into "xbin". Do the same thing here. Once complete grab the "su" and "busybox" files and drag them to your dump folder on your desktop. Back up to system. Open bin. Drag those two files su and busybox from your dump folder to your ports bin folder. You should now have "su" and "busybox" in both of your ports bin and xbin folders. Now in the port back all the way to the root of the ports zip. You may see a folder called "data". Delete that folder and recreate it. just do it. Now open the data folder. In the dump folder on your desktop create a new folder called 'sysusr". Rename the "customize, lib and media" folders so they are "syscustomize, syslib and sysmedia" These folders are named so because they will be symlinked. Now drag these four folders to the data folder of the port. You can now delete the dump folder from your desktop. We don't need it anymore. Close everything thats open right now. Reopen both the leak and the port side by side. Of the leak navigate to system/usr. Of the port navigate to data/sysusr. Drag the contents only of the leaks usr folder to your ports sysusr folder. Navigate to system/lib of the leak. Navigate to data/syslib of the port. In the syslib folder of the port find the three folders called "egl, hw and modules" Delete them. Drag those same folders over from the leak to the port. Now in the leak system/lib folder find these files: libaudio.so, libaudioalsa.so, libaudioeffect_jni.so, libaudioflinger.so, libaudiopolicy.so, libAudioTrimmer.so, libEGL.so, libgsl.so, libhtc_ril.so and libhtc_ril_switch.so. Drag them to your ports data/syslib folder. Just drag and drop. Close everything on your screen. Reopen both the leak and the port side by side. In the port delete the boot.img and drag the boot.img from the leak over. Close the leak. navigate to "META-INF\com\google\android" of the port and drag and drop in the update-binary and updater-script that I have provided below. Navigate to system of the port and drag and drop the build.prop that I have provided below. one last thing. navigate to system/etc and drop in the apns-conf.xml that I have provided below. Close the port.
Porting is now complete
We should now be ready to boot. Rename the ports zip if you like and drop it on your sd card, wipe and flash. If it boots, has sound and is somewhat usable pat your self on the back. You've just took the second step to becoming a great dev in the Android world. The first step was having the guts to even attempt this.
Here are those parts you need: wildstang83's Porting Parts
Guide- How to customize your 2.1/3.0 Hybrid or 3.0 ROM lockring: http://forum.xda-developers.com/showthread.php?p=15681779#post15681779
Click to expand...
Click to collapse
If you run into any trouble while using my guide or notice anything that needs to be updated or added please feel free to PM me.
Credits:
PonsAsinorem- For giving me the idea to write this guide.
newtoroot- I'll never forget who took the time to teach me how to port.
joelZ9614- Allways being supportive especially when times were tuff and no one else was around.
wdfowty
NilsP
Conap
gnarlyc
Man the list goes on so really just a huge thank you to everybody!
Click to expand...
Click to collapse
Thanks! Been wanting to do this for a bit.
lol
10 characters
Guide made me 'lol'.
Alright guys, enough goofing around, lol
I added the whole guide for yall.
Sorry for those trying to read this in the xda app. It gets cut off around where it talks about the system size. You can just hit menu/browser and read it that way.
Porting a HTC Desire ROM tomorrow morning Thank you!
cbren said:
Porting a HTC Desire ROM tomorrow morning Thank you!
Click to expand...
Click to collapse
Good luck buddy. Let me know how it goes or if you need help.
Thanks stang
Sent from my ADR6300 using XDA Premium App
Thanks stang
Youre looking at a crackflashing troll with ORD
WoZZeR999 said:
Guide made me 'lol'.
Click to expand...
Click to collapse
The disclaimer made me lol
Wow this is great bro. I have to try this out!
When I try and flash my port, I get
Finding update package...
Opening update package...
Installing update...
Installation aborted.
It's an evo port and Android 2.3.3 Htc sense 2.1 I think.
http://forum.xda-developers.com/showthread.php?t=1046622
Same one I used and it worked perfectly just try again... follow stangs directions exactly as they're written..
Sent from my ADR6300 using XDA Premium App
Guys, if you are gonna report errors here please provide the error status as well.
It will make it easier for me and everyone else to see what you did wrong(not saying anything bad here) and to know what to look for next time.
A lot of problems can be solved by mounting usb through recovery and then transfering your ports over.
What do we use the OUTPUT_ZIP ROM for? Is that the "port" that we should be messing with?
cbren said:
What do we use the OUTPUT_ZIP ROM for? Is that the "port" that we should be messing with?
Click to expand...
Click to collapse
Yes thats the final rom that you zipaligned and rooted in the kitchen. Now take that and put it on your desktop and build it exactly as my instructions say and you should be good.
Will there be an " Advanced Porting " Thread? If so can you shed some light on github?
hightech316 said:
Will there be an " Advanced Porting " Thread? If so can you shed some light on github?
Click to expand...
Click to collapse
Im not a compiler. Im a porter. I'm sure we could get some info in here though.
hightech316 said:
Will there be an " Advanced Porting " Thread? If so can you shed some light on github?
Click to expand...
Click to collapse
What kind of github info do you need? I'm no where near an expert, but I know how to sync a repo from github to my computer. That's all I've ever needed to do, at least so far.
Related
Well I haven't had much time lately to make themes but I figured i got enough time to explain how. This is how i do it in windows 7.
1) First thing i assume that you already have androidsdk on the root of your C drive. Lets go ahead and add it to your system path. If it's not called androidsdk go ahead and change it to that. Now open up your startmenu, right click computer, click properties, then click advanced system settings, in the advance system settings select environment variables. In the second box down look for path select it and choose edit. copy and paste this
Code:
;C:\androidsdk\tools
in there. Click okay.
2) download the jre and jdk from here and install them. Now you need to add them to your system path so copy paste this
Code:
;C:\Program Files (x86)\Java\jre6\bin;C:\Program Files (x86)\Java\jdk1.6.0_20\bin
to your system path just like you did in the first step.
3) Download apk manager from here. Now run it and when it says clean out all current projects click yes. Now thats ready to go.
4) Download an image editing program. I use gimp. Also if you don't have it 7-zip
your all set to go now so lets start over with the numbers
1) choose a mymode apk and extract it with 7-zip. Open up the res folder select a png that you want to change and change it with the image editor you chose.
2) when you've changed the images you want open up the original apk as an archive with 7zip. Then place the res folder of the modified unzipped apk into the archive and close the archive.
3) Now open up apk manager and place the mymode apk into the place here for signing folder click script batch choose no then type 15.
4) Now put the newly signed apk into your androidsdk/tools folder and close apk manager.
5) open command prompt and type this
Code:
cd\
cd androidsdk/tools
adb install whatever.apk
I'll update this with pics a more thorough guide.
Thanks to everyone that made this easy
reserved for themes to come
Thanks been waiting for a thread like this.
thanks, if i ever get any free-time between jobs and kid and fiancee i will look into this a little more
This is an awesome guide! I messed around with theming mytouch/g1 back when I had one.. so this will be great to make some themes for the slide..
One question though.. let's say you pull the nest theme.. theme it and re install it.. will it just override the nest theme or in the theme listing will it appear as a new theme and still allow you to have the original theme?
Sent from my T-Mobile myTouch 3G Slide using XDA App
ryanolson7 said:
One question though.. let's say you pull the nest theme.. theme it and re install it.. will it just override the nest theme or in the theme listing will it appear as a new theme and still allow you to have the original theme?
Sent from my T-Mobile myTouch 3G Slide using XDA App
Click to expand...
Click to collapse
The nest theme is in the framework, its not an .apk like the rest, its built into the system. The rest of the mymodes themes are .apks and if you edit those they will override the stock "nest" theme. The only way it will show up different in the theme chooser is if you edit the preview snapshot to be a preview of your theme. If you wanna keep the original theme, the nest theme is it and you should edit a different theme .apk...
-BMFC
Sent from my ROOTED MyTouch3G Slide
Okay so I got the next three days off and I already got two mymode themes pretty much done well their done but I just learned of a way to change the name so they are there own standalone apk instead of using another apk name. I've been using puppypride (which by the way isn't puppies those are full grown dogs) and switching out the pngs and you couldn't have the regular puppypride now you can have both
hope you don't mind but I did a mod of your themes and took out the bubbles since some people always create threads about it
Help with following guide
I am a newb at this so please don't attack me if I am doing something wrong. I have been struggling with following the guide posted to make mymode themes. I have successfully got up to the step of signing the apk file. I modified the files in the free_kick.apk. When I try to use APK Manager 4.8 and using the directions given the file just gets erased and nothing happens. My log file just shows errors. Any help with a more detailed directions one what to do in APK manager as I am trying different things and not getting anywhere. I use the option 15 like told in the guide. I can send my modified apk file to anyone if they can get this to work and get it installed that would be appreciated so much. I hope I can figure this out my own but thought I would try get help from the forums. Thanks in advance.
impimms said:
I am a newb at this so please don't attack me if I am doing something wrong. I have been struggling with following the guide posted to make mymode themes. I have successfully got up to the step of signing the apk file. I modified the files in the free_kick.apk. When I try to use APK Manager 4.8 and using the directions given the file just gets erased and nothing happens. My log file just shows errors. Any help with a more detailed directions one what to do in APK manager as I am trying different things and not getting anywhere. I use the option 15 like told in the guide. I can send my modified apk file to anyone if they can get this to work and get it installed that would be appreciated so much. I hope I can figure this out my own but thought I would try get help from the forums. Thanks in advance.
Click to expand...
Click to collapse
Actually the guide needs to be fixed a little because i'm guessing your getting compiling errors when using apk manager? But the best way to do this is to open up the mymode theme (using 7zip) as an archive delete meta-inf folder then replace the pngs with ones of your choice as long as they are the same scale. Then resign. and install
totally lost
I've followed these directions to a T and when it comes to using the apk manager i am getting nothing, please help
You guys that are having trouble with apk manager...its honestly not necessary to use Apk Manager for this. Mymodes themes are system .apks and shouldn't be re-signed. What you need to do is forget about apk manager (for now) and drop the UNsigned .apk into the ROM update you are using, and resign the whole ROM using the autosign tool created by jesusfreke. Or just adbpush the .apk. but don't resign the .apk.
Here's the link for the autosign tool to sign ROM updates. its in the THIRD POST and its auto-sign .zip, NOT the signing.zip in the first post. you can put it anywhere you want and you just drop (a copy of) your ROM update in the autosign folder, rename it update.zip, then run the sign.bat to sign. it will create another file, update-signed.zip. you shouldnt need to wipe when flashing the same ROM over itself, but i cant guarantee this is true for all ROMs.
you can also make an update that will only flash the .apk to /system/app, and nothing else will be changed. basically just make a copy of the update for the ROM youre using, then delete everything but the /system directory from the zip. then go into that /system directory and delete everything but the /app directory, then go into it and delete all the .apks and odex file or whatevers in there. ALL OF IT. when you are finished you should have an update with nothing in it but a /system/app directory. you put your modded .apk in there in /system/app, and thats it for that.
then you must edit the update script and remove MOST of its contents so that it only does what you want it to. THIS IS IMPORTANT! Go here to learn how to create an update script. what youll need is way simpler than the examples, youll want it to look basically like this...
Code:
assert compatible_with("0.2") == "true"
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
show_progress 0.1 10
this update script will copy ANYTHING in the /system directory to /system on your device, regardless of subdirectories. that means anything in /system will go in /system, anything in /system/app will go to /system/app, etc. but since you only have one .apk in there it wont mess with anything but what you put in there. this way, you have a NOWIPE update for...well, whatever you want to put in it.
so you just drop the new shortened update-script in /META-INF/com/google/android/
and then use the autosign tool to resign your new update then flash away! This also takes less time cus its only flashing one file instead of flashing a whole ROM just to replace that one file...
hope this helps...
-BMFC
Sent from my T-Mobile myTouch 3G Slide using XDA App
So you cannot do this on t-mobile's rom which is 2.1 right now? I'm leery of rooting in case they ever release froyo
Tbrewer80 said:
So you cannot do this on t-mobile's rom which is 2.1 right now? I'm leery of rooting in case they ever release froyo
Click to expand...
Click to collapse
I'm having issues with this as well... After I do the whole signing apk thing, it installs fine, but when I go to MyModes, the preview is black and when I select it, the MyModes app force closes. I don't get it.
I have had alot of people wanting just a stock sense 3.0 rom. this may or may not be supported i havent decided yet.... if you want to use this as your base you must ask my self and aamikam. this is just a quick post screenshots and other things will come later
Features
Stock Kingdom build
complete sense 3.0
Odex and opted for best performance
emmc music works
emmc mount to pc works
extra quick settings
havent got rid of 4g yet will come maybe
mainly just stock forthose who like that
Click to expand...
Click to collapse
You guys try it let me know what you think if enough of you do ill try to support it further
Download
Firsties cool
Downloading now...will report back
Edit- awesome if your looking for stock sense 3.0 this is it
Sent from my Droid INCREDIBLE
This is a very stable ROM so far.
sweeeet. nothing but time at work tonight too!
Something new to try...yay!
Sent from my Droid Incredible Running MIUI
I could not get the EMMC to mount to my PC but other than that everything seems good.
Now if I could just change the 3G icon to the one that comes with the Inc 2 I will be all set. I have tried Ninjamorph and flashing a zip file but cannot get it changed.
kevman8396 said:
Now if I could just change the 3G icon to the one that comes with the Inc 2 I will be all set. I have tried Ninjamorph and flashing a zip file but cannot get it changed.
Click to expand...
Click to collapse
The icons you're looking for are in the SystemUI.apk, in res/drawable-hdpi. The pngs you are looking for are called stat_sys_data_*_3g_lte.png
You should be able to extract those images (should be 3-4), and remove the "_lte" from the filenames, and then drag these images back into the res/drawable-hdpi folder, and use adb or root explorer to push the SystemUI.apk to the data/*-System/system.app folder (look into how the rom is set up, that's just a default path). Once you have it in place, reboot, and you should be set.
Make a nandroid before doing this, as I'm no themer lol. If you have any trouble, let me know and I'll hook you up.
wdfowty said:
The icons you're looking for are in the SystemUI.apk, in res/drawable-hdpi. The pngs you are looking for are called stat_sys_data_*_3g_lte.png
You should be able to extract those images (should be 3-4), and remove the "_lte" from the filenames, and then drag these images back into the res/drawable-hdpi folder, and use adb or root explorer to push the SystemUI.apk to the data/*-System/system.app folder (look into how the rom is set up, that's just a default path). Once you have it in place, reboot, and you should be set.
Make a nandroid before doing this, as I'm no themer lol. If you have any trouble, let me know and I'll hook you up.
Click to expand...
Click to collapse
Ok you really confused me there LOL
wdfowty said:
The icons you're looking for are in the SystemUI.apk, in res/drawable-hdpi. The pngs you are looking for are called stat_sys_data_*_3g_lte.png
You should be able to extract those images (should be 3-4), and remove the "_lte" from the filenames, and then drag these images back into the res/drawable-hdpi folder, and use adb or root explorer to push the SystemUI.apk to the data/*-System/system.app folder (look into how the rom is set up, that's just a default path). Once you have it in place, reboot, and you should be set.
Make a nandroid before doing this, as I'm no themer lol. If you have any trouble, let me know and I'll hook you up.
Click to expand...
Click to collapse
Do I do the extraction on my PC or on the phone itself. Also, where would I get the files to extract as this ROM does not have the 3G icons I wan and I would not be able to extract from this ROM
kevman8396 said:
Do I do the extraction on my PC or on the phone itself. Also, where would I get the files to extract as this ROM does not have the 3G icons I wan and I would not be able to extract from this ROM
Click to expand...
Click to collapse
No bud put the apk on your pc's desktop, extract it and inside the extracted folder go to the path that fowty named out and look for the exact file names as well. Rename them like he said. Now open the apk on your desktop...the actuall apk and drop the renamed images into there proper path. and then push that apk back to data/*-System/system.app
Just wanted to report that emmc mount to pc does not appear to work for me, either. Emmc music works fine.
Just curious, joelz kingdom rom appears to have a modified mail.apk that bypasses the Exchange mail security. If I wanted to apply that apk to this rom, should it work? I tried replacing just the mail.apk, and the app opens, but fc's when I select the mail provider to add. Just wondering you guys' thoughts, didn't know if I needed to also copy other files, or if it just won't work. Thanks.
wildstang83 said:
No bud put the apk on your pc's desktop, extract it and inside the extracted folder go to the path that fowty named out and look for the exact file names as well. Rename them like he said. Now open the apk on your desktop...the actuall apk and drop the renamed images into there proper path. and then push that apk back to data/*-System/system.app
Click to expand...
Click to collapse
Ok I found the four icons in a systemui.apk folder that I had on the SD card of the phone. How do I get the renamed icons back onto the phone? Do I do it on the SD card or the phone's internal memory. On this stock 3.o ROM, I cannot mouth the phone's internal memory to my PC
kevman8396 said:
Ok I found the four icons in a systemui.apk folder that I had on the SD card of the phone. How do I get the renamed icons back onto the phone? Do I do it on the SD card or the phone's internal memory. On this stock 3.o ROM, I cannot mount the phone's internal memory to my PC
Click to expand...
Click to collapse
Sorry for the misspelled word "mount"
kevman8396 said:
Sorry for the misspelled word "mount"
Click to expand...
Click to collapse
That's what the edit button is for
The easiest way to do this is on a pc with 7zip, as you just drag and drop and done. If you can shoot me the SystemUI.apk from the rom I'll get it set up for you.
wdfowty said:
That's what the edit button is for
The easiest way to do this is on a pc with 7zip, as you just drag and drop and done. If you can shoot me the SystemUI.apk from the rom I'll get it set up for you.
Click to expand...
Click to collapse
How do I get the systemui.apk from the ROM if I cannot mount the emmc to my pc. The system info will not be on the SD card correct?
If the rom is on your computer open the rom in 7zip and find it that way..
Sent from my ADR6300 using XDA Premium App
thebasuke said:
If the rom is on your computer open the rom in 7zip and find it that way..
Sent from my ADR6300 using XDA Premium App
Click to expand...
Click to collapse
Ok and which ROM am I getting the systemui.apk from. The one I am currently running does not have the Inc 2 3G icons or does it?
Sorry to be off topic bit the Inc 2 thread is locked, has development ceased on that?
Sent from my ADR6300 using Tapatalk
Hello A little while ago I managed to learn how to theme totally from scratch. I knew nothing of anything before I started, but now I know how to port themes As I still see myself as a n00b there may be some weird things I've done, but at least I manage to create the themes This might not be the best way to theme, or the easiest, but it works
Overview PNGS
1) Getting the files
2) Getting the images
3) Port
4) Package and Sign
The only programs I've used is 7zip and autosigner download them and install 7zip and extract autosigner to a nice location for example your desktop
Getting the files
The first you need to do (after getting the programs) is to find the file you will mod (edit). This will mostly be the framework-res.apk because this decides most of looks of phone (for example the statusbar). Download the .zip of the rom your going to theme. Open it up (shouldn't require any programs, if does, use 7zip: either drag it onto the 7zip icon or right click and choose open with). Open system -> app and copy the framework-res.apk (or any other apk you would like to theme, for example the settings). Now paste it into an appropriate folder.
Getting the images
Now you need to find the images you want to use in your new theme. Find either an update.zip with a theme or an .apk with a theme chooser theme (if there is both a version for Froyo and GB, use the Froyo version as this will make it easier ) Open it up with 7zip (drag it into the 7zip icon). Now you can do either of two options:
1) You can take the whole drawable-mdpi folder and copy it out. You should probably don’t do this with a Themechooser apk, as they usually don’t have all icons in this folder, as they often lend a few from HDPI.
2) Take only the images you want and copy them to a folder. For example if you want the signal icons, copy the “stat_sys_signal_0” (-4 of course) and copy them out. If you want the statusbar background, copy “statusbar_background”. This way you can mix several themes, take the best of several themes and make your personal theme
When you’re done getting your icons, close the window.
Porting
Now open the Rom’s default framework-res.apk with 7-zip. If you’re going to port a whole theme, delete the /res/drawable-mdpi folder and copy in your own. If you’re going to port just a few icons, open the /res/drawable-mdpi folder and paste your icons. You might want to check if the icons have the same names in the different framework. For example the headset icons can be both “stat_sys_headset” and “stat_notify_headset”. Also if you port from a theme chooser theme, you will have to rename every single .png you port. This is really boring, but necessary. You need to remove the “framework_res” and the “android_systemui” from the beginning of all the names. So “framework_res_activity_title_bar.9.png” needs to be changed to “activity_title_bar.9.png”. Because this is so boring you better keep your renamed icons, so it’s easier to port it to another rom
This is kind of off-topic: my carrier lends network of another carrier. Therefor my phone is allways roaming. This puts a stupid “r” with my signal icons. To avoid this I allways take normal signal icons, copy them, and rename one of the two .pngs from for example “stat_sys_signal_1” to “stat_sys_r_signal_1”. This way I get rid of this stupid “r” and it will always show the normal icons
Packing and signing
Now the porting is done and the next job is to push the new framework to your phone. If you are familiar with adb, you can push it to system/framework on your phone. You don’t need to anything more with the apk before pushing it. Else you can create a flashable .zip for your theme. I’ve attached a .zip with update script (I haven’t created it. Just stole it from one of Elelinux’ add-ons ). Download the zip. Create a folder named system and a folder named framework. First drag the new, modded framework_res.apk to the framework folder, then drag the framework folder into the system folder, before you drag the system folder into the attached zip. If you use Clockworkmod recovery, you can just flash the zip right as it is, but if you use Amon_Ra or want it to be compatible with every recovery because you want to post it, you need to do something.
Unpack autosigner and launch the exe file inside. Drag the .zip into the new window and press sign. It will now appear a new file in the same folder as the file you wanted to sign. Its name is the same, but with “_signed” at the end. You can rename the file as you wish both before and after the signing.
XML Editing:
I decided to add a little section about XML editing as well I really don't know all about this myself, but i can tell how to set it up and some examples to what you can do Even though this may seem really complicated, it's not written in a completely different language, like Java in the smali files, so often it is possible to use logic to get what you want
Tools needed: APK Multi-tool. as well as Java, if you don't have it installed.
Overview:
1) Setting up
2) Examples
3) Finish
Settings up
Download APK Multi-tool and extract/ unzip it to wherever you want ( I have it on my desktop). Now you can place the apk you want to modify (usually the framework_res.apk) in the "Place_apk_for_modding" folder. Then you open the script. If you don't get an error, proceed to b), if you do get an error proceed to a)
a)) If you do get an error where it says something like "java not found" you need to correct the Java path (or install Java if you haven't done that, which you should have) . I had to do this to get it working. First open my computer and click disk C, or D if you have installed Java there. Open programfiles (or whatever it's called in your language) and scroll to the Java folder. Now open the folder there jdk folder or whatever you have there and open the "bin" folder. Look at the top of your window, where it says where on you're computer you are (like Windows: C to the left, and then Programfiles and so on). Right click it and click copy address. Mine is "C:\Program Files\Java\jdk1.7.0_01\bin . Now you can close the window.
Open "My computer" again. On the top bar below the navigationbar, click Sytemoptions (sorry, not really sure what it's called in Englsih, as my computer is Norwegian, please correct me if I'm wrong). On the left click the "advanced" link and in the popup that appears click "environment variables". Scroll down to the "path" variable and edit it. Paste the address you copied and click OK. You should now be able to proceed to b). If you still get an error, please tell me and I'll try to help
b) type 25 and press enter to select current project. Here you will see all the apks in the "Place_apk_for_modding" folder. Select the appropriate number (in this case probably 1) and press enter to continue. Then you hit 9 and enter to decompile it. I cannot really explain it, but it enables you to edit the xmls in the apk. If you try to edit them by using 7Zip, the xmls will be just messed up. When it's done decompiling, you have gotten a new folder in the "projects" folder. In this case it is probably named framework_res.apk. Minimize the script (DON'T CLOSE IT) and you're ready to edit the xmls
Examples on edits:
COMING SOON
Finish:
When you're done editing, open the script again (remember what I said about not closing it? ). Click 11, unless you are editing a non system apk. If you are editing the framework or settings or such, use 11. If you get an error now, you have probably done something wrong, try to see in the log what you have done wrong. Every time I've had an error, I've ended up in bootloop when I've flashed, so it is probably better to just start over. Another tip is to do one thing at the time. For example: you decompile, edit the notification color in pulldown, compile. Take the compiled apk, decompile edit another thing and so on, this makes it easier to not mess up and it also shows what you are doing wrong.
On the "Is this a system apk?" you should probably say y, as I said above. I also usually copy over the files I didn't edit, as this seems safer. Follow the instructions and you should be fine. When you're done and the script is done compiling, you will find a unsigned_**** (for example unsigned_framework-res.apk) in the "place_apk_for_modding" folder. This is your modified apk, and you can try to push it to ur device with an update.zip or adb, if you know how to use that
Well this was the end of my guide for now If there's anything which is unclear or you have other suggestions, feel free to post I've probably forgotten something
Finally after all my attemps to modify the android framework before i have do it correctly. I have changed a couple of things, the lock screen and battery icons so far. The framework I'm modifying is the one on Ele's Gingerbread and i wonder how to get the battery icon percentage 1 by 1 as i saw in some other themes. What i mean is that in the original framework there is only battery icons for 15, 20, 25 and so on, and if i push the 16, 17, 18, 19 they won't work. Is Theme Chooser the one on charge of this? how can i get that? some help please?
(Also tryed to theme a sense rom, but everything was messed up, i guess because of sense or maybe I did something wrong)
So thanks for your guide, really helpfull
Yeah, I've never tried to theme Sense so I don't know. It is probably possible to make icons for every %, but then you'll have to decompile using APK tool, and it is harder. I don't know how. If you want to try, you could try asking a question here
thanks
so funny=))
i'm tried
Great guide helped me a lo thx.
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
mDroidd said:
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
Click to expand...
Click to collapse
Hmm, ICS themes can be made really awesome, if you do some more advanced stuff. For example you want to remap the pulldownbar a bit, and change som text colors. But to do this you need to use a tool like APK multi-tool, and it is a bit more advanced. If you want to, I can create a new section where I show how to this
Thank you.
GUIDE UPDATED! Added a section about XML editing really quick, probably forgotten something and such, so just ask if there is something you don't understand This is for those who are getting used to the PNG editing and want to proceed to something slightly more advanced, for example you 7Tosta
Cheers
BTW: I should've reserved the 2nd post, this is getting messy
Edit: If there's anything specific you want me to add to the EXAMPLES section, tell me
USING DSIXDA's KITCHEN TO CREATE YOUR OWN SOFT-MODs
(THIS IS MY FIRST BIG TUTORIAL, SO PLEASE CO-OPERATE AND HELP ME MAKING THIS GUIDE BETTER!!)
DsiXDA has created an excellent Kitchen for 'cooking' custom ROMs. So first THANKS goes to DsiXDA.
READ THIS BEFORE PROCEEDING:
Click to expand...
Click to collapse
For Kitchen to get working you need a Linux environment. My choice is go for Ubuntu 10.04 / 10.10 (I won't recommend 11.xx as Unity spoils the 'Cooking' experience). You should have a little bit of experience with Ubuntu. You can do it on Windows too. Install Ubuntu inside VirtualBox. I won't recommend using cygwin as it may reduce the performance.
Click to expand...
Click to collapse
GIVE CREDITS TO THE ORIGINAL DEVELOPER
I. Setup the Kitchen:
Download DsiXDA's Kitchen at https://github.com/dsixda/Android-Kitchen/archives/master. Download the 0.179 version
Get an 'original' ROM (not soft-modded). The ROM that I used in this tutorial is Pebe's CyanogenMod 7
Get JDK. It's necessary. Execute the following command in Terminal:
sudo apt-get install openjdk-7-jdk
When asked for password, enter the one which you use for logging in.
For 64-bit system, you need the ia32-libs ( sudo apt-get install ia32-libs )
Extract the contents of the dsiXDA's kitchen to a folder, say kitchen, in your Home folder (for convenience). Just inside the kitchen folder there should be the ./menu file
Open Terminal. Browse to your kitchen directory
cd ./kitchen
source ./menu
It should open up the Kitchen Menu
This is the basic setup of your Kitchen. Now move up to the next big step.
II. Actual ROM:
Copy the ROM (in my case, it is cm7_v2.zip (pebe's CM7)) and paste it in the original_update folder
Execute Kitchen (Step 5 from I). Select option '1. Setup working folder from ROM'. Another menu appears, hit ENTER. It'll show up the available ROMs list. It should display at least one ROM. In my case it was "(1) cm7_v2.zip". Enter selection number: 1. Hit ENTER. It'll prompt for changing the name, leave it, no need. Hit ENTER. It'll start extracting the ROM. In my case, it found the updater-script. It'll ask to convert the script into update-script. We want update-script at the moment, so just hit ENTER. It should say 'Finished setting the working folder!'. Hit ENTER. You'll be back to Menu.
The Menu shows various options like 'Adding Root permissions, installing busybox, etc'. You can play with them. As most of the ROMs have Root and Busybox installed, we don't need any of these features.
Now comes a bit advanced part. Select ADVANCED OPTIONS. There are various options like Deodex files, add Nano text editor, signing APKs, etc. I'll explain each of them:
Deodex: Merges ODEX and APK together. However, it's applicable for ODEXed ROMS (mostly Stock 2.1) only. Neither of GB and FroYo versions are ODEXed. So you can skip this step.
Add task killer tweak: It's a good alternative to Supercharger script. Only thing is, it isn't as versatile as Supercharger script. Leave this if you don't know anything about Task killer values like FOREGROUND APP, BACKGROUND APP, etc
Add data/app functionality: Suppose you've come across a situation that the system size reaches almost 150 MB (standard for GT540) and still you want to add some more apps, then this tweak is for you. It adds the /data/app folder. You can place apps in this folder. These apps will be directlty installed in the /data partition thus eliminating the 150MB limit.
Add Bash: Adds command-line completion in Terminal commands. Install if you want. Not needed.
Add Apps2SD: This is much primitive type of Apps2SD in which you have to create an ext partition on your SD card. Not recommended. Link2SD (app) is much better.
Add busybox run-parts: This tweak is most important one. I enables the startup scripts option, that means, scripts placed in /etc/init.d folder will get executed during the booting process. Recommended for Stock and AOSP ROMs only.
Add custom boot animation: If you want to add a custom boot animation to your ROM, then you need this. Select this option. It'll ask you to proceed, hit ENTER. A folder /data/local will be created inside the WORKING_xxxxxxx_xxxxxxx folder. Place your bootanimation.zip in that folder. Google some nice boot animations or if you want to create your own boot animations, Despotovski brothers had made a 'Boot Animation maker', check it here http://forum.xda-developers.com/showthread.php?t=1234611
Rest all tweaks are not required for now
III. Something's Cooking!
There will be a folder named something like WORKING_xxxxx_xxxxxxxx in your kitchen folder. Open it up. It contains the actual system, boot.img file, data directory etc.
The best feature of DsiXDA is that you can easily 'browse' the system.
Open the system folder. Here you can see the apps, etc, lib, usr, etc folders.
Adding / Removing Apps: Open the apps folder. You'll see APKs of all the system apps. Try removing some apps. You can remove Dev tools, pre-installed CM themes or any other app. Add your own apps. Copy-paste your apps here. If their filenames have spaces in them (like Root Explorer.apk) remove these spaces (like RootExplorer.apk). You can also use the /data folder for adding more apps.
Adding some other stuff: The /etc folder has a lot of cool stuff too. The apns-conf.xml file contains the APNs. System can auto-detect the APN according to your carrier. I got an apns-conf.xml file which contains a huge list of APNs. Just replace the existing file.
Adding Fonts: Pick your favorite font (I like Ubuntu). Grab the .ttf file of that font. Open /fonts folder. Remove the existing DroidSans.ttf file. Copy-paste your font file in it and rename it to DroidSans.ttf.
IV. Final Steps:
Open the kitchen menu. Advanced Options → Sign all APKs
Back to main menu. '9. Check update-script for errors'.
'6. Zipalign all APKs'
'99. Build ROM'. If it shows warning regarding BOOT-EXTRACTED folder exists, select y (remove BOOT-EXTRACTED).
Select a build option → 1. Interactive Mode
Would you like to Zipalign → n (we already did that before)
It'll start making update.zip.
Add updater-script to your ROM → y (We want compatibility with ClockworkMod)
Proceed with the change → y
Sign your ROM → y
Change the name → n
Once you're back to main menu, select Exit (x)
Your ROM is located in OUTPUT_ZIP folder (It'll be a zip file)
Copy this zip file on your SD card. Reboot into Recovery. Select 'Install zip from SD card', select the ZIP file.
Reboot. See if everything works properly.
I KNOW THERE MIGHT BE ZILLIONS OF ERRORS IN THIS GUIDE. IF YOU'RE STUCK AT SOME POINT OR CANNOT UNDERSTAND SOMETHING, TELL ME. I'LL TRY TO MAKE THIS GUIDE MORE EASIER TO UNDERSTAND.
THIS IS A BASIC SOFT-MODDING GUIDE. I'M DOING SOME INVESTIGATION REGARDING THEMING AND BUILD.PROP TWEAKS. I'LL BE ADDING THESE SECTIONS LATER.
WOW nice work making this TUT!!
Nice Work!
thanks!!
gonna try this out sometime
There is a search feature guys this was posted about like half a year ago
I tried the kitchen its not that great all you can do is zipalign change some options and re package
TBH androidboss you probably could do more using terminal and root explorer
Sent from my tf101 using xda premium 1.54Ghz
Guys! Before Soft-Modding please ask the Devs first. They worked and took up free time for those roms and they would like a thanks.
Danzano said:
There is a search feature guys this was posted about like half a year ago
I tried the kitchen its not that great all you can do is zipalign change some options and re package
TBH androidboss you probably could do more using terminal and root explorer
Sent from my tf101 using xda premium 1.54Ghz
Click to expand...
Click to collapse
really i should try one day!
with credits and thanks!!
Algud if you need tips or want a hand customizn give me a shout hell if you wana use enigma and just cretic it to you're liking be my guest
Sent from my tf101 using xda premium 1.54Ghz
Danzano said:
Algud if you need tips or want a hand customizn give me a shout hell if you wana use enigma and just cretic it to you're liking be my guest
Sent from my tf101 using xda premium 1.54Ghz
Click to expand...
Click to collapse
yeah thanx bro!!
i will try and make one during this weekend
once i get my phone fixed..
i will pm you if i need help with something about the
soft-mod!!
All good
Sent from my tf101 using xda premium 1.54Ghz
Danzano said:
All good
Sent from my tf101 using xda premium 1.54Ghz
Click to expand...
Click to collapse
pm' ed u!!
soz its a bit long!
I'll be writing the "Theming using UOT Kitchen" tutorial tonight
tejasdj12 said:
I'll be writing the "Theming using UOT Kitchen" tutorial tonight
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?p=18934516#post18934516
you can base on this if u want
So I found a way to deodex the stock ROM. If you don't know what this means its something in the system that supposedly malesbit faster. I don't see a difference but for those who want to do it I used a program that in a few key strokes pulls the files from your device. Deodexs them. Then makes a recovery flashable zip. I could not find the original thread to link you guys there so i linled it to my GDrive but all credit goes to the original creator.
REQUIREMENTS FOR THIS TO WORK
Adb
Winrar,7-zip or other program that can open rar files
Java (64bit if possible)
And for java to be in your path.
To do that right click my computer hit properties. On the side pane there's advance system options. Hit that then hit enviorment variables. In the list find PATH and make sure there's a semicolon before you put this there or you'll jack something up. But then put this in C:\ProgramFiles\Java\jre7\bin
save it all and reboot. Then to test it. Open cmd and run java. If you get an output your good. Then run the program
https://docs.google.com/file/d/0B6P7PLNOQHSKOEZrNjBMRTB3dDA/edit?usp=docslist_api
Sent from my LG-D415 using XDA Free mobile app
Yes.. my D41010b already deodexed with this one. .