This is just a guide, you will have to make some batch files to do all the stuff because it is too much stuff just to write it on console.
Guide:
1º Pull framework and apps
2º Deodex framework (all .jar files in framework folder that have an .odex file)
- get classes.dex and insert it in respective .jar file
3º change color (described below)
4º Deodex apps (all .apk files that have an .odex file)
- get classes.dex and insert it in respective .apk file
5º push the new .jar files and delete the old .odex files
6º push the new .apk files and delete the old .odex files
7º use dexopt-wrapper to odex all new .jar files (the deoxpt-wraper is somewhere in the xda forum)
8º use dexopt-wrapper to odex all new .apk files (sometimes the phone restarts during this step)
it's done.
But you must delete all classes.dex, because its not need after odex.
And another thing you must do, is zipalign all .jar and .apk (i didn't do this)
e.g. of deodex a file:
Code:
@java -jar "\Program Files\AndroidSDK\tools\baksmali.jar" -x core.odex -o core-out
@java -Xmx512M -jar "\Program Files\AndroidSDK\tools\smali.jar" core-out -o classes.dex
second e.g. (some files have dependencies like this one)
Code:
@java -jar "\Program Files\AndroidSDK\tools\baksmali.jar" -c :semc_emailif.odex -x semc_contentmanagerif.odex -o semc_contentmanagerif-out
@java -Xmx512M -jar "\Program Files\AndroidSDK\tools\smali.jar" semc_contentmanagerif-out -o classes.dex
to change the color:
get folder of services.odex with baksmali, modify \com\android\server\status\StatusBarIcon.smali
it isn't the same line of normal method to non-odex roms
lines:
Code:
.line 53
const v6, -0x33FFFFFF [U][B]<- 33 is transparency, and FFFFFF is black (i think its the inverse of normal RGB) [/B][/U]
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTextColor(I)V
deoxpt-wrapper
e.g. of usage:
Code:
@adb shell dexopt-wrapper /system/framework/core.jar /system/framework/core.odex
i already made this some months ago, and i dont remember everything (i was waiting for 2.1 to release this)
but i think its everything... if i remember something i will post next week, and if i have time, i will make a nice tutorial, but just next week.
REMEMBER: MAKE A BACKUP BEFORE! AND I'M NOT RESPONSIBLE FOR ANYTHING THAT YOU DO WITH YOUR PHONE
PS: sorry for my f*cking bad english
Thank you for this guide.
If you remove the - in front of the number for colour then you can use a regular HTML colour code.
I can not find
Code:
.line 53
const v6, -0x33FFFFFF <- 33 is transparency, and FFFFFF is black (i think its the inverse of normal RGB)
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTextColor(I)V
Im going to show you result after 1 week
I did not build a complete theme, just transparent effect. And you can see a live wallpaper moving under an APP
Video Demo 1
http://www.youtube.com/watch?v=W2aQHBDZUqw&feature=youtu.be
It's great if i have Koi Live wallpaper
Video Demo2( no Dim , 100%transparent))
http://www.youtube.com/watch?v=Cvf7OIfbLno&feature=youtu.be
Here The GUIDE make ~ 70% rom transparent( other 30% is inside each apk)
Prepare: notepad++ +framework-res.apk + twframework-res.apk + APK Multi Tools(APK Manager)
Step1: Modify system theme
Decompile framework-res.apk
Open .../res/value/style.xml with Notepad++
In <style name="Theme"> tag, find and edit like this
Code:
<item name="colorBackground">@[COLOR="Blue"][B]color/transparent[/B][/COLOR]</item>
<item name="windowBackground">@[COLOR="blue"][B]color/transparent[/B][/COLOR]</item>
<item name="windowShowWallpaper">true</item>
In <style name="Theme.NoTitleBar" parent="@style/Theme"> tag, edit like this
Code:
<item name="windowBackground">@[COLOR="blue"]color/transparent[/COLOR]</item>
<item name="windowShowWallpaper">true</item>
If you get keyboard bug(bug when use live wallpaper)remove it and add
Code:
<item name="windowShowWallpaper">false</item>
In <style name="Theme.Black" parent="@style/Theme"> tag, edit like this
Code:
<item name="colorBackground">@color/black</item>
<item name="windowBackground">@[COLOR="blue"]color/transparent[/COLOR]</item>
<item name="windowShowWallpaper">true</item>
In <style name="Theme.Light" parent="@style/Theme"> tag, add
Code:
<item name="windowShowWallpaper">false</item>
In <style name="Theme.ExpandedMenu" parent="@style/Theme"> tag, add
Code:
<item name="windowBackground">@[COLOR="Blue"]color/transparent[/COLOR]</item>
<item name="windowShowWallpaper">true</item>
go to .../res/drawable-ldpi/ and modify tab_forcus, tab_selected, tab_press, tab_unselected, all tab_***_bar_*** remember carefully edit 9path PNG
Recompile framework-res.apk
*Note:color/transparent is 100% transparent
if you decide another color, go to ..../res/value/color.xml , add another color you like
Code:
<color name="what_ever">#aarrbbgg</color>
aarrbbgg= alpha+red+blue+green in hex
with aa: 100% transparent=00
50% =7f
0% =ff
Windows caculator can change decimal to hexadecimal
Step 2: Modify touchwiz theme
Decompile twframework-res.apk
Go to .../res/drawable-ldpi/
Edit anything that you want to be transparent(should edit tw_tab_focused,tw_tab_focused_ss,tw_tab_pressed,tw_tab_pressed_ss,tw_tab_selected,tw_tab_selected_ss,tw_tab_unselected,tw_tab_unselected_ss, and all tw_tab_***_bar_***.
Recompile twframework-res.apk
Step 3 Put files into phone, require root for quick test
Use adb
Code:
adb push [[B]filename with extension[/B]] /sdcard/
Code:
adb shell
su
stop
mount -o rw,remount -t rfs /dev/stl12 /system
busybox cp /sdcard/[[B]filename with extension[/B]] /system/framework/
start
And to build complete theme you need mod some apk like DialerTabActivity,MMS,Phone,SystemUI ..v..v..
zcop said:
Here The GUIDE make ~ 70% rom transparent( other 30% is inside each apk)
Prepare: notepad++ +framework-res.apk + twframework-res.apk + APK Multi Tools(APK Manager)
Step1: Modify system theme
Decompile framework-res.apk
Open .../res/value/style.xml with Notepad++
In <style name="Theme"> tag, find and edit like this
Code:
<item name="colorBackground">@[COLOR="Blue"][B]color/transparent[/B][/COLOR]</item>
<item name="windowBackground">@[COLOR="blue"][B]color/transparent[/B][/COLOR]</item>
<item name="windowShowWallpaper">true</item>
In <style name="Theme.NoTitleBar" parent="@style/Theme"> tag, edit like this
Code:
<item name="windowBackground">@[COLOR="blue"]color/transparent[/COLOR]</item>
<item name="windowShowWallpaper">true</item>
If you get keyboard bug(bug when use live wallpaper)remove it and add
Code:
<item name="windowShowWallpaper">false</item>
In <style name="Theme.Black" parent="@style/Theme"> tag, edit like this
Code:
<item name="colorBackground">@color/black</item>
<item name="windowBackground">@[COLOR="blue"]color/transparent[/COLOR]</item>
<item name="windowShowWallpaper">true</item>
In <style name="Theme.Light" parent="@style/Theme"> tag, add
Code:
<item name="windowShowWallpaper">false</item>
In <style name="Theme.ExpandedMenu" parent="@style/Theme"> tag, add
Code:
<item name="windowBackground">@[COLOR="Blue"]color/transparent[/COLOR]</item>
<item name="windowShowWallpaper">true</item>
go to .../res/drawable-ldpi/ and modify tab_forcus, tab_selected, tab_press, tab_unselected, all tab_***_bar_*** remember carefully edit 9path PNG
Recompile framework-res.apk
*Note:color/transparent is 100% transparent
if you decide another color, go to ..../res/value/color.xml , add another color you like
Code:
<color name="what_ever">#aarrbbgg</color>
aarrbbgg= alpha+red+blue+green in hex
with aa: 100% transparent=00
50% =7f
0% =ff
Windows caculator can change decimal to hexadecimal
Step 2: Modify touchwiz theme
Decompile twframework-res.apk
Go to .../res/drawable-ldpi/
Edit anything that you want to be transparent(should edit tw_tab_focused,tw_tab_focused_ss,tw_tab_pressed,tw_tab_pressed_ss,tw_tab_selected,tw_tab_selected_ss,tw_tab_unselected,tw_tab_unselected_ss, and all tw_tab_***_bar_***.
Recompile twframework-res.apk
Step 3 Put files into phone, require root for quick test
Use adb
Code:
adb push [[B]filename with extension[/B]] /sdcard/
Code:
adb shell
su
stop
mount -o rw,remount -t rfs /dev/stl12 /system
busybox cp /sdcard/[[B]filename with extension[/B]] /system/framework/
start
And to build complete theme you need mod some apk like DialerTabActivity,MMS,Phone,SystemUI ..v..v..
Click to expand...
Click to collapse
Thanks will try this out soon.
willl try on G ace
Sent from my GT-S5830 using xda premium
spacecaker said:
willl try on G ace
Sent from my GT-S5830 using xda premium
Click to expand...
Click to collapse
Yeah, tell me if it work
tried it
some of whats described here wasnt in the framework
so couldnt do that
and didnt worked
launcher was gone
couldnt open taskmanager
i only wanted transparent settings
herpderp ©copy+paste
can you give me framework-res so i can look into the file.
It should be mod step by step
first do a mod at this
Code:
<style name="Theme">
then recompile and try on phone. If work go to next step
This will be find out what make problem
zcop said:
can you give me framework-res so i can look into the file.
It should be mod step by step
first do a mod at this
Code:
<style name="Theme">
then recompile and try on phone. If work go to next step
This will be find out what make problem
Click to expand...
Click to collapse
i can use some xml coding to set a background for it
@drawable/background then put a png called background ind drawable mdpi
herpderp ©copy+paste
here u go
u want everything ?
you can, in some apk just set android:background="@....." in layout but some apk it not going to transparent. And setting up the stock theme is the quick way cause there are many apk using theme from framework-res.
your framework-res from Ace and Fit look like a twin.
Download attachment and try
zcop said:
your framework-res from Ace and Fit look like a twin.
Download attachment and try
Click to expand...
Click to collapse
thanks will try out on my ace
ok worked
only when i want to type
my wallpaper is full screen i need to press randomly to get my app screen back
herpderp ©copy+paste
1st: great cause it work
2nd:Cause by Theme.Notitilebar
hey, how to make the statusbar transparences only?
Do a mod SystemUI.apk. Now im busy, so may be tonight i will rply here.
zcop said:
Do a mod SystemUI.apk. Now im busy, so may be tonight i will rply here.
Click to expand...
Click to collapse
ukm, so I can wait for you Im Vietnamese like you
Ok let make Status Bar transparent.
Needed: Apkmanager, SystemUi.apk, notepad++, Photoshop or Gimp to make 1 transparent image ~ 22*240 name: custom_statusbar_bg save as PNG
1.Decompile SystemUI.apk
2.Open file ...../res/layout/status_bar.xml with notepad++
3 Edit the second line from
Code:
android:background="#ff000000"
to
Code:
android:background="@drawable/custom_statusbar_bg"
4.Put custom_statusbar_bg.png to ..../res/drawable-ldpi/
5.go to .../smali/com/android/systemui/statusbar/ open StatusBarService.smali with notepad++
Find
Code:
invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
Above is
Code:
const/4 v5, 0x2
change to
Code:
const/4 v5, -0x3
6.Recompile SystemUI.apk
Other way: use http://uot.dakra.lt/kitchen/
and just do 1>4
Extra:
http://forum.xda-developers.com/showpost.php?p=9978779&postcount=62
OK, thanks, lets me try. Will report to you if Im done
I was searching for this thing from long time...grt ,thank you !!
I want post simple guidance how to port Trebuchet launcher from CM10.2 for our stock and customs ROMs based on android 4.1-4.2How to:
1.Download installation zip for custom recovery from the link below
http://www.androidfilehost.com/?fid=23060877490001603
2.Open archive and unpack Trebuchet.apk from /system/app/ folder
3.Decomplie Trebuchet.apk
4.Navigate to \Trebuchet.apk\smali\com\cyanogenmod\trebuchet\preference\NumberPickerPreference.smali and find line 223
Code:
const v6, 0x1020310
5.Decomplie your framework-res.apk
6.Navigate to \framework-res.apk\res\values\public.xml and find line
Code:
<public type="id" name="numberpicker_input" id="0x01020310" />
your id 0x01020310 will be different from my one.
7.Use your id from name="numberpicker_input" and replace in NumberPickerPreference.smali in code
Code:
const v6, 0x1020310
remember ignore 0 after 0x
8.Complie your modified apk and replace with my one in flashable archive you downloaded before
9.Flash in custom reovery or just put in system/app on your device with 644 rights.
After installation press menu button when you are on app drawer or homescreen and choose your trebuchet settings.
artur0588 said:
I want post simple guidance how to port Trebuchet launcher from CM10.2 for our stock and customs ROMs based on android 4.1-4.2How to:
1.Download installation zip for custom recovery from the link below
http://www.androidfilehost.com/?fid=23060877490001603
2.Open archive and unpack Trebuchet.apk from /system/app/ folder
3.Decomplie Trebuchet.apk
4.Navigate to \Trebuchet.apk\smali\com\cyanogenmod\trebuchet\preference\NumberPickerPreference.smali and find line 223
Code:
const v6, 0x1020310
5.Decomplie your framework-res.apk
6.Navigate to \framework-res.apk\res\values\public.xml and find line
Code:
<public type="id" name="numberpicker_input" id="0x01020310" />
your id 0x01020310 will be different from my one.
7.Use your id from name="numberpicker_input" and replace in NumberPickerPreference.smali in code
Code:
const v6, 0x1020310
remember ignore 0 after 0x
8.Complie your modified apk and replace with my one in flashable archive you downloaded before
9.Flash in custom reovery or just put in system/app on your device with 644 rights.
After installation press menu button when you are on app drawer or homescreen and choose your trebuchet settings.
Click to expand...
Click to collapse
not bad.. not bad at all...
artur0588 said:
I want post simple guidance how to port Trebuchet launcher from CM10.2 for our stock and customs ROMs based on android 4.1-4.2How to:
1.Download installation zip for custom recovery from the link below
http://www.androidfilehost.com/?fid=23060877490001603
2.Open archive and unpack Trebuchet.apk from /system/app/ folder
3.Decomplie Trebuchet.apk
4.Navigate to \Trebuchet.apk\smali\com\cyanogenmod\trebuchet\preference\NumberPickerPreference.smali and find line 223
Code:
const v6, 0x1020310
5.Decomplie your framework-res.apk
6.Navigate to \framework-res.apk\res\values\public.xml and find line
Code:
<public type="id" name="numberpicker_input" id="0x01020310" />
your id 0x01020310 will be different from my one.
7.Use your id from name="numberpicker_input" and replace in NumberPickerPreference.smali in code
Code:
const v6, 0x1020310
remember ignore 0 after 0x
8.Complie your modified apk and replace with my one in flashable archive you downloaded before
9.Flash in custom reovery or just put in system/app on your device with 644 rights.
After installation press menu button when you are on app drawer or homescreen and choose your trebuchet settings.
Click to expand...
Click to collapse
I get an error while decomplieing, but my id is the same.
This is amazing! THANKS!!!
Hi, first of all, This is my first GUIDE on XDA so I just wanna share this little mod for your Gingerbread devices or any
REQUIREMENTS:
Apktool
Notepad++
Your SystemUI.apk
STEPS:
1. Decompile your SystemUI.apk
2. Go to SystemUI > res > values
3. Open dimens.xml then add this code below </resources>
Code:
<dimen name="status_bar_height">40.0dip</dimen>
4. Save it then Recompile your SystemUI.apk
5. Decompile SystemUI.apk again
6. Go to SystemUI > res > values then open public.xml
7. After that search this code
Code:
<public type="dimen" name="status_bar_height"
8. Copy the id of it. then go to SystemUI > smali > com > android > systemui > statusbar and Open the StatusBarService.smali
9. In StatusBarService.smali, find this:
Code:
.method protected addStatusBarView()V
10. Inside of that method, find this line:
Code:
.line 351
.local v6, res:Landroid/content/res/Resources;
const v1, 0x1050004
invoke-virtual {v6, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v2
11. Change 0x1050004 into the id of status_bar_height you copy before. Then Recompile SystemUI.apk, push to system/app, set permission to rw-r-r and reboot your phone. Done.
Press The THANKS button if it works
Gonna Try!
Hello guys, here is a small tut that help you to add Desktop Wallpaper on settings.
for this you need a deodexed settings.apk
1.Decompile Settings.apk
2.Download settingswallpaper.zip from attachment. Extract and copy files to your decompiled Settings
3.Open res/xml/display.xml and add the below code (where ever you like)
Code:
<PreferenceScreen android:title="@string/wallpaper_settings_title" android:key="wallpaper" android:fragment="com.android.settings.gk.Wallpaper.WallpaperTypeSettings" settings:keywords="@string/keywords_display_wallpaper" />
4.Now Recompile and Decompile Settings (for ids)
5.Go to Settings\smali\com\android\settings\gk\Wallpaper\WallpaperTypeSettings.smali
in line 171 replace 0x7f06005f with below id
Code:
<public type = "xml" name = "gk_wallpaper"
6.Go to Settings\smali\com\android\settings\gk\Wallpaper\WallpaperTypeSettings$1.smali
on line 127 replace 0x7f090702 with below id
Code:
<public type="string" name="wallpaper_settings_fragment_title"
7.Recompile and move to your device
Credit:-
KachalkinGeorg (The GK)