I posted this in the galaxy s i9000 area.
"Hello All
I've helped a few people on here and am now in need of help myself.
I am slowly getting my phone to look like Froyo AOSP.
Vibrant guys have this mastered but over here its not a big deal.
The part I'm suck on is getting Black text in notification bar.
If anyone knows how to do this I can upload my framework and service.jar.
Only rewards I can offer if repairing you phone for free or dishing out software."
But as it seems you guys in vibrant area are miles head of the i9000 area in themes and mods.
Was hoping I could find help here.
I can only offer the same free repair and software but is all europian so not sure how much of an incentive it is for your guys.
I have linked a zip to my framework and service jar. just hope I can get a bit of help.
http://dl.dropbox.com/u/10713337/i9000 parts.zip
Bump.
Sent from my GTI-9000 Using that XDA app thingy
In your framework-res you need to edit the status_bar_expanded.xml and the status_bar_latest_event_content.xml in the res\layout folder of you decompiled framework. Also in twframework-res, edit the status_bar_expanded.xml, in the res\layout folder. This will take care of all the notification area text and status bar notifications.
For the clock, I have the steps, but they're at the house, and not remembering exactly what to edit, i don't want to send you on a wild goose chase. Once I locate them, I can post them here for ya.
Edited - These are the steps for editing the clock color, Master sent me these a little while back. Hope it helps.
How-to edit services.jar, clock color:
1.) Go to your SDK folder.. example: C:\android-sdk-windows\tools
2.) Get your services.jar file & open it with winrar
3.) Take the classes.dex from it & put it in your android-sdk-windows\tools\ folder
4.) Open CMD
5.) Run the following command: "CD C:\android-sdk-windows\tools" (directory may not be the same)
6.) Run the following command: "java -jar baksmali.jar -o classout/ classes.dex"
7.) Go to classout\com\android\server\status\StatusBarIcon.s mali
8.) On line 34 it will look something like: "const/4 v7, -0x1"
9.) On line 34 change the above to: "const v7, 0xffffff" (That will be black)
10.) Compile the classes.dex by using this command: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex"
11.) Get the new-classes.dex from android-sdk-windows\tools\ folder & move it to your desktop
12.) Rename new-classes.dex to classes.dex
13.) Re-open the services.jar using winrar & past your new classes.dex in there
(Notice: After editing the clock color, it will take longer to boot the first time! Be patient!)
Br1cK'd said:
In your framework-res you need to edit the status_bar_expanded.xml and the status_bar_latest_event_content.xml in the res\layout folder of you decompiled framework. Also in twframework-res, edit the status_bar_expanded.xml, in the res\layout folder. This will take care of all the notification area text and status bar notifications.
For the clock, I have the steps, but they're at the house, and not remembering exactly what to edit, i don't want to send you on a wild goose chase. Once I locate them, I can post them here for ya.
Edited - These are the steps for editing the clock color, Master sent me these a little while back. Hope it helps.
How-to edit services.jar, clock color:
1.) Go to your SDK folder.. example: C:\android-sdk-windows\tools
2.) Get your services.jar file & open it with winrar
3.) Take the classes.dex from it & put it in your android-sdk-windows\tools\ folder
4.) Open CMD
5.) Run the following command: "CD C:\android-sdk-windows\tools" (directory may not be the same)
6.) Run the following command: "java -jar baksmali.jar -o classout/ classes.dex"
7.) Go to classout\com\android\server\status\StatusBarIcon.s mali
8.) On line 34 it will look something like: "const/4 v7, -0x1"
9.) On line 34 change the above to: "const v7, 0xffffff" (That will be black)
10.) Compile the classes.dex by using this command: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex"
11.) Get the new-classes.dex from android-sdk-windows\tools\ folder & move it to your desktop
12.) Rename new-classes.dex to classes.dex
13.) Re-open the services.jar using winrar & past your new classes.dex in there
(Notice: After editing the clock color, it will take longer to boot the first time! Be patient!)
Click to expand...
Click to collapse
Could you do this for me with the file in the first post. I've tried before lost the clock or nothing changed can't seem to do it b
Sent from my GTI-9000 Using that XDA app thingy
iammodo said:
Could you do this for me with the file in the first post. I've tried before lost the clock or nothing changed can't seem to do it b
Sent from my GTI-9000 Using that XDA app thingy
Click to expand...
Click to collapse
Just thought about this, if your services.jar is from an i9000 build, the string to change for the clock text is going to be entirely different, and not one ive yet had experience with. The steps i listed for the services edit is vibrant 2.2 specific. You would have to get recommendation from the i9000 guys as to the proper string to change. I could mod your framework and twframework files for text color in a few minutes, but you seem like you really want to learn, so I'm trying to help you learn to fish, not just giving you a fish. Framework is a touchy mofo, but the rewards you feel when it actually works is awesome. Give the framework mods a try, im not abandoning you, I just think you would find it more rewarding doing it on your own. If you get stuck, ask any questions you have and I'll answer what I can, I will also try to track down the right string in the services to edit.
Sent from my Loki powered Vibrant via the XDA App
Additionally are you just trying to change the color of the clock, or the color of the actual notifications text?
I think the OP is trying to, know he needs to, change it all if he's going for an aosp look.
Sent from my Loki powered Vibrant via the XDA App
Br1cK'd said:
I think the OP is trying to, know he needs to, change it all if he's going for an aosp look.
Sent from my Loki powered Vibrant via the XDA App
Click to expand...
Click to collapse
these are the same instructions as those from Br1cK'd just a little more in depth, his instructions on the clock color are spot on.
if the framework of the i9000 is anything like that of the vibrant you will need to do the following:
1)decompile framework-res.apk using a program like apk manager
2)once decompiled look at the log.txt file here you will find a list of png files that need to be 9 patched you can use this by using the draw9patch utility in the android-sdk under tools)
3)to change the text of Notifications you need to change the "status_bar_latest_event_content.xml" you will need to find any where there is android:textColor and change the color code. It should read something along the lines of FFXXXXXX replace x's with color hex code
as well as modify the status_bar.xml in the same fashion
4) if you want to change teh color of the text in the pulldown you will need to modify status_bar_expanded.xml in teh same fashion as step 3
5) once all this is done you will need to recompile the framework-res,apk with apk manager
i could do this for you if you would like but i cannot guarnatee it will work as i dont have an i9000 to test on
**EDIT**
i just remembered that for the services.jar modifications you will want to use 1's compliment of the hex color code
The framework steps you posted are valid for both, I didnt go into detail on the framework edits, good write up. I did just realize that my color code was wrong from what I posted for the services edit, looking for the correct code now.
Sent from my Loki powered Vibrant via the XDA App
Edited: Color code for the services for black is: Const v7, -0xffffff
That is for the services.jar edit, the framework edit is as shreddintyres posted it.
All done.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sent from my GTI-9000 Using that XDA app thingy
iammodo said:
All done.
Sent from my GTI-9000 Using that XDA app thingy
Click to expand...
Click to collapse
Out of curiosity, what was the string in the services.jar for the clock color in the i9000 file?
Sent from my Loki powered Vibrant via the XDA App
Br1cK'd said:
Out of curiosity, what was the string in the services.jar for the clock color in the i9000 file?
Sent from my Loki powered Vibrant via the XDA App
Click to expand...
Click to collapse
Thanks to Daneshm90
const/4 v7, -0x1
in StatusBarIcon.smali
and replace with
const/high16 v7, -0x100
Sent from my GTI-9000 Using that XDA app thingy
iammodo said:
Thanks to Daneshm90
const/4 v7, -0x1
in StatusBarIcon.smali
and replace with
const/high16 v7, -0x100
Sent from my GTI-9000 Using that XDA app thingy
Click to expand...
Click to collapse
Same one, good to know. Was it also line 34?
Sent from my Loki powered Vibrant via the XDA App
Br1cK'd said:
Same one, good to know. Was it also line 34?
Sent from my Loki powered Vibrant via the XDA App
Click to expand...
Click to collapse
yer same place
Thx
Sent from my Loki powered Vibrant via the XDA App
Related
Can anyone please help? I have been going through multiple threads across many forums and still can not find out how to change the color of the "Verizon Wireless" message in the notification bar. I have read the one for Droid but no info for Droid X. I know how to change what it says but just want to change it to a blue or white. Any help will be greatly appreciated. Thank you.
Never mind about the pm I sent you, I figured it out. I would like to know how to change the color too though.
EDIT:
I found this, it may be useful
http://www.droidforums.net/forum/thebowers/27622-text-color-change-complete-how-do.html
I did read this but does it apply to Droid only or can the same be done for Droid X?
I'm not sure. I haven't tried it. I guess the only way to find out is to make a nandroid of your phone and start experimenting
MAKE A BACKUP
Here is the guide:
1. Go into root explorer navigate to system/framework
2. Hit mount r/w on top then hold and copy framework-res.apk
3. Paste framework-res.apk on root of sdcard
4. Mount the phone to your pc AND move framework-res.apk to desktop
5. Right click framework-res.apk on desktop hit 7zip then hit open archive
6. Navigate to res/xml/ find eri.xml and drag it to your desktop
KEEP ARCHIVE OPEN YOU WILL BE BACK
7. Right click eri.xml on desktop open with HxD
8. Now look to the right side of the screen and find "Verizon Wireless"
9. Highlight the whole word "Verizon wireless"
10. While highlighted type your new name..16 LETTERS MAX
(if any "Verizon wireless" is left just keep hitting space bar after new name)
11. Now save your new eri.xml and drag it back into archive
12. Close the archive
13. Put framework-res.apk back on root of sdcard
14. Now on your phone open Android Terminal Emulator on phone and type
Su
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/framework-res.apk /system/framework
reboot
15. Your done.
spaciorek said:
MAKE A BACKUP
Here is the guide:
1. Go into root explorer navigate to system/framework
2. Hit mount r/w on top then hold and copy framework-res.apk
3. Paste framework-res.apk on root of sdcard
4. Mount the phone to your pc AND move framework-res.apk to desktop
5. Right click framework-res.apk on desktop hit 7zip then hit open archive
6. Navigate to res/xml/ find eri.xml and drag it to your desktop
KEEP ARCHIVE OPEN YOU WILL BE BACK
7. Right click eri.xml on desktop open with HxD
8. Now look to the right side of the screen and find "Verizon Wireless"
9. Highlight the whole word "Verizon wireless"
10. While highlighted type your new name..16 LETTERS MAX
(if any "Verizon wireless" is left just keep hitting space bar after new name)
11. Now save your new eri.xml and drag it back into archive
12. Close the archive
13. Put framework-res.apk back on root of sdcard
14. Now on your phone open Android Terminal Emulator on phone and type
Su
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/framework-res.apk /system/framework
reboot
15. Your done.
Click to expand...
Click to collapse
He wants to know (as do I) how to change the color of the text, not how to change what the text displays, he stated he already knows how to change the displayed text.
I know you have to modify an .xml file, I just don't know which one and what part to modify to change the color.
Thanks for the assist but bouchigo is correct I am looking to change the text color. Already changed words.
Sent from my DROIDX using XDA App
I finally figured it out:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Just follow this link.....read it a few times and you will get it:
http://androidforums.com/droid-all-things-root/49813-guide-change-notification-clock-pull-down-text-colors.html
Thanks I did read this one. Can you pull the 3 files from and do it direct without adb by just using a copy of original files then replacing with 7zip? Not to proficient with adb.
Thank you by the way good job and you work is much appreciated.
Sent from my DROIDX using XDA App
Sent from my DROIDX using XDA App
scott021467 said:
Thanks I did read this one. Can you pull the 3 files from and do it direct without adb by just using a copy of original files then replacing with 7zip? Not to proficient with adb.
Thank you by the way good job and you work is much appreciated.
Sent from my DROIDX using XDA App
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
The three .xml files modify the drop down menu on the status bar and other status bar elements.
If you want to modify the network tag, clock or date, you have to modify services.jar
Do this:
1 Make a folder called "framework" on your desktop because you will put services.jar inside there.
2. Take your services.jar file from inside your framework folder from the ROM you have installed on your phone (if you are using a theme, take the services.jar from your theme, or you can pull it from your phone as the guide in the link i posted earlier states to do).
3. Now right click on that folder and "Add to Archive" with winzip.....make sure you select Archive format to ZIP not RAR......you can name the zip file to be "theme" or whatever you want to call it.
4. Now put the newly zipped file in the root of C:\ drive. Make sure colorChagev3.jar is in C:\ too.
5. Now, using PowerCmd cd yourself to C:\ since that's where all your files are at and type this to change the "Verizon Wireless" color (it will be blue in this case; blue = 0000FF, but entered reversed FF0000 the last FF is just the degree of transparency):
java -Xmx512M -jar colorChangev3.jar theme.zip network=FF0000FF
6. If you want to change the date color, then enter this:
java -Xmx512M -jar colorChangev3.jar theme.zip date=FF0000FF
7. If you want to change the clock color, then enter this:
java -Xmx512M -jar colorChangev3.jar theme.zip clock=FF0000FF
8. Or you can do it all at once:
java -Xmx512M -jar colorChangev3.jar theme.zip network=FF0000FF date=FF0000FF clock=FF0000FF
9. After the color change is complete message, there will be a new zip created in C:\ called theme-new.zip. You will take services.jar from there and adb push it back to your phone OR do step 10:
Code:
adb remount
adb push services.jar /system/framework/
adb shell reboot
10. Or you can simply replace the services.jar in the theme you are using with the new services.jar and re-flash the theme to your phone.
If you want to change the .xml files then you will need to extract the framework-res.apk and make changes to it according to the guide then just replace it in the same manner as the services.jar.
Mine looks like this right now....I will be removing the clock from the status bar, I don't like it there since it's redundant in my case because I have BW to show me the time:
Thank you very much, I will try this as soon as I get home tonight and let you know how it turns out.
Cool, hopefully it all works out for you.
Unable to access jarfile colorChangev3.jar....grrrr....just do not understand this.
scott021467 said:
Unable to access jarfile colorChangev3.jar....grrrr....just do not understand this.
Click to expand...
Click to collapse
Are you using PowerCmd or windows command prompt? Try using PowerCmd.
You put all the files in C root and renamed colorChangev3 correctly?
EDIT:
I think you don't have java installed. Go here and get it, then try again:
http://www.java.com/en/download/inc/windows_upgrade_xpi.jsp
YES......Completed and now I am the proud owner of a properly colored notification screen.......I owe it all to the helpful guidance of bouchiga...thank you sooo very much...since I cannot post pics here for some reason I will pm you a link.
bouchigo said:
I finally figured it out:
Just follow this link.....read it a few times and you will get it:
http://androidforums.com/droid-all-things-root/49813-guide-change-notification-clock-pull-down-text-colors.html
Click to expand...
Click to collapse
this is sick!
scott021467 said:
YES......Completed and now I am the proud owner of a properly colored notification screen.......I owe it all to the helpful guidance of bouchigo...thank you sooo very much...since I cannot post pics here for some reason I will pm you a link.
Click to expand...
Click to collapse
Sweet, you finally got it working.....it looks real nice too!
Persistence pays off in the end
Sent from my DROIDX using XDA App
Thanks to you and happy you like the finished product. Thanks for all the help, Happy Thanksgiving.
Sent from my DROIDX using XDA App
scott021467 said:
YES......Completed and now I am the proud owner of a properly colored notification screen.......I owe it all to the helpful guidance of bouchiga...thank you sooo very much...since I cannot post pics here for some reason I will pm you a link.
Click to expand...
Click to collapse
hello, how did you fix "Unable to access jarfile colorChangev3.jar" error? i get it too and dont know what to do ..
i have java instaled and using PowerCmd still the same
thanks!
i fix that
I was not renaming the .jar.zip file correctly. Once changed it's icon should change to a java icon from there you are good to go.
Sent from my DROIDX using XDA App
I haven't seen a guide for this yet...but if there is mods please delete this.
Your build.prop is what tells android what your phone is. A Nexus S a Motorola Droid, or a Samsung Epic. Knowing how to change it can be EXTREMELY useful from tweaking your phone to faking it to run netflix.
There's 3 ways to modify your build.prop. You must have root (and busybox) for all of them, but I beleive if you want to you can unroot and it will stick.
ADB
Adb is a part of the android sdk, and is more for advanced users then novices. You can modify your build.prop by using adb and pulling it, editing it on your computer, and putting it back. Not the simplest way.
Type in adb:
Code:
adb pull /system/build.prop C:\Users\user\Desktop
Always replace "user" with your windows username
You should see a file named "build.prop" on your desktop. Open it with WORDPAD, not notepad. Change what you want. When your done, type this:
Code:
adb push C:\Users\user\Desktop\build.prop /sdcard/build.prop
This will put the build.prop on your sd card, since we cannot directly push to /system
Code:
adb shell
This should give you a shell. A shell is where you can run commands. After you have a shell, type:
Code:
su
mount -o remount,rw none /system
busybox cp /sdcard/build.prop /system/build.prop
mount -o remount,ro none /system
You have successfully changed your build.prop!
File Expert (or other free file managers) and text edit
This involves two apps, File Expert (or similar) and Text Edit. They can be found on the market here: File Expert and Text Edit
After you install these two apps, open File Expert. Click the menu button (the one on the phone), more, and Settings. Click on File Explorer Settings and click Root Explorer. It should request root, allow it. Press back twice to go back to your sd card. Then press back twice again. Click on /system. Press the menu button, more, and click mount. Select "Mount as Read Write". Now long click on build.prop and select File Operations. Click permission. A menu should pop-up, check the boxes so it looks like this
Code:
X X []
X X []
X X []
and click apply. Now, click on build.prop and it should say open as. Click text, then Text Edit.
Feel free to edit as you please! Once your done, click menu, then save. Then close the application. Don't forget to go to file expert and unmount system as rw, do this by going to the system folder and clicking menu, more, Mount, Mount as Read Only. Your done!
The easy way
Go buy an app. Really, some are worth the trouble. Two apps that will help edit your build.prop are Absolute System and Root Explorer
Thats about it. Any suggestions on how to edit, I'll add in this op. So be sure to leave them!
thanks for this! I have it bookmarked but where can i find common build prop edits?
You can also use ROM Toolbox to edit some items on the build.prop
For version 2 above, I use ES File Explorer and its built in ES Text Editor. One app instead of two. Same effect.
Sent from my Samsung Legendary 4G, a Universe UTES Phone, running "two. two"
tq, nice info
Sent from my SCH-I500 using XDA App
awesome post. comes in handy
Is it not just possible to take the zip from a custom rom and modify it with Notepad++?
zanderman112 said:
For version 2 above, I use ES File Explorer and its built in ES Text Editor. One app instead of two. Same effect.
Sent from my Samsung Legendary 4G, a Universe UTES Phone, running "two. two"
Click to expand...
Click to collapse
I came to say the exact same thing.
Sent from my SPH-D700 using Tapatalk
You may want to add quotes for the desktop directory in case their user name is "John Smith"
Sent from my SPH-D700 using Tapatalk
ugothakd said:
File Expert (or other free file managers) and text edit
This involves two apps, File Expert (or similar) and Text Edit. They can be found on the market here: File Expert and Text Edit
After you install these two apps, open File Expert. Click the menu button (the one on the phone), more, and Settings. Click on File Explorer Settings and click Root Explorer. It should request root, allow it. Press back twice to go back to your sd card. Then press back twice again. Click on /system. Press the menu button, more, and click mount. Select "Mount as Read Write". Now long click on build.prop and select File Operations. Click permission. A menu should pop-up, check the boxes so it looks like this
Code:
X X []
X X []
X X []
and click apply. Now, click on build.prop and it should say open as. Click text, then Text Edit.
Click to expand...
Click to collapse
If anyone has any problems, MAKE SURE you're using TEXT EDIT. That solved my problem! =D
Actually Z, root explorer will let you edit the text.
Sent from a phone with kNOw CIQ
So I got the editing part down, how about potential options. Like what identifies the device to the market? I wanna be able to increase my app compatibility and I'm wondering if changing from an ei22 fingerprint to something else may help?
sent from the other woman
bryanfritz1 said:
So I got the editing part down, how about potential options. Like what identifies the device to the market? I wanna be able to increase my app compatibility and I'm wondering if changing from an ei22 fingerprint to something else may help?
sent from the other woman
Click to expand...
Click to collapse
I'm not sure but I think it's your build I.d. Just woke up and still learning.
Via OG Epic 4g Cm9 & NYGiants 2012 Champions!!!!!
So here is my build.prop
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
. The part about ei22 and test keys can that be updated to something different (newer) and would that play a part in the market apps not being compatible? Thx guys just trying to understand how it all works together.
sent from the other woman
Hi!I have xperia mini with ICS.My device wake up if I push the volume button(unlock).I edit the build.prop.I writing this line:ro.config.hwfeature_wakeupkey = 0.
But this not working just with radio.Its not good with Proplayer.
Any solution?
My huawei 8650 sonic freeze after i do your steps because i forgot to install the busybox any idea what i can do ?
sry for my english...
Thank you so much!!!!!!:victory::victory::victory: o/
Nice OP!
Pure Awesomeness
Thanks a million! :good:
hey guys i need a big help whit that i was tweaking the build.prop of my pantech flex is already rooted but it get stock into the logo of att i mean it got brick so i decide to modifited the build.prop to the original i mean just erasing the lines i added to it but i was just fine doing the abd pull and the push to the sdcard build.prop but i get failed doing (su
mount -o remount,rw none /system
busybox cp /sdcard/build.prop /system/build.prop
mount -o remount,ro none /system) in the cmd it stay doing anything
Disclaimer:I am not responsible if you break,brick,hump,throw against wall or any other action you do to your phone. By using this bootanimation you agree anything that happens is your own noobtastic fault. Any attempts at blaming me for anything other than this being fantastic will result in you being pointed and laughed at.
If you are using BACKSIDE/IHO or have already installed the script dont I REPEAT DONT run the script again. Doing so makes multiple instances of the commands and will stop the bootsound from playing. If you run the script more than once you will have to delete somethings to get it to work. SO be warned DO NOT RUN THE SCRIPT IF YOU HAVE ALREADY OR ARE USING BACKSIDEIHO ROM
Ran across this the other day and have been waiting patiently ever since. I posted about it already now its ready for the wild.
I did not create this. I have only edited the desc.txt so it will run on our phones. All credit goes to BootAnimator on RootzWiki. Again I did not create this so please thank the creator BootAnimator on RootzWiki
.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Unzip the file then follow the instructions below.
http://www.mediafire.com/?7tmnb3u7axbu2u0
Root Explorer method:
1. Rename your bootanimation to bootanimation (if not already named this)
2. Put it on your SD card
3. Open Root Explorer and copy bootanimation.zip to /system/media. This will replace the existing boot animation
4. Reboot your phone
ADB method:
1. Make sure you have downloaded android sdk
2. Put android sdk in C:\
3. Set the directory of command prompt to C:\android-sdk-windows\platform-tools. Click here for a video tutorial.
4. Rename your boot animation to bootanimation and put it in C:\android-sdk-windows\platform-tools
5. Open cmd
6. Type in order:
-adb remount
-adb push bootanimation.zip /system/media/bootanimation.zip
-adb reboot
Click to expand...
Click to collapse
You can also preview your bootanimation before rebooting.
In adb type adb shell bootanimation.
To add the sound.
If you are running BACKSIDE or have already installed the script all you have to do is using root explorer copy the file "android_audio.mp3" from the zip you downloaded to /system/media.
Then reboot and you should have awesome bootsound.
If you have never run the script and are not using BACKSIDE then follow the instructions below.
Originally Posted by hockeyfamily737
0. It's recommended to do a nandroid backup first!
1. Download the "bootsnd.sh" file and put it on the root of your sd card.
2. Using root explorer copy the file "android_audio.mp3" from the zip you downloaded to /system/media
3. Open Terminal Emulator and type the following commands using the stock keyboard. Press enter after each line:
su
cd /sdcard
sh
sh bootsnd.sh
reboot
4. As the device boots up you will hear the transformers sound bite sound. You are now free to replace the android_audio.mp3 file in /system/media with any .mp3 file you like as long as you rename it to "android_audio.mp3"
5. DO NOT ATTEMPT TO OUTSMART THESE DIRECTIONS OR YOU WILL BE RESTORING YOUR NANDROID BACKUP!
6. Enjoy
Click to expand...
Click to collapse
http://dl.dropbox.com/u/10373328/bootsnd.sh
If for some ungodly reason you ignored the above warning and installed the script again..read below.
Here is how to fix it.
Make sure you are mounting in r/w mode on each of these steps.
Using a app like root explorer, goto /system/bin and delete the file bootsound.
Back out to /system now open build.prop in text editor mode, look for this text.
Code:
ro.config.play.bootsound=1
Delete it from the build.prop and save and exit.
This is optional but recommened.
Reboot phone.
Verify no sound is playing.
Now run the script again and reboot.
You should have a boot sound again.
Click to expand...
Click to collapse
Sent from LGE XDA phone
eollie said:
Disclaimer:I am not responsible if you break,brick,hump,throw against wall or any other action you do to your phone. By using this bootanimation you agree anything that happens is your own noobtastic fault. Any attempts at blaming me for anything other than this being fantastic will result in you being pointed and laughed at.
If you are using BACKSIDE/IHO or have already installed the script dont I REPEAT DONT run the script again. Doing so makes multiple instances of the commands and will stop the bootsound from playing. If you run the script more than once you will have to delete somethings to get it to work. SO be warned DO NOT RUN THE SCRIPT IF YOU HAVE ALREADY OR ARE USING BACKSIDEIHO ROM
Ran across this the other day and have been waiting patiently ever since. I posted about it already now its ready for the wild.
I did not create this. I have only edited the desc.txt so it will run on our phones. All credit goes to BootAnimator on RootzWikiAgain I did not create this so please thank the creator BootAnimator on RootzWiki
Unzip the file then follow the instructions below.
http://www.mediafire.com/?7tmnb3u7axbu2u0
You can also preview your bootanimation before rebooting.
In adb type adb shell bootanimation.
To add the sound.
If you are running BACKSIDE or have already installed the script all you have to do is using root explorer copy the file "android_audio.mp3" from the zip you downloaded to /system/media.
Then reboot and you should have awesome bootsound.
If you have never run the script and are not using BACKSIDE then follow the instructions below.
http://dl.dropbox.com/u/10373328/bootsnd.sh
If for some ungodly reason you ignored the above warning and installed the script again..read below.
Click to expand...
Click to collapse
Umm... It never work... I tried this for 7 times...
Sent from LGE XDA phone
Do this plug your phone in via the usb and open adb window.
Type "adb shell bootanimation".
It will say "mmap failed:errno 19 no such device" and play the animation on your phone screen.
If it says anything else post it here and I can figure out what the problem is.
Boot animation works. But sound doesn't. Used root explorer and changed the permissions also.
Sent from my LG-P500 using Tapatalk
lekhwani said:
Boot animation works. But sound doesn't. Used root explorer and changed the permissions also.
Sent from my LG-P500 using Tapatalk
Click to expand...
Click to collapse
+1 Same... 40 times I tried ur method...
Sent from LGE XDA phone
lekhwani said:
Boot animation works. But sound doesn't. Used root explorer and changed the permissions also.
Sent from my LG-P500 using Tapatalk
Click to expand...
Click to collapse
dax4182 said:
+1 Same... 40 times I tried ur method...
Sent from LGE XDA phone
Click to expand...
Click to collapse
Im sorry its probably your phone. I see dax is using a P500. Some phones just wont play the boot sound.Ive seen it happen on the V no reason just refuses to play.
eollie said:
Im sorry its probably your phone. I see dax is using a P500. Some phones just wont play the boot sound.Ive seen it happen on the V no reason just refuses to play.
Click to expand...
Click to collapse
But on the official ginger is able to play the bootsound as is original manfacturered...
Sent from LGE XDA phone
DaxElectro said:
But on the official ginger is able to play the bootsound as is original manfacturered...
Sent from LGE XDA phone
Click to expand...
Click to collapse
Where is the bootsound located on the official gingerbread release?
I only say some phone just wont play it because Ive tried to help several people on android central get it working and their phone just wont play it no matter what we did. Im sure somebody with more knowledge than I have on this would be able to figure it out, however Im not sure why it wont work. I was told that on CM rom the kernel was trimmed and bootsound was removed that is why you have to run the script I link to.
Hi guys! I see many people trying to learn how to make roms, Here i show the easiest and shortest way on how anyone can begin making roms for the Galaxy S3.
Requirements:
Prepared CWM Stock Package.
Apktool
7-zip
Notepad ++
Setting Up, and Introduction
IF you have downloaded firmware from sammobile instead of zoot1's package, use this part for Setting up and introduction: http://forum.xda-developers.com/showpost.php?p=37812381&postcount=33
OR ELSE THE EASIER WAY
To start with, Download the prepared CWM Stock Rom by zoot1 here: http://forum.xda-developers.com/showthread.php?t=1868004
I personally use firmware from sammobile, because i like to do everything myself. Though this method would be easier for beginners.
Extract the zip file to folder called "ROM".
Now lets head towards the customizing.
Thanks to Prawesome alot for this part. I took some info from his guide.
So now, open up the system folder. You'll find loads of folders in it. Here is a brief introduction to each of those folders:
1. apps
When you open this folder. You will find apk's. An apk is an install-able app package for any Android Device.
You can delete specific apps incase you want to delete. But take extra precautions on what you're deleting. As some apps are useful. You can add apps here as well in formats of apk's. But note, adding Play Store apps to the system/app folder is not recommended. For example you don't want Google Talk in your rom, you just have to delete the Talk.apk.
2. bin
Nothing really to mod in this folder. Full of advanced techy stuff. xD
3. etc
Here is where most of the tweaks come in. There is a folder called init.d where mods like the V6 Supercharger or multi-tasking fixes can be applied. Note! Don't add more than 1 or 2 scripts. Most of them usually conflict with each other.
In the gps.conf file, you can edit your gps info to make the gps more accurate. Pretty good guides about this, search them out.
Next is the hosts file. Devs use this to block sites from generating ads, and keeping their roms ad-free. Take a look at my DroidS3 hosts file, there are over 20,000 hosts blocked. You can use the same hosts file for your rom too.
4. Fonts
Very easy folder to understand. All you need to do here is replace ttf files, and you'll change the fonts.
5. Framework
Here is where the big mods come in. I'll explain further on about this. It contains the android.policy.jar, a useful element to add many mods. Framework-res is used to change wallpapers and theme the rom. I'll explain later.
6. libs
Contains all the libs needed for specific system apps to work. Don't mess here unless you're adding a mod.
7. Folders like csc, hdic, sipdb, wakeupdata, vendor, excetra..
These are the folders, there isn't much to do. Csc folder contains the feature.xml where some mods can be added. Search the forums for that. The rest contain multi-languages and more stuff.
8. xbin folder
Used to add scripts like busybox, dexdump, openvpn support. More like the bin folder but smaller.
9. Build.prop
Ever wondered how some roms have android 5.0, when it hasn't even released? All you need to change is the ro.build.version.release to any number you like. Even Android 20! Go change it, and fool some noobs out there. More mods can be added to this file. e.g:
Code:
debug.sf.hw=1
video.accelerate.hw=1
debug.performance.tuning=1
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
ro.config.nocheckin=1
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
ro.telephony.call_ring.delay=0
ro.lge.proximity.delay=15
mot.proximity.delay=15
ro.ril.disable.power.collapse=0
pm.sleep_mode=1
ro.config.nocheckin=1
The codes listed above are for improving jpeg quality, saving some battery life, reducing call delay and more. Search for build.prop mods, you'll find loads of them. Now, a small explanation of the Meta-inf folder.
In Meta-Inf you'll find the updater-script.
Since this is aimed at beginners, I'll just show you how to change what text is shown during install in CWM.
Just edit what's in the quotes of the ui_print code in the file, and enter your own text. e.g:
Code:
ui_print("Hi, This message in quotes is displayed in recovery");
Modding!
It's time for the modding to begin.
Get apktool from: http://forum.xda-developers.com/showthread.php?t=1755243
Now, first copy your framework-res from the /system/framework directory to where you extracted apktool files. Let's call this folder "apktool"
Open the folder apktool, press shift and right click. Click on "Open command window here". Type:
Code:
apktool if framework-res.apk
Now you are ready to decompile apk's.
I'm going to show you how to mod different files. Copy over:
SystemUI.apk
android.policy.jar
framework-res.apk
1. SystemUI.apk
Just showing you basic modding here. Copy over SystemUI.apk to apktool folder. In the command prompt, type
Code:
apktool d SystemUI.apk
After it's done, you should see a SystemUI folder in the apktool directory.
I'm going to show you how to make the status bar transparent, thanks to raubkatze for this part.
Navigate to res/layout/tw_super_status_bar.xml and change android:background to match the red line.
Code:
<com.android.systemui.statusbar.phone.StatusBarWindowView [B][COLOR="Red"]android:background="#00000000[/COLOR][/B]" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
Save and close.
Then navigate to /res/values/drawables.xml
Edit to match:
Code:
<item type="drawable" name="status_bar_background">[COLOR="red"][B]#00000000[/B][/COLOR]</item>
That's it. Save and close.
Go back to your command prompt and type
Code:
apktool b SystemUI SystemUI-new.apk
After it's done, probably will take around 5-10 minutes. You'll find SystemUI-new.apk in your apktool folder. Open both SystemUI.apk and SystemUI-new.apk with 7-zip. Delete AndroidManifest.xml from SystemUI-new.apk and copy AndroidManifest.xml and META-INF from SystemUI.apk to SystemUI-new.apk
That's it. Close the zip files.
If you have adb or android-sdk push SystemUI-new.apk to your phone using:
Code:
adb remount
adb push SystemUI-new.apk /system/app/SystemUI.apk
adb reboot
If you don't have adb, just copy over SystemUI-new.apk to your phone. Rename it to SystemUI.apk and copy to system/app with root explorer. Reboot.
There you have transparent statusbar now!
2. android.policy.jar
Decompile android.policy.jar with:
Code:
apktool d android.policy.jar
You will find android.policy.jar.out, open it and use Cristiano Matos guide to mod the files: http://forum.xda-developers.com/showthread.php?t=2018633
After that use:
Code:
apktool b android.policy.jar.out
Open the android.policy.jar.out folder, you will find a dist folder created and inside that is your modified android.policy.jar.
You can use adb again by:
Code:
adb push android.policy.jar /system/framework
or the normal root explorer method.
3. framework-res.apk
Here i'll show you small mods.
Decompile it using
Code:
apktool d framework-res.apk
Navigate to res/values/bools.xml. Here you can add these. Thanks to DSA for this! :
4 Way Rotation:
Code:
Code:
<bool name="config_allowAllRotations">false</bool>
Change to:
Code:
Code:
<bool name="config_allowAllRotations">true</bool>
Lock Screen Rotation:
Code:
Code:
<bool name="config_enableLockScreenRotation">false</bool>
Change to:
Code:
Code:
<bool name="config_enableLockScreenRotation">true</bool>
and
Code:
Code:
<bool name="lockscreen_isPortrait">true</bool>
change to
Code:
Code:
<bool name="lockscreen_isPortrait">false</bool>
Disable Keyboard Switch In StatusBar When Typing
Code:
Code:
<bool name="show_ongoing_ime_switcher">true</bool>
Change to:
Code:
Code:
<bool name="show_ongoing_ime_switcher">false</bool>
Unplugging From USB doesn't Turn Screen On
Code:
Code:
<bool name="config_unplugTurnsOnScreen">true</bool>
Change to:
Code:
Code:
<bool name="config_unplugTurnsOnScreen">false</bool>[/indent]
Now to change wallpaper. Change the default_wallpaper.jpg in drawable-xhdpi and to change lockscreen wallpaper change keyguard_default_wallpaper.jpg.
Now recompile using:
Code:
apktool b framework-res framework-new.apk
Delete AndroidManifest.xml from framework-new. Copy AndroidManifest.xml and META-INF from framework-res.apk to framework-new.apk
To test use adb:
Code:
adb push framework-new.apk /system/framework/framework-res.apk
Or rename to framework-res.apk and copy to system/framework using root explorer. Reboot.
Once you've added everything, your modified apks. Ui_print mods, A custom kernel (just replace boot.img) it's time to compile. Now this is really easy. Just highlight all the folders/files like system, meta-inf and boot.img. Right click. Hover over 7-zip and click Add to Rom.zip. Wait for it to be done, and copy Rom.zip to your sd card and flash. Voila! You've made your rom!!
You can get more mods to add from here: http://forum.xda-developers.com/showpost.php?p=26583654&postcount=4
I was a beginner once, everyone was a beginner once. People helped me, and now I want to help people.
Press the Thanks button, and/or rate this thread 5 stars to show your support.
FAQ
- How do i add a mod?
To add a mod, just download it. Open it and copy over all the folders from the zip file EXCEPT the META-INF.
- How can i set up apktool on windows?
To set up apktool on windows, you need aapt, apktool.jar and apktool.bat
- My modified apk is not working?
Do some testing and get to know what went wrong. I'm always here. I'll be glad to help.
- Are these the only apps i can modify?
Ofcourse not! Any apk can be modified. Just decompile it, and make your changes.
- I'm looking for a guide on something i want to learn. Can you add it here?
I'll try my best.
Reserved
Reserved one more.
Any feedback guys? I hope this is useful.
Forget that i had to reserve one more.
R: [GUIDE] Beginners/Ref Guide to Making Roms.
Looks interesting...when i will finish my exam i will check with more attention
Sent from my GT-I9300 using xda app-developers app
Willy89 said:
Looks interesting...when i will finish my exam i will check with more attention
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
Thanks. Glad it's of help.
Sent from my GT-I9300 using xda premium
Thnx for making this thread.
It's always useful to read thread's like this.
Nice job.
Verzonden door mijn GT-I9300 met xda premium
Great guide, thanks, I will point Theshawty in this direction :thumbup::thumbup:
slaphead20 said:
Great guide, thanks, I will point Theshawty in this direction :thumbup::thumbup:
Click to expand...
Click to collapse
Too late old man. Not interested in building roms anymore.
Thanks guys.
If there's anything you'd like to have added.
Let me know.
AW: [GUIDE] Beginners/Ref Guide to Making Roms.
Thanks. That's it what i searched for to start. Great.
weli..this would be intersting..and will c hw thread moves...
I Need Help In Building the ROM
Hi,
I am steinert. i need your help in biulding the rom, actually i finished everything but getting the problem while flashing the rom. when i googled it. i came to know that the problem lies in updater-script. i used root explorer to find out the reason. it was like.
FINISHED EXECUTING SCRIPT FILE
EXIT VALUE:126
STDOUT:
NULL
STDERR:
SH:<STDIN>[1]:/CACHE/RECOVERY/LAST_LOG:CAN'T EXECUTEERMISSION DENIED.
I Hope that You help a NOOB like me....
Thank you in advance....
Jacqueline Steinert said:
Hi,
I am steinert. i need your help in biulding the rom, actually i finished everything but getting the problem while flashing the rom. when i googled it. i came to know that the problem lies in updater-script. i used root explorer to find out the reason. it was like.
FINISHED EXECUTING SCRIPT FILE
EXIT VALUE:126
STDOUT:
NULL
STDERR:
SH:<STDIN>[1]:/CACHE/RECOVERY/LAST_LOG:CAN'T EXECUTEERMISSION DENIED.
I Hope that You help a NOOB like me....
Thank you in advance....
Click to expand...
Click to collapse
After flashing the rom.
Check the error through Advanced > Show recovery log in recovery.
Post results here.
I : checking for entendedcommand..
I : skipping execution of extendedcommand, file not found...
Jacqueline Steinert said:
I : checking for entendedcommand..
I : skipping execution of extendedcommand, file not found...
Click to expand...
Click to collapse
Huh?
Get me a screenshot of your meta-inf/com/google/android directory.
What exactly did you modify? It should work if you left the meta-inf untouched.
masterex567 said:
Huh?
Get me a screenshot of your meta-inf/com/google/android directory.
What exactly did you modify? It should work if you left the meta-inf untouched.
Click to expand...
Click to collapse
I just removed all the apps and inserted new apps...!!
Should i send you my updater-script?
Jacqueline Steinert said:
I just removed all the apps and inserted new apps...!!
Should i send you my updater-script?
Click to expand...
Click to collapse
Removed all?
Some are core apps like SystemUI, etc.
Get me a screenshot of your rom.zip..
masterex567 said:
Removed all?
Some are core apps like SystemUI, etc.
Get me a screenshot of your rom.zip..
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
This is the screenshot of my rom..! and before also i got the same problem with out changing the system .apk's
Jacqueline Steinert said:
View attachment 1700664
This is the screenshot of my rom..! and before also i got the same problem with out changing the system .apk's
Click to expand...
Click to collapse
Highlight those 3 and in 7zip options click add to " ".zip
Sent from my GT-I9300 using xda premium
EDIT: The latest oat2dex solves this issue altogether.
WTF IS THE PROBLEM?
The OpenGL and Google Play Store refuse to work because baksmali inside the oat2dex tool misinterprets some fields in a single smali file and breaks "services.jar" when deodexing, and the main problem it causes is mistakenly setting your OpenGL version to 0 (instead of 3), basically disabling it.
oat2dex, for some reason, flips just a few specific fields (name and type) when deodexing, as if there is an ambiguity between 2 fields on the same offset.
When you flash the deodexed services.jar back to your phone and clear dalvik-cache, Android re-optimizes it (takes the "classes.dex" inside your new JAR file, does dex2oat on it, and saves it in /data/dalvik-cache/arm/). The deodexed file is broken, so that optimized file is broken too.
You take that broken odex file from dalvik-cache and deodex it again. Since it contains those flipped field names, this time it flips them again but to the correct fields.
The result DEX file you get by that second deodexing is a properly working DEX file, and if you rename it to "classes.dex" and replace "classes.dex" inside your broken "services.jar", you'll get a working "services.jar" and all your OpenGL and Google Play Store problems will disappear immediately.
HOW TO QUICKLY GET A WORKING DEX?
* Extract classes.dex from the JARs, rename them to framework.dex and services.dex.
* Copy them to your internal SD.
* Enable "USB debugging" in Developer options.
* Connect your device to your PC and open Command Prompt:
Code:
[B]adb shell[/B] (confirm ADB on your device)
[B]su[/B] (confirm SU on your device)
[B]dex2oat --dex-file=/sdcard/framework.dex --oat-file=/sdcard/framework.odex[/B]
[B]dex2oat --dex-file=/sdcard/services.dex --oat-file=/sdcard/services.odex[/B]
* Copy these odex files to your PC and deodex them again with oat2dex.
* Rename the new framework.dex and services.dex to classes.dex and add them to their JARs, replacing the broken classes.dex.
JARS AFFECTED BY THIS BUG
framework.jar/classes.dex --- only a single non-critical error in NumberPicker.smali (classes2.dex is fine)
http://forum.xda-developers.com/attachment.php?attachmentid=3338076&d=1432918042
services,jar/classes.dex --- Total of 8 errors, described below...
http://forum.xda-developers.com/attachment.php?attachmentid=3335118&d=1432772056
BUG REPRODUCTION
Requirements:
1) Java installed
2) oat2dex_bug.zip
ZIP contents:
* baksmali.jar
* oat2dex.jar
* boot.oat --- taken from /framework/arm/
* services.dex --- this is "classes.dex" from the deodexed "services.jar" (which breaks OpenGL)
* services-from-dcache.odex --- this is the odex file taken from "/data/dalvik-cache/arm/" that was created by Android after flashing the broken deodexed "services.jar" and clearing dalvik-cache
Reproduction steps:
1) Open "oat2dex_bug" folder, right-click inside it and then select "Open command window here".
2) Write the following lines exactly as follows:
java -jar oat2dex.jar boot boot.oat
java -jar oat2dex.jar services-from-dcache.odex odex
java -jar baksmali.jar -o services-from-dcache services-deodex.dex
java -jar baksmali.jar -o services services.dex
3) With WinMerge, compare folders "services" and "services-from-dcache".
You'll see that only one file has differences, and it's "ActivityManagerService.smali", that's the file you need to fix.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In the above images are the only affected areas you need to fix.
Holy @#%. Well done! This issue was a real pain. Thanks
What about fixing framework.jar ? Play store compatibility ?
Sent from my C6903 using XDA Free mobile app
dstrikersZ1 said:
What about fixing framework.jar ? Play store compatibility ?
Sent from my C6903 using XDA Free mobile app
Click to expand...
Click to collapse
framework.jar has only 1 error in NumberPicker.smali, and it's not very critical. Has nothing to do with the Play Store bug. After you've fixed services.jar by deodexing it twice, Play Store is fixed.
IaguCool said:
WTF IS THE PROBLEM?
The OpenGL and Google Play Store refuse to work because baksmali inside the oat2dex tool misinterprets some smali files and breaks "services.jar" when deodexing, and the main problem it causes is mistakenly setting your OpenGL version to 0 (instead of 3), basically disabling it.
oat2dex, for some reason, flips just a few specific fields (name and type) when deodexing, as if there is an ambiguity between 2 fields on the same spot.
When you flash the deodexed services.jar back to your phone and clear dalvik-cache, Android re-optimizes it (takes the "classes.dex" inside your new JAR file, does dex2oat on it, and saves it in /data/dalvik-cache/arm/). The deodexed file is broken, so that optimized file is broken too.
You take that broken odex file from dalvik-cache and deodex it again. Since it contains those flipped field names, this time it flips them again but to the correct fields.
The result DEX file you get by that second deodexing is a properly working DEX file, and if you rename it to "classes.dex" and replace "classes.dex" inside your broken "services.jar", you'll get a working "services.jar" and all your OpenGL and Google Play Store problems will disappear immediately.
JARS AFFECTED BY THIS BUG
framework.jar/classes.dex --- only a single non-critical error (classes2.dex is fine)
services,jar/classes.dex --- described below
BUG REPRODUCTION
Requirements:
1) Java installed
2) oat2dex_bug.zip
ZIP contents:
* baksmali.jar
* oat2dex.jar
* boot.oat --- taken from /framework/arm/
* services.dex --- this is "classes.dex" from the deodexed "services.jar" (which breaks OpenGL)
* services-from-dcache.odex --- this is the odex file taken from "/data/dalvik-cache/arm/" that was created by Android after flashing the broken deodexed "services.jar" and clearing dalvik-cache
Reproduction steps:
1) Open "oat2dex_bug" folder, right-click inside it and then select "Open command window here".
2) Write the following lines exactly as follows:
java -jar oat2dex.jar boot boot.oat
java -jar oat2dex.jar services-from-dcache.odex odex
java -jar baksmali.jar -o services-from-dcache services-from-dcache.dex
java -jar baksmali.jar -o services services.dex
3) With WinMerge, compare folders "services" and "services-from-dcache".
You'll see that only one file has differences, and it's "ActivityManagerService.smali", that's the file you need to fix.
And here are the only differences you find in the file (notice especially the first one and the last one):
Click to expand...
Click to collapse
java -jar baksmali.jar -o services-from-dcache services-from-dcache.dex
Click to expand...
Click to collapse
Error: "Can´t find the file services-from-dcache.dex"
There is no such file in the zip either - only services-from-dcache.odex, but with this file it did not work
moonryder said:
Error: "Can´t find the file services-from-dcache.dex"
There is no such file in the zip either - only services-from-dcache.odex, but with this file it did not work
Click to expand...
Click to collapse
Then you made a mistake somewhere.
IaguCool said:
Then you made a mistake somewhere.
Click to expand...
Click to collapse
tried it again, step 1 and 2 without problems, but step3 the same error as mentioned before
there is a new file in the folder called "services-deodex.dex"
moonryder said:
tried it again, step 1 and 2 without problems, but step3 the same error as mentioned before
there is a new file in the folder called "services-deodex.dex"
Click to expand...
Click to collapse
Ahh I see that oat2dex renames the file for some reason. I fixed line 3 to
java -jar baksmali.jar -o services-from-dcache services-deodex.dex
You could figure that out yourself, you know... by looking inside the folder, I don't see why you repeat every step like a robot uncritically.
IaguCool said:
...I don't see why you repeat every step like a robot uncritically....
Click to expand...
Click to collapse
cause i am not a programmer and a noob in this field contrary to you (maybe you are a genius and i am a little user :angel: )
moonryder said:
cause i am not a programmer and a noob in this field contrary to you (maybe you are a genius and i am a little user :angel: )
Click to expand...
Click to collapse
So basically it's like pushing a screwdriver into a wall socket without knowing what electricity is... I don't get why people that don't develop even try to deodex themselves in the first place. Deodexing is meant for developers, not "little users"...
so its must to be writen GL_ES_VERSION:I
its i/1/L ?
Alvian_P said:
so its must to be writen GL_ES_VERSION:I
its i/1/L ?
Click to expand...
Click to collapse
It's "I" for Integer. Seriously what are you people doing here? It's for *developers*, normal users have nothing to gain from this process.
That's how I have fixed it too, well done
Take care that mWentToSleep must also be fixed.
Both lines are inverted.
Edit: nevermind, your method is inverting both... I did it manually.
Please tell what command compiles the folder "services" into file "services.dex" back?
Bazooka Joe said:
Please tell what command compiles the folder "services" into file "services.dex" back?
Click to expand...
Click to collapse
Google for "smali-2.0.5.jar" for that. baksmali only decompiles.
IaguCool said:
It's "I" for Integer. Seriously what are you people doing here? It's for *developers*, normal users have nothing to gain from this process.
Click to expand...
Click to collapse
@laguCool
1. thx for discovering that problem and its solution
2. all devs began once upon a time, so i think threads like this one are very helpful for users who want to learn and become a dev in future too. So
3. please be soft with all of them who asks questions here.
Thx again for your excellent work and knowledge.
m.
moonryder said:
@laguCool
1. thx for discovering that problem and its solution
2. all devs began once upon a time, so i think threads like this one are very helpful for users who want to learn and become a dev in future too. So
3. please be soft with all of them who asks questions here.
Thx again for your excellent work and knowledge.
m.
Click to expand...
Click to collapse
Well, being soft isn't my thing, it's against my nature...
Anyways, if a person doesn't know what "I" means in Dalvik opcode, they are doing the learning process wrong. They need to be familiar with Dalvik datatypes beforehand.
IaguCool said:
It's "I" for Integer. Seriously what are you people doing here? It's for *developers*, normal users have nothing to gain from this process.
Click to expand...
Click to collapse
just look around , anyways my college is IT
ah sorry if this thread not open for normal users
IaguCool, Big, big Thanks!!! OpenGL worked now! :good:
There is a more simple way for obtain dirty odex from dirty dex file. Just copy deodexed services.dex to sdcard and type in terminal
dex2oat --dex-file=/sdcard/services.dex --oat-file=/sdcard/services.odex
Then copy created /sdcard/services.odex to PC and deodex them again to obtain correct services.dex.
_SIL_ said:
IaguCool, Big, big Thanks!!! OpenGL worked now! :good:
There is a more simple way for obtain dirty odex from dirty dex file. Just copy deodexed services.dex to sdcard and type in terminal
dex2oat --dex-file=/sdcard/services.dex --oat-file=/sdcard/services.odex
Then copy created /sdcard/services.odex to PC and deodex them again to obtain correct services.dex.
Click to expand...
Click to collapse
Thank you I rarely use the terminal so I missed that. I actually copied all /framework/ odex files from dalvik-cache to see if there are more JARs affected by this bug, will add them to the list if I find any.