The LG G2x (P999) has had bad microphone volume forever in CyanogenMod. I found a way to edit the /sys/devices/platform/star_wm8994/data file in CM7, but it seems that this file is protected somehow in ICS/CM9. Does anyone know of a way to circumvent this security and edit the values in system files like this?
I can successfully edit and even delete the file, but it's refreshed with the original within seconds.
Related
(I'm new at this, any help would be appreciated)
I'm using Daneshm90's (very awesome) APK Manager to mess around with my framework-res.apk file. I've sucessfully reskinned some pngs and changed some xml files and stuff like that.
Why does the following cause a bootloop?
1) Decompile Framework-res.apk
2) Make a copy of res\drawable\btn_default_small.xml and rename it btn_default_small2.xml
3) Change the background of something to android:background="[a]drawable/btn_default_small2"
4) Compile\flash to phone etc, watch it bootloop
(please note: [a] is really the email 'at' symbol, the forums get mad at me for using it)
I can edit existing files just fine, but whenever I try to add and use a new file everything grinds to a halt, even if its just a copy of a working 'stock' file. What am I missing? Is there a list of files somewhere I need to add my new xml file to? Should I be building from source instead of using apk manager?
Sorry for all the questions lately, even though I'll probably have more.
I'm working on the SystemUI.apk from IE20 and my method of compiling consists of using the keep folder method and deleting all the files I changed with apk manager 4.9.
Now I can change the Status_bar.xml and status_bar_tracking.xml without a hitch, however if I delete status_bar_expanded.xml from the keep folder (whether I change anything in it or not) I get force closes when I get it loaded onto my phone.
There's no error in the log so I'm pretty lost...So I was wondering if there's something else I have to do that anyone knows of?
Thanks if you can help!
The only thing that should be deleted are images that you edited (if you didn't edit any images just leave the folder). But if you edited ANY xml ONLY delete the resourses.arc from the keep folder. But don't delete any individual xml's from keep. And yes the size will change because of the compression used in apk mgr.
good day.
chopper the dog said:
The only thing that should be deleted are images that you edited (if you didn't edit any images just leave the folder). But if you edited ANY xml ONLY delete the resourses.arc from the keep folder. But don't delete any individual xml's from keep. And yes the size will change because of the compression used in apk mgr.
good day.
Click to expand...
Click to collapse
Thanks for the response,
However, by not deleting the xmls I edited in the keep folder it seems it just replaces them with the stock files.
Soo...This stopped the force closes, but none of my edits took.
Maybe it's time to to switch to a linux build environment...I'm frustrated to say the least. Google'd every possible problem and nothing...
EDIT: But before I do that could someone possibly try to compile this SystemUI.apk with a color edit in the res/layout/status_bar_expanded file?
Would highly appreciate this ^^^
Ok, got a bit of a problem here... I need to change the default homepage of the browser in a Rom I'm cooking... that means the homepage you get after a full factory reset, not that you set in the menu.... Please don't tell me how to set it in the browser menu....
A bit of background... I'm using a leaked Rom to build from. It was leaked from a Tracfone "LG-L95G" which is identical in every way to the LG-P999 aka T-Mobile G2X. Everything is working 100%. The only problem left from the "porting" is removing Tracfone as the default browser homepage.
This has turned out to be harder than I expected.
What I have done:
Browser.apk - the xml lists Google as the homepage. The word "tracfone" appears NOWHERE in the entire structure of the decompiled xml or values or even in the smali code.
SystemUI & framework-res - I've seen suggestions the homepage hides here. Can't find anything suggesting a setting to "tracfone"
flexdb - I really thought I had it kicked here. /system/etc/flex.db listed m.tracfone.com as the homepage for T-Mobile US. I changed all occurrences here to about:blank. I have also tried simply copying the flex.db from a P999 itself. Ie, removed ALL references to tracfone service and made it identical to a P999 in every way.
Ran grep -R tracfone * on the entire ROM.
Dug through tons of files by hand looking for any clue.
Unfortunately, even with all of that, do a wipe, open the browser, and you GET M.TRACFONE.COM again!
The word "tracfone" does not appear in build.prop, it does not appear in any init scripts, not even in the kernel scripts! Yet it comes back like Christine...
Does anyone have a clue where I could look next? Or failing that, even some way from an init.d script that I can overwrite the setting myself?
EDIT
Okay, I hate giving myself clues like this, but maybe this will help others (if I'm on the right track)...
Instead of doing a grep on the ROM from my PC, pre-install, I decided to actually hit up the RUNNING copy... so from adb into a Bash prompt on the phone itself, I ran a grep -r tracfone * and got the following result:
Code:
data/data/com.android.browser/databases/browser.db:Web page not availablehttp://m.tracfone.com/
data/data/com.android.browser/shared_prefs/com.android.browser_preferences.xml:<string name="homepage">http://m.tracfone.com</string>
data/data/com.lge.providers.flex/databases/flex.db:M77BRW_SETTINGDB_CURRENT_HOME_URL_Ihttp://m.tracfone.comhttp://m.tracfone.comI#
data/data/com.lge.providers.flex/databases/flex.db:=77BRW_SETTINGDB_HOME_URL_Ihttp://m.tracfone.comhttp://m.tracfone.como"
data/data/com.lge.providers.flex/databases/flex.db:=;;DATACOM_ACCOUNT_MMSC_0_Ihttp://mms.tracfone.comhttp://[email protected]
data/data/com.lge.providers.flex/databases/flex.db:;%%DATACOM_ACCOUNT_APN_0_Iwap.tracfonewap.tracfone:?
data/data/com.lge.providers.flex/databases/flex.db:M77BRW_SETTINGDB_CURRENT_HOME_URL_Ihttp://m.tracfone.comhttp://m.tracfone.comI
data/data/com.lge.providers.flex/databases/flex.db:=77BRW_SETTINGDB_HOME_URL_Ihttp://m.tracfone.comhttp://m.tracfone.como
data/data/com.lge.providers.flex/databases/flex.db:=;;DATACOM_ACCOUNT_MMSC_0_Ihttp://mms.tracfone.comhttp://mms.tracfone.com6%
data/data/com.lge.providers.flex/databases/flex.db:;%%DATACOM_ACCOUNT_APN_0_Iwap.tracfonewap.tracfone:$
Which is very odd.... considering that is NOT the content of the actual flex.db that was flashed to the phone. That leads to 1 question: Why isn't the phone respecting the flex.db? I've noticed other edits to the file (such as bookmarks) do not apply either. So it is being ignored at somepoint. FlexProvider.apk maybe? Or is something in the ROM still identifying the phone to T-Mobile as an MVNO device and they're pushing out an OTA flex update?
EDIT 2:
AHA! There's a flex.db *INSIDE* the FlexProvider.apk file! So it *IS* ignoring the one placed in /system/etc/flex/! Editing this should solve it - but I'm going to test test test to make sure.
lotherius said:
Ok, got a bit of a problem here... I need to change the default homepage of the browser in a Rom I'm cooking... that means the homepage you get after a full factory reset, not that you set in the menu.... Please don't tell me how to set it in the browser menu....
Click to expand...
Click to collapse
firstly to say interesting question!!
but I think it it not possible to change programmatically default homepage
this is a system app so will be signed by your provider let us suppose you find homepage location in code (could by result of a script parsing) by modifying source of that apk package how to solve signature problem ?!
if in .db file ...this file is created after flashing as a result of script parsing
not framework-res.apk better browser-res.apk if you have one
ruscan.calin said:
firstly to say interesting question!!
but I think it it not possible to change programmatically default homepage
this is a system app so will be signed by your provider let us suppose you find homepage location in code (could by result of a script parsing) by modifying source of that apk package how to solve signature problem ?!
if in .db file ...this file is created after flashing as a result of script parsing
not framework-res.apk better browser-res.apk if you have one
Click to expand...
Click to collapse
man use a ... editor...I can show you for fifty bucks
I was just curious about this tricky change (from your post) so thinking about Google motto don't be bad finally I have found but should recognize that I am bad at this time
here is solution
Actually, you can use an sqlite editor to change the values in the flex.db file... the problem I was having in the OP is that on an LG phone (maybe others?) the flex.db file is ignored and the one inside FlexProvider is used instead, so you have to edit both. You can add new locales the same way. No need to use a hex editor, as that would be much more difficult.
lotherius said:
Actually, you can use an sqlite editor to change the values in the flex.db file... the problem I was having in the OP is that on an LG phone (maybe others?) the flex.db file is ignored and the one inside FlexProvider is used instead, so you have to edit both. You can add new locales the same way. No need to use a hex editor, as that would be much more difficult.
Click to expand...
Click to collapse
maybe you are right regarding your phone... but also I prepare a custom rom for Alcatel ot-908 also to change default homepage was a problem for me but I did and simply works !
I tried to decompile, modify 1 xml file and recompile the framework-res.apk.
But everytime I do it, I either get into a boot loop, or when In succeed it displays glitches (like notification bar, and messed up lock screen, and settings)
This is for AURORA ICS 4.0.3 and I do have the latest aapt.exe file .. so I don't know what is wrong!
I tried to use the original framework-res but replace the resources file inside, stored and compressed methods.
Tried to get the compiled framework-res but add the META-INF and Manifest file (again, both with compressed and stored resources file) and always.. it just glitches or bootloops.. and the mod that I tried (ICS on screen buttons or the CRT effect when you switch off the screen, mainly used in Oxygen roms, but it's available in all ROMs).. it never works.. only glitches the lock screen, notification bar etc..
Any help?
Thanks.
I might know the answer to this..
Which files are you modifying in framework-res? And how are you pushing it back to your phone?
Sent from my U20i using xda premium
Would be great
I am modifying some files in the values folder, bools.xml, arrays.xml .. but even if I edit bools.xml alone, it still glitches.
To push it back: I go to recovery mode on my phone, plug it into my linux machine (the system partition mounts), paste the new framework-res.apk to replace the old one, fix permissions (otherwise it boot loops), and restart the phone. This method works for other files and never had any problems, like the android.policy.jar
Would be great if you can help me. Thanks
Well, the XML files you're editing are all part of resources.arsc so it's something to do with that which is causing the problem. I used to get all sorts of annoying bugs when I edited anything in resources.arsc and I eventually found out that I was pushing the final apk back to the phone incorrectly.
I use a Windows PC, not Linux, so I might not be that helpful but this is what I do to modify and replace framework-res.apk. Hopefully it'll help. What I do is..
Decompile framework-res.apk
Make my changes
Recompile the file
Use a program like 7zip to open the old and the new files
Drag and drop the "res" folder from the new file into the old
Extract resources.arsc from the new framework-res.apk and add it to the old one in "STORE" mode, so it's not actually compressed
Go into recovery, mount the system partition and push the old file
..and that's it. Works a charm every time.
I would have thought that you would need to do the same thing on Linux but with the additional step of correcting the permissions. If you do all that and it still doesn't work, then there has to be a problem with the actual mod you're trying to do.
Thank you very much, I actually tried that method. It sort of worked, but everytime it breaks the notification bar. It becomes like double the size and I'm not sure why.
Thanks.
Then the issue must be with the modification itself. What exactly are you changing to what?
Sent from my U20i using xda premium
I tried different ones.. but even a simple one.. enable CRT animation.. which is pretty much open bools.xml and edit one true to false.. it breaks it :/
Hi there,
I upgraded my Galaxy 551 to Gingerbread 2.3.6. All went well. Unfortunately it seems to be a common side effect that the Z and Y keys (and some others) get swapped. The fix is apparently to modify the file /system/usr/keychars/sec_keypad.kcm.bin. The ideal thing is to put the old file from before the FW update back in, but of course I don't have that anymore! But the existing one can apparently be altered. If I can copy it to the SD card I can alter it in a hex editor and put it back.
So, I rooted my phone with that one click application, and that went OK too. I installed root explorer and found the file. There were also some others in the same folder I may be able to use. But, I cant make the folder R/W (pressing the button does nothing) so cant do anything with the file. I also tried Super Manager with no luck.
I am new to the phone fiddling stuff so noob level instructions would be appreciated!
Think I have it sorted. I installed superuser and then Root Explorer allowed me to select read/write. Now to try sort out this file!
OK, seems that you need to edit the file /system/usr/keylayout/sec_keypad.kl. Did that. DO'H now my keyboard doesn't work at all! Glad it saved a backup for me! Not sure what I did wrong, only edited two characters in a text file! Even the power button doesn't work. Got to pull that battery out LOL!
It seems when the file was saved it was saved with zero size. When I try to delete it to replace it with the backup it says cant delete, read only. So, not sure how I am meant to replace this and fix this problem.
Any ideas, remembering that I cant actually use any buttons on the phone!