[GUIDE] Dummies guide to port MIUI rom for ideos X6 variant! - Huawei Ideos X6

Lets discuss about ROM port guidance for dummies like me. Hope it will help others also who want to port it.
Here is my experience for porting several MIUI in my phone, shall other to make it perfect.
First we must have a source rom to port. Desire HD is my chosen since it has some similar hardware.
I replace the source rom using several files from the previous working MIUI rom.
I never mix framework with any other files from previous miui version, I just patch framework.jar and services.jar (decompile and recompile). And for system app files I let them as is, except for torch.apk taken from 1.11.11 and systemUI.apk with manual patch (decompile and recompile).
I use the same driver modules files in every my port (wifi, sensor, light, gps), the rest drivers are compiled in the kernel so we can't touch them except if we can build from source. I use almost the same library in every port. ( You can see the same files from my 2.2.3 and my 2.3.9)
The other files are came from the source dhd rom and additional apps taken from other rom or any mod as long as they're not accessing the hardware directly.
And for the kernel, lately I use SDKernel and mOCK kernel. I've modified both boot image of them. At 2.3.9 as you knew, I use modded SDKernel, I've change default cpu clock and also bringing up the fm radio service in it. And for my current miui (2.3.16) I'm using mOCK kernel, I've change the default cpu clock also, but not bringing up fm service (since I've not succeded yet using FM radio).
Here are some files I don't use from source rom (replace by following files):
- Torch.apk
- hciattach
- netd
- wpa_supplicant
- liba2dp
- libc****
- libcamera
- libcamera_service
- libffmpeg
- libgemini
- libhardware_legacy
- libmmipl
- libmmjpeg
- liboemcamera
- libril
- librpc
- libskia
- libwebcore
- vold
- vold.stab
- btwlancoex
- compassd
- geomagneticd
hci_qcomm_init
hostapd
hostapd_cli
lightd
load_wifi
modempre
netmgrd
nt_password_hash
oem_rpc_svc
orientationd
port-bridge
proximityd
pwgen
qmuxd
rmt_oeminfo
zipalign
all files from system/etc/firmware/wlan
some files in init.d script, I use just hostapd, tweak sdcard read and zipalign. The rest setting I let the default config.
init.qcom.xxx
loca_parameter.ini
wpa_supplicant.conf
all files from /system/lib/hw and /system/lib/modules from previous port ( taken from 1.11.11 and triumph if I'm not wrong... not exactly remembered)
libaudio***
libauth
libcm
libcommondefs
libdiag
libdll
libdsi_netctrl
libdsm
libdsmutils
libgsd**
libidl
libloc***
libmmgsdilib
libnetmgr
libnv
liboem_rapi
liboncrpc
libOpenVG
libpbmlib
libposteffect
libqdp
libqmi
libqueue
libreference-ril
libril***
libwms**
and also all file in /system/usr/keychars and /system/usr/keylayout
If I'll change kernel, then I'll change wifi lib also which work with it.
And add some addons... not related to the core.
wpa_supplicant.conf, gps.conf, build.prop are changed as needed
I think those files are sufficient to make a new port...
Tools to decompile and recompile apk and jar files is apktool, you can use apkmultitool from apkmultitool.com.
How to fix headset:
Decompile services.jar, use this command line;
apktool d services.jar
You'll find services.jar.out folder as output. Find HeadsetObserver.smali file and replace any "h2w" word with "headset_sensor". Use notepad++ to do it. And recompile using this command line:
apktool b services.jar.out
Find the new compiled file at services.jar.out/dist folder.
How to fix native wifi tether and haptic feedback:
The file need to modify is framework-res.apk. You can do the same to decompile and recompile just like fixing headset. Decompile the file and find array.xml in framework-res.out/res/values. Find "wl.0" replace with "softap.*". You'll easily find the level values pattern for haptic feedback in the same file. The pattern values is "off,on,off,on" format to turn off and turn on vibrate in milisecond. Recompile again.
The new compiled file can not be used yet, you should restore the META-INF folder and AndroidManifest file from the original framework-res.apk file. Use 7zip application to open both old and new framework-res.apk and drag META-INF folder and AndroidManifest file to the new compiled framework-res.apk then it ready to use.
Happy porting......!!!
I'll update this post if there are some more useful...
Any suggestion are welcome...

Thank you very much for this. Will surely help newbies like me

FR... I got an idea... if there is an app which will do just like your future release miui kitchen BUT it run in device, so it will have an OTA update, how cool....! I want to help to port it to an android app (apk file), but I just only have several hours in a week for this fun.

I have already scripted what you have written in the first post.
What needs to be done with the framework files?

Free Radical said:
I have already scripted what you have written in the first post.
What needs to be done with the framework files?
Click to expand...
Click to collapse
I think we have to let the original theme and standard apps, the customization is optional due to different need of users. (For example you and me could be like beat audio or maybe not).
For the headset, you have to decompile service.jar, open headsetobserver.smali (i forgot for the exactly name) and change every "h2w" word to "headset_sensor" then recompile, then headset will work.
Sent from my CSL-MI410 with my MIUI 2.3.16 using tapatalk

The kitchen app shall be ready in a day or two.
Shall experiment later when I return home.
Btw, what to change in the framework folder?
Also, you need to mention in your guide that the proprietary hw, keylayout,keychar, module files need to be preserved.
I have pmed zuk regarding his set of proprietary fih/fb0 files so that we can make a skeleton framework to be used for cooking every Rom.
Sent from my Spice MI-410 on my rom!

Free Radical said:
The kitchen app shall be ready in a day or two.
Shall experiment later when I return home.
Btw, what to change in the framework folder?
Also, you need to mention in your guide that the proprietary hw, keylayout,keychar, module files need to be preserved.
I have pmed zuk regarding his set of proprietary fih/fb0 files so that we can make a skeleton framework to be used for cooking every Rom.
Sent from my Spice MI-410 on my rom!
Click to expand...
Click to collapse
Service.jar is in framework folder FR. My prev post mention the change of this file.
Yes, any files in hw,modules,keychar and keylayout folder at the source rom should be deleted and replaced by files from the working rom.
The skeleton for other rom willbe different. You have to make different folder for skeleton files for different rom. Several are the same files, but separating them will make you easier to manage. So the list file names is not too important, just put them in the folder will be enough. Sorry .... Just my though...
Sent from my CSL-MI410 with my MIUI 2.3.16 using tapatalk

AND LADIES & GENTLEMEN... WE HAVE LIFT OFF!!!!!!!!!!!
REJOICE.
I have made an automatic miui rom porter.
I am calling the app F-CuK-R
Thank you CK, edowar, zuk and elol.
Just booted up 2.3.16 successfully. Ported using my app (Testing the rom it churned out. I am hoping native wifi tethering is fixed)
Shall upload after midnight.
Now we can have MIUI GB release the same day after every official release
Although I must confess a lot of the files I am using are missing in this post.
but fear not, I shall make them public as soon as the app is ready for prime time with a nice gui.
Made the list after several failed experiments over the last week. Finally a simple file comparison (using a script I made) between the official MIUI release and the original 1.11.11 release helped.

Free Radical said:
AND LADIES & GENTLEMEN... WE HAVE LIFT OFF!!!!!!!!!!!
REJOICE.
I have made an automatic miui rom porter.
I am calling the app F-CuK-R
Thank you CK, edowar and zuk.
Just booted up 2.3.16 successfully. Ported using my app (Testing the rom it churned out.)
Shall upload after midnight.
Now we can have MIUI GB release the same day after every official release
Although I must confess a lot of the files I am using are missing in this post.
but fear not, I shall make them public as soon as the app is ready for prime time with a nice gui.
Made the list after several failed experiments over the last week. Finally a simple file comparison (using a script I made) between the official MIUI release and the original 1.11.11 release helped.
Click to expand...
Click to collapse
Greaattt FR... Can't wait to taste it....!!!!
Sent from my CSL-MI410 with my MIUI 2.3.16 using tapatalk

I guess I spoke too soon.
My port again has an issue with the headset. :sigh: back to the drawing board

sorry FR, for not replying for your PM. I was away for internet for some time...!!
You have already done a really Good job. I should say, really quick...!!
This will real Good deal for MIUI lover's.
Good Luck...!!

Can someone enumerate changes to be done to systemUI, android.policy, framework.jar and framework-res in different mods so that I can script them for my cooker?
Sent from my Spice MI-410 on my MIUI 2.3.16 port

CacingKalung said:
Lets discuss about ROM port guidance for dummies like me. Hope it will help others also who want to port it.
Here is my experience for porting several MIUI in my phone, shall other to make it perfect.
First we must have a source rom to port. Desire HD is my chosen since it has some similar hardware.
I replace the source rom using several files from the previous working MIUI rom.
I never mix framework with any other files from previous miui version, I just patch framework.jar and services.jar (decompile and recompile). And for system app files I let them as is, except for torch.apk taken from 1.11.11 and systemUI.apk with manual patch (decompile and recompile).
I use the same driver modules files in every my port (wifi, sensor, light, gps), the rest drivers are compiled in the kernel so we can't touch them except if we can build from source. I use almost the same library in every port. ( You can see the same files from my 2.2.3 and my 2.3.9)
The other files are came from the source dhd rom and additional apps taken from other rom or any mod as long as they're not accessing the hardware directly.
And for the kernel, lately I use SDKernel and mOCK kernel. I've modified both boot image of them. At 2.3.9 as you knew, I use modded SDKernel, I've change default cpu clock and also bringing up the fm radio service in it. And for my current miui (2.3.16) I'm using mOCK kernel, I've change the default cpu clock also, but not bringing up fm service (since I've not succeded yet using FM radio).
Here are some files I don't use from source rom (replace by following files):
- Torch.apk
- hciattach
- netd
- wpa_supplicant
- liba2dp
- libc****
- libcamera
- libcamera_service
- libffmpeg
- libgemini
- libhardware_legacy
- libmmipl
- libmmjpeg
- liboemcamera
- libril
- librpc
- libskia
- libwebcore
- vold
- vold.stab
- btwlancoex
- compassd
- geomagneticd
hci_qcomm_init
hostapd
hostapd_cli
lightd
load_wifi
modempre
netmgrd
nt_password_hash
oem_rpc_svc
orientationd
port-bridge
proximityd
pwgen
qmuxd
rmt_oeminfo
zipalign
all files from system/etc/firmware/wlan
some files in init.d script, I use just hostapd, tweak sdcard read and zipalign. The rest setting I let the default config.
init.qcom.xxx
loca_parameter.ini
wpa_supplicant.conf
all files from /system/lib/hw and /system/lib/modules from previous port ( taken from 1.11.11 and triumph if I'm not wrong... not exactly remembered)
libaudio***
libauth
libcm
libcommondefs
libdiag
libdll
libdsi_netctrl
libdsm
libdsmutils
libgsd**
libidl
libloc***
libmmgsdilib
libnetmgr
libnv
liboem_rapi
liboncrpc
libOpenVG
libpbmlib
libposteffect
libqdp
libqmi
libqueue
libreference-ril
libril***
libwms**
and also all file in /system/usr/keychars and /system/usr/keylayout
If I'll change kernel, then I'll change wifi lib also which work with it.
And add some addons... not related to the core.
wpa_supplicant.conf, gps.conf, build.prop are changed as needed
I think those files are sufficient to make a new port...
I'll update this post if there are some more useful...
Any suggestion are welcome...
Click to expand...
Click to collapse
How do you decompile and recompile service.jar n framwork.jar???

nitin1978 said:
How do you decompile and recompile service.jar n framwork.jar???
Click to expand...
Click to collapse
I have added how to fix the headset, haptic feedback and native wifi tether at the first post including how to decompile and recompile files.
Happy porting....!!!
Sent from my CSL-MI410 using Tapatalk

thanks bro...

Related

[TOOL] [Updated 8/18/11!!] APK_Manager_4.9_Honeycomb_Edition

Just though I'd take the time to update apk_manager_4.9 and call it apk_manager_4.9_Honeycomb_Edition. I've modified a few tools inside apk manager to now work with honeycomb apk's. Hopefully this will come in handy for you all.
Credits:
All credits go to the prior developers of APK MANAGER 4.9 HERE. I just took the time to update it for Honeycomb. Please refer to this link for instructions as well.
Thanks to Daneshm90 for giving me the okay to release this version so hopefully all you themers/developers out there will take this and run with it.
Changelog:
aapt - (From updated SDK)
apktool - (From updated SDK & MAD Industries)
zipalign - (From updated SDK)
Here is the download
APK_Manager_4.9_Honeycomb_Edition
Mirror_1
Mirror_2
MAC USERS:
Please click HERE for everything you need for APK Manager for a MAC courtesy of MAD Industries
Updated 08/18/11
Changelog:
Cleaned up script to and compile settings and systemui apks
Code:
echo Building Apk
IF EXIST "%~dp0place-apk-here-for-modding\%capp%" (del /Q "%~dp0place-apk-here-for-modding\%capp%")
java -Xmx%heapy%m -jar apktool.jar b -f "../projects/%capp%" "%~dp0place-apk-here-for-modding\%capp%"
if errorlevel 1 (
echo "An Error Occured, Please Check The Log (option 21)"
PAUSE
)
(Lines 489-495 if you're using Notepad++)
You can either re-download the APK-Manager_4.9_Honeycomb_Edition.zip from above or you can download the new Script.bat HERE
Just extract the Script.bat and replace the old one.
Some Extra Instructions:
To do this U MUST make a new folder in C:/users/<yourname>/ and call it apktool and a sub folder within it called framework. If you have this there already YOU ROCK!!
Mine reads:
Code:
C:/Users/Thomas/apktool/framework
Now within that framework folder you need a copy of a complete stock framework-res.apk and you need to rename it to 1.apk
You also need a copy of a complete stock twframework-res.apk and rename it 2.apk
So it should read:
Code:
C:/Users/<yourname>/apktool/framework/1.apk
and
Code:
C:/Users/<yourname>/apktool/framework/2.apk
Remember any apk you are attempting to decompile MUST BE COMPLETE STOCK to do so.
I have done all of this and tested over and over again and I am getting no errors whatsoever. If you do get some errors please make sure all your paths for SDK are setup correctly including setting a path for Java JDK as well.
PM me with any questions or concerns regarding all this. I will do my best to respond within a timely manner.
reserved for future
this one too hehe
Nice tool, will be useful.
PhantomHacker said:
Nice tool, will be useful.
Click to expand...
Click to collapse
Just hope more people will use it to it's fullest potential. And this tool does a lot of different things. Thanks PhantomHacker.
Very nice, thanks
Makes work easier
Thanks Doc I found this tool to become very handy when I did some things for the Samsung Epic 4G. I had to be able to use it for the Tab lol. Thanks again. Keep up the fantastic work yourself.
works like a charm Asus eee pad
depulle87 said:
works like a charm Asus eee pad
Click to expand...
Click to collapse
Awesome depulle87 glad to hear
Sent from my Nexus S 4G using XDA Premium App
I was to early with that, it seems to ''shrink'' my framework-res.apk so I can't use it.
It was 6.506kb and after a decompile and than compile it is 4.082kb, no changes made.
I didn't see it yesterday and I ended reflashing my TF
depulle87 said:
I was to early with that, it seems to ''shrink'' my framework-res.apk so I can't use it.
It was 6.506kb and after a decompile and than compile it is 4.082kb, no changes made.
I didn't see it yesterday and I ended reflashing my TF
Click to expand...
Click to collapse
Try after you select your project (Option 22) select (Option 19) Set your compression level and change it to 0.
That shouldn't shrink it at all.
Sorry about that let me know if that works as well so I can update OP
sorry man, it still shrinks my apk
Okay let me look into it. Sorry man.
Thanks man, should I upload my apk file so you can test it ?
yeah pm me with the link
Updated 8/18/2011
I've updated the OP a ton so please read away.
Well, that was easy
One small nitpick: What is the rationale behind overwriting the original files when compiling? Just curious.
And, for us antiquated old geezers building on something like a Windows Server 2003, framework-res.apk and twframework-res.apk should be present as
C:\Docume~1\<username>\apktool\framework\1.apk and 2.apk respectively.
Edit: Which sort of happens automagically, if you ...
java -jar other/apktool.jar if place-apk-here-for-modding/twframework-res.apk
... on that sort of platform.
what's the function of this app?
denis_sianto said:
what's the function of this app?
Click to expand...
Click to collapse
It's not an app
Sent from my MB855 using xda premium
denis_sianto said:
what's the function of this app?
Click to expand...
Click to collapse
It makes creating a theme fairly easy. It allows access to xml's, smali files(****ed up java files lawl!(i know what they are, i just like that version better)), and all the images in whatever apk you put in it. SO you can put in your new images, edit old images, edit xml files, edit smali files.

[UTILITY][TOOL] 9patchPngSuite [Windows&Linux]

Well, i actually cook the ROM MIUI for the SGS I9000 at miui.es and i was having a little fight with themes a few months ago. I allways stop at the same point, its so esay to compile previously decompiled .9.png, but what happens with compiled ones?
So here it's my solution, based on the grat idea of @tommytomatoe and his tool forMac OS X. It's called 9patchPngSuite and it let's you decompile, compile and launch draw9patch without the need of install android SDK.
How it works?
Easy, for every one in miui.es teamwork its not new its similar to other scripts i made, for the rest:
Windows
unzip 9patchPngSuite.zip in your prefered folder and double click on menu.bat
Linux
Unizip 9patchPngSuite.tar.gz in your prefered folder
give execution permissions (usually chmod 777)
type ./menu
Will show us 4 options
****************************
9patchPngSuite
v1 Windows edition
---------------------------------
by kakomalo...
thx @Xxfoc miui.es
and @tommytomatoe xda.com
****************************
1.Decompile *.9.png in Compiled folder (will clean decompiled folder)
2.Launch draw9patch (drag and drop files)
3.Compile RAW *.9.pnd in Decompiled folder (new created in output folder)
4.Info on draw9patch
x.Exit
Select option:
It's no so hard to understand but...
1.Decompile *.9.png in Compiled folder (will clean decompiled folder)
Decompile all .9.png in compiled folder, don't care if it's other kind of png or file, only works with .9.png.​
2.Launch draw9patch (drag and drop files)
Launch draw9patch, drag & drop files on it to edit. It's no needed to be installed android SDK tools, it's on tools folder​
3.Compile RAW *.9.pnd in Decompiled folder (new created in output folder)
Compile all .9.png in decompiled folder, don't care if it's other kind of png or file, only works with .9.png, and let the new compiled ones in output folder.​4.Info on draw9patch
Open thefault browser and goes to http://code.google.com/p/android-apktool/wiki/9PatchImages​
You have seen it's no difficult to use, i hope you like it.
Special thanks to @Xxfoc from miui.es for give me the idea, @tommytomatoe for his Mac OS X tool and brut.all for the work.
Download - Windows
Download - Linux
Spanish thread on miui.es or htcmania.com
Thanks for this! Can't wait to try it out when I'm back at my laptop
Sent from my Nexus S 4G using Tapatalk
Thank brutha
Excellent! Thanks.
Thanks i get a error on compile system cannot find file or folder.
ngagephone said:
Thanks i get a error on compile system cannot find file or folder.
Click to expand...
Click to collapse
Im not sure what do you try but, if its an error compiling .9.png make sure you have the descompiled & patched files in "decompiled" folder, before use option 3 in the menu.
Big thanks !
Very fast to edit .9.png now
This is a huge help, thank you.
The download links are down.
From where I could download?
Un saludo
Interested in working links aswell, as that tool sounds like the solution to my current problems
Link not work. ;(
Sent from my GT-S5830 using xda premium
Found a working link here if the author doesn't mind.
EddieFAF said:
Found a working link here if the author doesn't mind.
Click to expand...
Click to collapse
Thanks!!!
Enviado desde mi GT-I9100
Just like to say a big thanks for the 9patchPngSuite - it's saving me loads of time.
I had no problem recompiling edited .9.pngs using xUltimate-d9pc but it was a pain to have to decompile an apk just to edit a couple of .9.pngs
Working link please
Someone, please give working link to download this tool. Thanks!

[25 March] Sense 3.5

Since Solar_ and kaassaus both left the wildfire scene they left behind their sense 3.5 rom which needed resizing
Well a couple of dedicated members have managed to do some resizing and now the launcher is in the correct place we can start fixing the apps.
anyone who wants to help resize here is a thread on how to do it by vigidroid http://forum.xda-developers.com/showthread.php?t=1296554
This is a thread where i will put any resized .apk's people have done and build the rom... so share any resized .apk's and together we can get this rom working properly
while this is being resized im going to add some new stuff in aswell e.g htc one ringtones, beats etc easy stuff for now
If you have helped with providing resized apk etc let me know and i will add you to the credit list
Attached are actual screen shots of this rom
Features :
-Based on the Hintay Zero 0.12
-Android Gingerbread 2.3.5
-Brand new Sense 3.5
-Busybox 1.18.4
-Htc One Wallpapers
-BEATS!! (audio works - beats music player doesn't work FC)
-Languages : English, Danish, Finnish, Norwegian, Swedish, Arabic, Bulgarian, Catalan, Czech, German, German, Greek, Spanish, French, Hebrew, Hindi, Croatian, Hungarian, Indonesian, Italian,Japanese, Korean, Lithuanian, Latvian, Dutch, Polish,Portuguese, Romanian, Russian, Slovak, Slovenian, Serbian, Thai, -Tagalog, Turkish, Ukrainian, Vietnamese, Chinese.
-HTC File Manager
-Deodexed all files
-Zipaligned all .apk for better RAM usage
-Added A2SD (and dalvik cache to SD)
-Edify scripted (CWM 3.X.X +)
-And much more..
Download in next post!
Known bugs :
-Wi-Fi (rallapag working on it!), GPS, BT doesn't work.
-Everything needs resizing Need help with that .
-You tell me.
Credits :
-Hintay, for his awesome Hintay Zero 0.12 ROM.
-Arco68, for making this ROM boot
-Rallapag for resizing the rosie/launcher.
-vigidroid for his resizing thread
.APK Credits:
-Rallapag - for the HtcQuickLaunchWidget.apk and HtcLockScreen.apk
-LastStandingDroid - resizing some of the framework files
BEFORE YOU INSTALL BE AWARE IT IS IN BETA STAGE ATM - LOTS NEED RESIZING AND FORCE CLOSES NEED FIXING - NOT RECOMMENDED AS A DAILY DRIVER
ALSO I AM NOT RESPONSIBLE IF IT BRICKS YOUR DEVICE OR IT LINKS WITH SKYNET AND SENDS A TERMINATOR TO KILL YOU
Guide to install the ROM :
1. Download the latest version
2. Put it in the root of your SDcard (/sdcard/)
3. Boot into CWM
4. Make a nandroid backup of your current ROM!!
5. Wipe data, cache and dalvik cache
6. Flash this .zip in CWM
7. Reboot
Havent tried this with any custom MTD Partitions so i dont know if it will boot however if anyone successfully gets this to boot using custom MTD Partition please post so i can add them here!
BOOT UP WILL TAKE A WHILE - STAYS ON HTC SCREEN FOR AGES BUT BE PATIENT IT WILL LOAD!
Now Time To Flash!
sense_3.5_V1:- https://rapidshare.com/files/1044687275/Sense_3.5_V1.zip
Mirror 1:- http://www.mediafire.com/?br94mwlr1tncvwb
reserved!!
Nice,I hope bt, GPS and wifi will be fixed soon cause then I might switch to this ROM...
Btw, about the app resizing, is it really needed to resize every app that gets installed on this ROM or only the ROM apk files?
Welcome to the end of your life, hail the oceanborn
reserved
Originally Posted by SebastianFM
Originally Posted by rallapag
Hi SebastianFM,
I was wondering couple of things about your ROM port from salsa.
You have replaced few libs (from diff, it seems following were the libs that you have replaced)
Code:
libaudio.so
libaudioflinger.so
libbluedroid.so
libbluetooth.so
libbluetoothd.so
libdvm.so
libhardware_legacy.so
libhtc_acoustic.so
libjpeg.so
libm.so
libnativehelper.so
libOmxH264Dec.so
libOmxMpeg4Dec.so
libOmxVidEnc.so
libskia.so
libstagefrighthw.so
libttssynthproxy.so
libwpa_client.so
AND added
libSFM_runtime.so
I am thinking some of them you might have replaced using either CM7 or AOSP GB ROM libs, right??
or you had to re-compile them. (how did you do CM7 or AOSP - i am thinking it doesn't matter right??)
And about libSFM_runtime.so, it is not there in salsa ROM, so it must be something that you compiled,
so what exactly does this do?? why is this required, as i didn't find any such lib in Tattoo ROMs
Does this lib codes any compatibility with other hardware gps, camera, bt??
Thanks very much for all the help you have extended so far.
Hi,
I don't know how can I help you with GPS.
Changed libraries were build using AOSP Android 2.3.3_r1 source code and toolchain. I
Code:
recompiled some of them only to change prelink address,
libbluedroid.so, libbluetooth.so, libbluetoothd.so due to different BT chipset,
libaudio.so, libaudioflinger.so, libhtc_acoustic.so due to different audio chipset,
libOmxH264Dec.so, libOmxMpeg4Dec.so, libOmxVidEnc.so due to different VFE, libraries were taken from another ROM,
libdvm.so, libjpeg.so, libm.so, libnativehelper.so, libskia.so, libttssynthproxy.so, egl/libGLES_android.so due to missing floating point instructions support in MSM7200A chipset,
libnativehelper.so - this lib overrides some of JAVA native functions (due to missing floating point instructions support), new functions are loaded from libsfm_runtime.so,
libwpa_client.so - different Wi-Fi chipset, starts wlan_loader service,
libhardware_legacy.so - hex edited only, bcm4329.ko changed to wlan.ko.
reserved for me and my resized apks
link pulled my mac kills the settings (Works -> smaller shutdown menu)
systemui -> fixed once (lost it due to my bad setup of save files) -___-
-resized-
framework-res (try in shutdown menu)
htc.resources. (????)
-Needs more work-
mms.apk
launcher (still not 100% on top)
some more i not tested
nice to have you onboard
MkBy said:
nice to have you onboard
Click to expand...
Click to collapse
My pleasure now head to work for me
what is rosie.apk related to??
i would like to help, but dont know how?
ilDuceo said:
i would like to help, but dont know how?
Click to expand...
Click to collapse
download rom
extract all files
if you are good to know resizing skills, do resize and try!
but before resizing, we got to have usb working .____. i don't want to restore to old version just to get new all time??
possible fix
Hi, dont be insulted, i just want to ask wouldnt it be better to tweak the sense 2.1 to perfection, as it has all the esential things working?
Sent from my HTC Wildfire
androidino95 said:
Hi, dont be insulted, i just want to ask wouldnt it be better to tweak the sense 2.1 to perfection, as it has all the esential things working?
Sent from my HTC Wildfire
Click to expand...
Click to collapse
the *things can be done easily*
but if we want perfection we need to resize this rom
LastStandingDroid said:
the *things can be done easily*
but if we want perfection we need to resize this rom
Click to expand...
Click to collapse
he's speaking about senseonfire rom (sense 2.1) majority of rom as resized (not all) need fix bt gps some widget sense accoun fix and other minor problem.... and i agree with him.
LastStandingDroid said:
reserved for me and my resized apks
http://www.mediafire.com/?aludr9ivat985ey (Framework-Files)
systemui -> fixed once (lost it due to my bad setup of save files) -___-
-resized-
framework-res (try in shutdown menu)
htc.resources. (????)
-Needs more work-
mms.apk
launcher (still not 100% on top)
some more i not tested
Click to expand...
Click to collapse
i swapped your framework-res and put in the htc.resources file in and now the settings are force closing and the notifications for force closes etc looks really weird
are you sure the apks used are not from my earlier post today
http://forum.xda-developers.com/showpost.php?p=24028498&postcount=124
Sense 2.1 (SenseOnFire) has working wifi doesn't it? Use the working libs from that. Just an idea.
rallapag said:
are you sure the apks used are not from my earlier post today
http://forum.xda-developers.com/showpost.php?p=24028498&postcount=124
Click to expand...
Click to collapse
oh crap yeah need to give you credit sorry
Credit Given!!
Thanks MkBy
And by the way LastStandingDroid - apk resizing is not just resizing the images and most of the times it won't work and would give artifacts like stretched images.
And some times it can be achieved with out image resizing
Best way is by changing the dimensions in use and also the text sizes have to be adjusted for small screens.
And about Rosie.apk, it is the launcher for sense.
Thanks for this awesome thread for which I was waiting for like ages since sense 3.5 first boot.
Sent from my HTC Wildfire using xda premium
This rom works on HTC Wildfire stable? Thank you!
All,
mirror link please
http://www.mediafire.com is prefered
Thanks,

[KITCHEN] MIUI v4 Theme Kitchen [WIP!!] [Beta 1] [5/25/12]

So, I'm a themer at heart, and I love MIUI. Sometimes making MIUI themes gets me confused, I have a nice compile script set up for .9.pngs but then the folders and zips and etc etc, sometimes I get a bit overwhelmed and I completely lose myself in what I was doing. So I decided to make a sort of kitchen, resembling dsixda's ROM kitchen.. currently it's still kinda far off, but that is the ultimate goal.
This is not a graphical tool. This is not an image manipulation tool.
Basically, you take the apks you want to theme and put them in their own folder. Using framework-res.apk and framework-miui-res.apk isn't 100% necessary, but if they're not included, there's a chance the apks will not decompile properly. It will install the two frameworks if they exist, and then decompile all the apks in the folder. It goes into the AndroidManifest.xml file to get the package name (ie com.android.mms) and changes the name of the folder to it. It takes colors.xml and turns it into a theme_values.xml. It then deletes all the extra files that are not needed for a theme, and creates a generic description.xml file. It tells you to edit your pngs, description, and theme_values and run the compiler.
The compiler runs in the same directory, and compiles all the .9.pngs in each separate folder, puts the zips of them with no zip extension into a new "theme" folder, then puts it all together into an mtz in that theme folder.
If you understand MIUI theming, I hope this makes sense. I have a little video showing it off:
http://youtube.com/watch?v=Xg6UHzNjrq8
I plan on prettying it up a little bit more and I want to make a menu to use for future versions.
-----------------------------------------------------------------------------------------------------------
How to use it:
Extract v4tk folder somewhere, and add it to your PATH
Create a new folder, copy and paste the apks you want to theme into it.
- framework-res.apk and framework-miui-res.apk from the same build as the apks you're trying to edit is essential unless you already have them installed with apktool
From terminal in this folder, run "mktemplate" - this makes all the magic happen, and it actually creates a description.xml based on your input.
Edit the pngs, delete the ones you don't edit, for .9.pngs make sure to leave the 1px border alone unless you know what you're doing
Edit the theme_values files, remove the lines you didn't make changes to. Make sure no @color:android/red or whatever are in them. Hex argb only.
Go back to your terminal, run "mktheme" - this compiles all the .9.pngs, packages everything up, and creates an mtz based off your input for a filename. The mktheme script also supports lockscreen, wallpaper, icons, and preview folders... The template does not create these, but if you make them, the mktheme script will package them into the resulting mtz.
For linux or possibly cygwin (should run fine in terminal on OSX - untested though) only currently. I'm afraid it's been over a decade since I've messed with batch scripting, and before I go through the hassle of putting together a windows version, I want to have a complete project.
Also, just wanted to say one of the main reasons I'm releasing this tool is because MIUI v4 is changing a lot week to week; sometimes there's new images, sometimes there are new colors in the theme_values. If I made a template, it'd be obsolete in two weeks time
Also, this will work with any* apk for your theming pleasure, not just MIUI apps.
*maybe there's an app it can't decompile. shouldn't be, but be warned
Finally.. Download: http://lz.gd/v4tk
You Sir are a stud! and not to bad a Miui either! lol
This looks very impressive!
Nice cant wait for it!
It looks great, I love it.
Wow, seems impressive!
A Gui intefarce to exploit pngs with preview would be awesome !
Think this is a huge work
Pretty Awesome. Cant wait
Looks really cool, nice job
This is what the MIUI community needed. NICE job.
I've uploaded it with some minor cosmetic changes. It's completely functional, but not quite where I want it to be yet.. OP has been updated with some basic instructions on how to use it, post here or come find me in #miuithemes on irc.freenode.net for any issues
You sir are awesome. Got the beta downloaded. Thanks so much for your hard work and efforts.
Anybody using this? Is it working well for you?
Report any issues please.
I have not used it yet, but I plan to directly after my rom is updated from 2.5.4
Sent from my DROIDX using XDA

[3.0.0 beta] EVilTheme: VRTheme Reborn

About
Eviltheme (Enhanced VillainROM Theme Engine) is an Android system modification platform meant for use with custom Android recoveries.
It allows modification of application resources without the need to replace the whole app or install a new operating system.
Eviltheme is based on the VRTheme Engine from 2011, though versions 3.x.x and up heavily differ from the original VillainROM code.
Disclaimer
Eviltheme is provided to you without warranty. You are free to try it on your device, but you are doing so at your own risk. I will not be responsible for bricked devices, wiped devices, etc.
Features
Automatic systemless mode with version 3.x.x+ (Magisk required, version 13.1+ recommended)
System mode fallback in case Magisk is not present
Supports both Dalvik and ART platforms
Smart bytecode refresh (delete classes.dex/classes.art only if it is replaced by the theme)
Easy uninstallation via automatically generated flashable ZIP or through Magisk Manager (if installed systemlessly)
Delete files (even inside APKs)
Support for pre/post-(un)installation scripts
Support for dual /system partitions
Downloads
Latest beta: 3.0.0-beta4
Last 2.x release (no systemless support): 2.0.6
Changelogs
GitHub
Documentation
Second post
Help
Third post
Credits
The VillainROM team
@djb77
@Spannaa
@topjohnwu
Source code (GPLv3)
Eviltheme main repo
Eviltheme restore ZIP repo
Documentation
Things to remember​
Compile your res/smali/etc files first before you put them in your theme! You can use APKtool for that, then just extract the files from the resulting APK.
Theming user apps is not supported, because modifying the contents breaks the signature.
Remember to properly edit .9.png files, or else you might get a bootloop!
You do not need to put theme files in a subfolder inside the main APK folder, e.g. /system/priv-app/SystemUI/SystemUI.apk. EVilTheme automatically does that for you.
Do I need to download the official Magisk module template?​Nope! EVilTheme includes post-fs-data.sh, service.sh, and system.prop. Look for them in META-INF/tk/aureljared/magisk-common and edit them to your liking. The module.prop is automatically generated from information you put in eviltheme.prop.
In the event that the official module template is updated, I will update EVilTheme to ensure compatibility as soon as I can.
How do I theme an app (or apps) using EVilTheme?​Inside the ZIP, there are three folders that you can modify as needed; namely, data, system, and vrtheme.
Your patches/theme files go in vrtheme, while APK files that you want to install onto the device go in data and system.
For example, you want to theme Settings.apk, which is located in /system/priv-app.
Let's say your theme replaces res/drawable-hdpi/battery_icon_50.png in the APK, and also replaces classes.dex because you changed some smali files.
These are the steps you need to follow to make a flashable theme ZIP:
Ensure you've downloaded the appropriate template ZIP. Make a folder somewhere you can remember and extract the ZIP there.
The folder should now contain the folders META-INF, data, system, vrtheme, and a file called eviltheme.prop.
Open eviltheme.prop in a text editor (please use Notepad++ if you are on Windows!) and add your theme information there.
In the vrtheme folder, go to system and make a new folder called priv-app. Inside it, make another folder called Settings.apk. Make sure you capitalized correctly!
Now make folders as necessary, according to the location of the files you want to theme. For example, battery_icon_50.png is located in res/drawable-hdpi, so make a folder named res inside Settings.apk. Inside it, create a folder named drawable-hdpi, then paste your new battery_icon_50.png inside.
Repeat step 5 until you've placed your theme files in their appropriate locations.
When you're done, go back to the root folder of the theme (the one that contains new, vrtheme, etc.) and put all 5 objects in a ZIP file. You should use Deflate compression method only. Any compression level will work.[/u]
If the recovery that the theme is intended to be used with requires signing, sign the ZIP now.
Test your theme! :victory:
How do I uninstall a theme?​If the theme was installed systemlessly, remove it in Magisk Manager.
Otherwise, flash the relevant zip in /data/eviltheme-backup.
How do I delete files inside APKs to be themed?​To delete files, add the filenames to a text file named "delete.list" inside the APK theme folder.
This is an example of a delete.list:
Code:
res/drawable-hdpi/ic-launcher.png
res/drawable-xxhdpi/battery_full.9.png
How do I delete files that aren't inside APKs?​You will also need a "delete.list". Remember to use full paths:
Code:
/system/app/Bloatware/Bloatware.apk
/system/etc/hosts
Put that in the "vrtheme" folder.
How can I exclude deleted files from being backed up?​Eviltheme versions 3 and up will automatically back up files that your theme deletes (in non-systemless mode).
To exclude a file, add "no-backup" to the end of the corresponding line in vrtheme/delete.list.
Code:
/system/app/Bloatware/Bloatware.apk [B]no-backup[/B]
How do I force installation on /system?​Eviltheme versions 3 and up will automatically install in systemless mode with Magisk 13.1+, but if you want to force your theme to install to /system, create a file named .eviltheme-force-system (notice the preceding dot) in /sdcard before installing.
I need to execute some commands during the theme (un)installation.​Inside META-INF/tk/aureljared/eviltheme, there are files named "pre-install.sh-example", "post-install.sh-example", "pre-uninstall.sh-example", and "post-uninstall.sh-example". Remove the "-example" part from the file name of your desired script, and edit that file in the text editor (please please please use Notepad++ if you're on Windows).
Use the comments in that file as a guide.
Help section
The theme wasn't successful, and I believe that the problem lies in the engine itself.​Post here describing the problem. Be as descriptive as possible. I will ignore all bug reports without an attached logcat dump and/or recovery.log. I'll try to look into the problem when time permits.
I am just a student, not a full-time developer. I may not be able to provide a fix for some bugs, so feel free to help me and everyone else out. If you know how to work with Git, an upstream patch to the project would be highly appreciated :good:
The theme was / wasn't successful, but I am stuck in a bootloop.​Try wiping your Dalvik cache. If the problem is still there, uninstall the theme and post a bug report in this thread. Include the relevant /cache/recovery.log and the theme you installed.
The theme was successful, but the app I was theming does not reflect my changes.​This is a tough one to solve. Try recompiling the APK itself with your theme files. If it works, it's either the problem lies in how you put the theme files in the ZIP, or maybe it's the script that's buggy. Try to make a ZIP again, following the instructions to the letter. If it still doesn't work, you can file a bug report here and attach your logcat dump, recovery.log, and (if you want) the themed APK.
The theme was successful, and now I'm ready to release my theme to the public.​All I ask for is some credit and a link back to this thread. :fingers-crossed:
The theme wasn't successful, and I found a problem in your engine script(s).​If you're familiar with Git, you can make a pull request to the EVilTheme repository.
If you don't know how to use Git, you can just edit the script(s) you need and send me a PM containing the fixed script(s). I'll add you to the credits list in the first post if your bugfix is effective!
Great work :good:
I particularly like the smart selective dalvik-cache wiping
Maybe it could be even smarter if the script only wipes an apk's dalvik-cache if the apk has had it's classes.dex replaced by the theme...
I'm working on something like this myself but mine is based on the unreleased GS2XFormROM by @hawkerpaul
I'll throw you a link when it's ready
Spannaa said:
Great work :good:
I particularly like the smart selective dalvik-cache wiping
Maybe it could be even smarter if the script only wipes an apk's dalvik-cache if the apk has had it's classes.dex replaced by the theme...
I'm working on something like this myself but mine is based on the unreleased GS2XFormROM by @hawkerpaul
I'll throw you a link when it's ready
Click to expand...
Click to collapse
Let me know if you need any help on the scripting side of things butty.
Sent from my GT-I9505G using XDA Free mobile app
hawkerpaul said:
Let me know if you need any help on the scripting side of things butty.
Click to expand...
Click to collapse
I will - cheers mate
Got it working but I'm sure you'd do a better job - .sh scripting isn't my thing at all.
Apologies to the OP for the OT...
Sent from my GT-I9300...
Spannaa said:
Great work :good:
I particularly like the smart selective dalvik-cache wiping
Maybe it could be even smarter if the script only wipes an apk's dalvik-cache if the apk has had it's classes.dex replaced by the theme...
I'm working on something like this myself but mine is based on the unreleased GS2XFormROM by @hawkerpaul
I'll throw you a link when it's ready
Click to expand...
Click to collapse
Hmm, yes I think I'll implement this in v1.1. Thanks for the suggestion!
Sent from my GT-I8730 using Tapatalk
Version 1.1 released!
v1.1: Link
What's new?
- Even smarter Dalvik wiping: delete dex files only for those apps whose classes.dex were changed (thanks @Spannaa)
- Corrected a typo in the restore script (please delete 'restore-vr' inside your /system/xbin, if any!)
- Removed unused methods in installtheme.sh
Click to expand...
Click to collapse
aureljared said:
Version 1.1 released!
v1.1: Link
Click to expand...
Click to collapse
How about making this TWRP compatible too - then it'd be even more useful
Reference 1
Reference 2
Spannaa said:
How about making this TWRP compatible too - then it'd be even more useful
Reference 1
Reference 2
Click to expand...
Click to collapse
Version 1.2 released!
v1.2: Link
What's new?
- Refinements to Smart Dalvik Wipe
- Switch to Linus Yang's BusyBox 1.21.1, which will hopefully make theming TouchWiz < 4.2 possible
- TWRP compatibility: switch to a static zipalign binary, grep method for OUTFD to look for updater binary
- Cleaner zip hierarchy: new apps to be installed to /system and /data are now in their respective folders in a folder named 'new'
Click to expand...
Click to collapse
Sent from my GT-I8730 using Tapatalk
aureljared said:
Version 1.2 released!
v1.2: Link
Sent from my GT-I8730 using Tapatalk
Click to expand...
Click to collapse
Very good job on this...one thing, in kitkat 4.4.2 touchwiz roms half of the apps that need to be themed are in /system/priv-app. This folder location does not seem to be in your installtheme.sh script. I can manually change everything myself but if you would like other users to take advantage of your work, you may want to consider updating for these users.
deuce_biggins said:
Very good job on this...one thing, in kitkat 4.4.2 touchwiz roms half of the apps that need to be themed are in /system/priv-app. This folder location does not seem to be in your installtheme.sh script. I can manually change everything myself but if you would like other users to take advantage of your work, you may want to consider updating for these users.
Click to expand...
Click to collapse
Oh right... How could I forget Am working on this now.
Thanks for the heads-up!
Version 1.3 released!
v1.3: Link
What's new?
- Support for KitKat's system apps in priv-app
Click to expand...
Click to collapse
Silly me, forgetting this while using a KitKat ROM
aureljared said:
Version 1.3 released!
v1.3: Link
Silly me, forgetting this while using a KitKat ROM
Click to expand...
Click to collapse
Nice work aureljared, the quick response and update is much appreciated :good:
Thank you @aureljared, deuce_biggins pointed me here, and I must say nice work to you.. Thank you
I tried to vrt a data/app, and it may have broke the signature.. It did theme the app, but it was no longer visible/available in my app drawer.. I could see the themed icon in data/app tho.. I don't think the original VRT could theme in data/app either... I did use your new version 1.3 with twrp on my Galaxy Tab 3, so that is good news.. It also made two folders on my internal sd, one was for data/app and one for system/app.. It did make a copy of the apk it themed in data/app, and placed it in the folder on my internal sd . I will test this on my Note 3 with twrp later..Thank you
aureljared said:
Version 1.3 released!
v1.3: Link
Silly me, forgetting this while using a KitKat ROM
Click to expand...
Click to collapse
cerj said:
I tried to vrt a data/app, and it may have broke the signature.. It did theme the app, but it was no longer visible/available in my app drawer.. I could see the themed icon in data/app tho.. I don't think the original VRT could theme in data/app either... I did use your new version 1.3 with twrp on my Galaxy Tab 3, so that is good news.. It also made two folders on my internal sd, one was for data/app and one for system/app.. It did make a copy of the apk it themed in data/app, and placed it in the folder on my internal sd . I will test this on my Note 3 with twrp later..Thank you
Click to expand...
Click to collapse
@aureljared, just curous...to follow up on with what cerj said, have you ever successfully themed an app inside of /data/app with your VRT? Seems to kill the app every time, your thoughts?
deuce_biggins said:
@aureljared, just curous...to follow up on with what cerj said, have you ever successfully themed an app inside of /data/app with your VRT? Seems to kill the app every time, your thoughts?
Click to expand...
Click to collapse
No, I only tried it with the old VRTheme, and it didn't work either (no icon in drawer). I don't think it'll work on EVilTheme either as I haven't changed the process of /data/app.
aureljared said:
No, I only tried it with the old VRTheme, and it didn't work either (no icon in drawer). I don't think it'll work on EVilTheme either as I haven't changed the process of /data/app.
Click to expand...
Click to collapse
Do you even think it's possible?
deuce_biggins said:
Do you even think it's possible?
Click to expand...
Click to collapse
It could be possible, if we can find a way to go around the sig verification. Or perhaps it just needs a Dalvik wipe, I don't really know [emoji26]

Categories

Resources