Get rid of the increasing ring when someone calls you. As long as I can remember, most samsung phones had a "feature" where when you receive a call, the ringtone will gradually fade in to the volume that you have set. This mod will get rid of that annoying fade in and allow your ringtone to play at the volume YOU set it to!
REMEMBER~! Your phone needs to be deodexed for this to work!!! Also, this mod is version specific! Only use the modified APK with the same deodexed ROM. You have been warned.
Here is the fixed Phone.apk I created for firmware JPK:
http://forum.xda-developers.com/showpost.php?p=8515539&postcount=49
Instructions: (Thanks goes to Ferdimage for the Flight Mode trick!)
MAKE SURE your firmware is deodexed and you are using the right fix to the proper firmware!!
1. Put the phone into "Flight Mode" either by holding power while the device is on and selecting Flight Mode from the submenu, or by selecting Flight Mode from the Settings menu.
2. Use a terminal, or root explorer, or any app you want to copy Phone.apk to /system/app/. Make sure the file is Phone.apk instead of phone.apk. Some people copied it as phone.apk (lowercase P) and in the linux world, both files would exist, and the Android OS would use Phone.apk instead of phone.apk. --(If you still get a FC, don't worry, just proceed to step 3.)
3. Reboot the phone.
Attached is the Phone.apk for JPO firmware. I made it using Doc's 7.5 ROM.
UPDATE: Added Phone.apk for JPU firmware.
UPDATE 12/31/2010: The deodexed file from Doc's JPY ROM and the JPY kitchen did NOT work, so I deodexed the file myself this time. Here is the Phone.apk for JPY firmware!!!
Happy new year everyone! Enjoy!
Anyone who wants to thank me, feel free to buy me a beer!! Enjoy!
PS: Sorry for the delay, but I was one of the guys who bought a i9000M phone with the failing internal SD [replaced 4 times!!]. I just got my phone back last night and went straight to work to build you guys this working Phone.apk for JPY. Hope you guys appreciate it as much as I do!!
UPDATE 12/5/2011:
Wow, its been almost a year since I last used my i9000. I decided to pick it up again and update it to JVT, so... here's the Phone.apk made by me for JVT. DEODEXED only! It's CWM this time!! Enjoy!
YG007 said:
I know this is on the Galaxy S I9000 General section of the forum, but this seems like its going to need a lot of dev people to find a solution to this one. The increasing ring "feature" should be an option and not enforced on people who do not want this feature on.
So, I propose we put our heads together and find a solution to this problem.
My .02, for what its worth (probably not much.. ), but when I owned the Samsung u900 (soul), the fix was to go into the service menu, under SPK Config Menu -> AV-QTune (MP3) Menu -> SPK MP3 Vol. Menu -> Then change one of the lower volume levels (I used volume level 1) to a dB that is high. The reason for this was, the increasing ring method was only implemented at higher volume settings. So, changing the ring volume to a lower volume setting where the increasing ring method implementation wasn't used and setting THAT volume to a high volume level solved all my problems.
... but, those menu items do not exist in the Samsung Galaxy S service menu.
Also, the thing I notice here is the only volume where the increasing ring does not get implemented is volume 1. (which still might be implemented since the volume is so quiet). So, for the SGS, the increasing ring method might be implemented all the time, which will make it harder to disable, who knows.
Hopefully someone can figure this one out. I've been poking around the device and even the sound files to see if theres anything about the device modifying the volume, but I guess I'm not looking in the right spot.
Click to expand...
Click to collapse
+1.
I really hate the ascending ringtone "feature"
any development on this?
Yes I'd like to see this too, increasing ring should definitely be OPTIONAL.
I don't like it either
I hate it so much!! What idiot made it as a feature?!
My temporary solution was to use the app called Volume Locker. The delay should be "0". But... In that case you have the same audio settings all the time. If you want to use Profile manager with different audio settings you have to switch off Volume Locker first. Every time. Not good.
Anyone who indeed kan solve the problem??
+1
All of the samsung phones have this feature (problem) ...
Omnia , Omnia II and now Galaxy S ....
I really looking for a way to disable this annoying feature !!!!
+1 This has been bugging me for a long time.. I hope someone can come up with a solution...
Sent from my GT-I9000 using XDA App
Uhm... let's tell Supercurio, maybe he can do something about it in Voodoo Sound.
Anybody ??????
I did some poking around... I still didn't solve the problem with the increasing ring, but I did find something that might be useful.
This is in asound.conf, which is in the /system/etc/ folder:
Code:
pcm.AndroidPlayback_Earpiece_ringtone {
type hooks
slave.pcm {
type hw
card 0
device 0 # Must be of type "digital audio playback"
}
hooks.0 {
type ctl_elems
hook_args [
# Enable audio output from the DSP
{name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER
]
}
}
pcm.AndroidPlayback_Speaker_ringtone {
type hooks
slave.pcm {
type hw
card 0
device 0 # Must be of type "digital audio playback"
}
hooks.0 {
type ctl_elems
hook_args [
# Enable audio output from the DSP
{name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER
]
}
}
pcm.AndroidPlayback_Headset_ringtone {
type hooks
slave.pcm {
type hw
card 0
device 0 # Must be of type "digital audio playback"
}
hooks.0 {
type ctl_elems
hook_args [
# Enable audio output from the DSP
{name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER
]
}
}
pcm.AndroidPlayback_Bluetooth_ringtone {
type hooks
slave.pcm {
type hw
card 0
device 0 # Must be of type "digital audio playback"
}
hooks.0 {
type ctl_elems
hook_args [
# Enable audio output from the DSP
{name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER
]
}
}
pcm.AndroidPlayback_Speaker_Headset_ringtone {
type hooks
slave.pcm {
type hw
card 0
device 0 # Must be of type "digital audio playback"
}
hooks.0 {
type ctl_elems
hook_args [
# Enable audio output from the DSP
{name "Playback Path" value 8} # 0:OFF 1:RCV 2:SPK 3:HP 4:DUAL 5:BT 6:RING_SPK 7:RING_HP 8:RING_DUAL 9:EXTRA_DOCK_SPEAKER
]
}
}
I tried changing earpiece and speaker ringtone to 2, headset to 3, and speaker_headset to 4. Rebooted, and tried calling myself... still has the increasing ring. So, the sound is being altered before it outputs to the sound card it seems.
I hope this points SOMEONE into the right direction, as I really don't like having this increasing ring "feature" as it is really annoying.
Heh, I just added a second of silence in the beginning of my ringtone. Still would be nice to know if it could be disabled.
Hello,
I've just found a (not easy) way to disable increasing ring.
This involves using Apk Manager to backsmali Phone.apk,
which then have to be replaced by patched version, either by root access or creation of update.zip.
Procedure:
1. Get your Phone.apk (\system\app\Phone.apk) and copy it to computer.
2. Use Apk Manager to decompile it.
3. Open folder with Phone source (<Apk Manager folder>\projects\Phone.apk\smali\com\android\phone).
4. Open file Ringer$1.smali with your favourite text editor.
5. Find line that reads:
Code:
invoke-virtual {v1, v5, v4, v3}, Landroid/media/AudioManager;->setStreamVolume(III)V
6. Delete this line, save the file.
7. Compile Phone.apk, put it back to phone.
8. Enjoy constant-volume ringtones.
Side effects:
- currently not known
- if you have problem decompiling Phone.apk, >here< is the solution
Maybe somebody will make pre-patched packages, I'm currently using JM5
so I can only provide one for this firmware.
Anybody feel like trying this out ? Thanks though... much appreciated...!
Sent from my GT-I9000 using XDA App
Just gave it a try but i stuck in the part you have to edit the file. Actually after successfully decompiling without errors, it seems that i dont have "smali" folder under \Phone.Apk\ I also manually search for the file "Ringer$1.smali" (the one that needs to get edited) but didn't find it also :/
Edit. JM8
vipercubic said:
Just gave it a try but i stuck in the part you have to edit the file. Actually after successfully decompiling without errors, it seems that i dont have "smali" folder under \Phone.Apk\
Click to expand...
Click to collapse
Are you sure that decompilation was successful?
Check log.txt file in Apk Manager directory.
Maybe you just unpacked it, not decompiled?
I'm attaching patched JM5 Phone.apk, for those who want to try it.
optional or not ... i like this feature ... or is it a bug ?
the_ozyrys said:
Are you sure that decompilation was successful?
Check log.txt file in Apk Manager directory.
Maybe you just unpacked it, not decompiled?
Click to expand...
Click to collapse
Well i'm not really sure But i saw no errors when running decompile (just did it again)
There's my log
Code:
--------------------------------------------------------------------------
|’œ« 06/10/2010 -- 14:30:14,31|
--------------------------------------------------------------------------
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
ƒœ¤ ™¨βŸž΅œ C:\apk_manager_4.9\place-apk-here-for-modding\../place-apk-here-for-modding/signedPhone.apk
ƒœ¤ ™¨βŸž΅œ C:\apk_manager_4.9\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedPhone.apk
I: Loading resource table...
W: Skipping "android" package group
I: Decoding resources...
I: Loading resource table from file: C:\Documents and Settings\User\apktool\framework\1.apk
I: Loading resource table from file: C:\Documents and Settings\User\apktool\framework\2.apk
I: Copying assets and libs...
I don't see "backsmaling" in this log.
Did you choose option number 9?
This is the one you should use.
the_ozyrys said:
Are you sure that decompilation was successful?
Check log.txt file in Apk Manager directory.
Maybe you just unpacked it, not decompiled?
I'm attaching patched JM5 Phone.apk, for those who want to try it.
Click to expand...
Click to collapse
Unable to decompile ... tried options 9 and 10 ... Even looked at that link which you posted but that seems a little too much for my n00b brain to comprehend ...
when i click option 9 i get:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
'adb' is not recognized as an internal or external command,
operable program or batch file.
Could Not Find C:\Documents and Settings\Khambatta\My Documents\Downloads\apk_manager_4.9\place-apk-here-for-modding\../place-apk-here-for-modding/signedPhone.apk
Could Not Find C:\Documents and Settings\Khambatta\My Documents\Downloads\apk_manager_4.9\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedPhone.apk
I: Loading resource table...
W: Skipping "android" package group
I: Decoding resources...
I: Loading resource table from file: C:\Documents and Settings\Khambatta\apktool\framework\1.apk
W: Could not decode attr value, using undecoded value instead: ns=android, name=textAppearance, value=0x0207000d
W: Could not decode attr value, using undecoded value instead: ns=android, name=textAppearance, value=0x0207000e
W: Could not decode attr value, using undecoded value instead: ns=android, name=textAppearance, value=0x0207000f
W: Could not decode attr value, using undecoded value instead: ns=android, name=textAppearance, value=0x0207000f
And when i click option 10 the log shows:
Exception in thread "main" brut.androlib.AndrolibException: java.io.FileNotFoundException: decompile (The system cannot find the file specified)
at brut.androlib.res.AndrolibResources.installFramework(Unknown Source)
at brut.androlib.Androlib.installFramework(Unknown Source)
at brut.apktool.Main.cmdInstallFramework(Unknown Source)
at brut.apktool.Main.main(Unknown Source)
Caused by: java.io.FileNotFoundException: decompile (The system cannot find the file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
... 4 more
'and' is not recognized as an internal or external command,
operable program or batch file.
Exception in thread "main" brut.androlib.AndrolibException: Arsc file contains zero or multiple packages
at brut.androlib.res.decoder.ARSCDecoder$ARSCData.getOnePackage(Unknown Source)
at brut.androlib.res.AndrolibResources.installFramework(Unknown Source)
at brut.androlib.Androlib.installFramework(Unknown Source)
at brut.apktool.Main.cmdInstallFramework(Unknown Source)
at brut.apktool.Main.main(Unknown Source)
'and' is not recognized as an internal or external command,
operable program or batch file.
Any ideas ?
Related
6Fg8 proudly presents:
m9editor
development discontinued
m9editor is your little helper when it comes to editing manila files. It lets you edit nearly all aspects of a mode9 file. Additionally it will assist you with graphics, allowing import, export and CFC compression. And It includes a directory viewer with information specific to manila files.
requirements:
m9editor is written in .net, so .netCF3.5 (currently SP1) must be installed (usually its already there). It has been developed and tested using Windows XP x64, but should run on any Windows platform.
usage:
see the manual contained in the download package (PDF)
making of / credits:
thanks to: D-MAN666, sztupy, nixx-X1, Chainfire, pcarvalho, showaco, guap, 12aon, xboxmod, NisseDILLIGAF, smotrs, for contributing knowledge, ideas, testing. Thank you guys (& gals of course) !
version history:
2009-03-10 - v3.3.0.1
BUGFIX: crashed when using selections
2009-03-09 - v3.3.0.0
- LuaConv is now included in the m9editor download package
- CHG: all sourcecode related functions use ".lua" as default extension
- NEW: compile and import function for lua script sourcefiles:
for mode9 files (embedded scripts):
m9editor remembers the filename of the source on a per-node basis and lets you subsequently edit the recently used file from the particular node. You may also attach/detach such a link manually. If a link is established, you may edit the sourcefile (check if you set the "SourceCodeViewer" option in m9editor.cfg) and recompile/import in a single step. When saving the mode9 file the links are saved too (mode9file.ann) and reloaded on next open.
for standalone scripts:
m9editor checks if a correspondig xxxxxxxx_manila.lua exists in the script directory. If yes, you are offered edit and compile options.
- NEW: editor context menu: view source for embedded scripts
- NEW: search previous button
- FIX: editing characterreference threw exception
- NEW: dirviewer context menu for mode9 files: compare with: compare two mode9 files without loading it first
- NEW: dirviewer context menu for all files: hex compare with: compare two files with hexview.
Only available if AptDiff is installed. Edit m9editor.cfg and insert the following line (use the path on your system):
AptDiffPath=c:\Program Files (x86)\Brother Technology\AptDiff 1.5\aptdiff.exe
If AptDiff is installed and configured in m9editor.cfg, text compares are done with AptDiff instead of ExamDiff
WARNING:
during directory analyze, if a lua script is found, m9editor checks for existence of <filename>.luac.lua. If its found it will be renamed to <filename>.lua. In directory viewer the line will be shown blue colored to indicate the presence of a sourcecode file.
during mode9 file load, if a embedded script is found, m9editor checks for existence of <filename>_<bytepos>.luac.lua. If its found it will be renamed to <filename>_<bytepos>.lua. In mode9 editor you will notice the link to the script sourcecode. Dont forget to save the mode9 file to make the link permanent (otherwise if you modify the structure, links might be lost due to changing byteposition).
WARNING2:
The pdf attached doesnt reflect the latest changes to m9editor, update follows.
2009-02-22 - v3.2.0.1
- fixed definitions for weather.mode9 and landscape.mode9 which rendered them unusable after modifying
2009-02-22
I removed the QtcConv and LuaConv tools because they lack of syntactical checks and the same functionality is available in m9editor.
EDIT: added the old LuaConv again, seems to work not that bad i thought it would
2009-02-21 - v3.2.0.0
- font changes for various fields to avoid overlapping
- if "manila files dir" is changed in settings, directoryview will be reloaded
- new: directory viewer context menu option for mode9 files: "extract embedded scripts", writes them to script directory
- changed interpretation of UV property (16.16 instead of INT32)
- picture view: new "save as PNG" and "save as QTC" buttons will save your graphic to a selectable directory
2009-02-19 - v3.1.0.1
bugfix for "save tree to file" function
2009-02-19 - v3.1.0.0
time for a new version
- m9editor now remembers last window/splitter positions and restores them on start and returning from minimize
- HOT compare feature: if a mode9 file is loaded, rightclick on the toplevel node to compare with another mode9 file, or save the treeview as a textfile. Compares are done with a freeware tool named "ExamDiff" from PrestoSoft.
2009-02-18 - v3.0.5.0
new context menu functions in directory viewer: delete, copy to
2009-02-17 - v3.0.4.0
content of XML, HTML displayed in lower right panel
evaluation of XML locales in directory viewer
manual is complete, and now a part of the package
2009-02-16 - v3.0.3.1
annotations now work for new tags as well, and will be copied between instances (+corrected a few flaws during display)
new: search within decompiled lua scripts
new: copy annotations between instances of m9editor
2009-02-11 - v3.0.2.0
bugfix: empty value crash
minor improvements
2009-02-10 - v3.0.1.0
some little improvements:
- sourcecode of embedded scripts and .luac files is shown whenever possible
- zoom percentage display for graphics display
2009-02-09 - v3.0.0.0
I've made a lot of changes to improve m9editor. The most important are:
- integration with sztupy's luadec (thanks and credits to sztupy for great decompiler and permission to use, and of course once again to D-MAN666 for providing knowledge)
- import of compiled lua scripts (ANSI or Unicode, autodetected)
- UI reworked: editor, directory viewer, image viewer combined in one window
planned for next releases of m9editor:
- copy files to/from PDA if connected via ActiveSync
- smart-select referenced graphic files in a mode9 file
- selfcheck for consistent mode9 writing
- analysis of lua script "require"'s for valid manila names
download stats:
v.3.2.0.1: 1554 views (wow! impressed!)
Guess I'll have to try that, seems great !
Your editor seems (as you describe it) only able to change values, but not the structure of the mode9 file, do you intend to change that ?
I have an ongoing project of mode9/xml converter in C, if I can be of some help, don't hesitate to ask
Hi Ximoon,
guess you belong to the "intended audience"
At the moment only changing values is allowed, correct. The main reason for this is that i'm unable to interpret and understand the complete structure, and to make sure that writing of m9 files produces valid files. If there's more info on that i could build it into the editor of course.
What i could imagine is a more generic approach, e.g. allow insertion/deletion of tags based on hex-values. I'll give that a thought.
Do you have any detailed info about the tag-structure? It can be seen in the tagfile but as hexvalues. Ive been able to interpret some of them, but the meaning of many others is unknown to me. So m9editor filters most of them for better reading.
Anyway, there's more to come with m9editor. I already built routines to disassemble lua scripts which run fine, but as its output is only relevant to p-code its pretty useless at this time. Also planned is a tool to allow image replacement. That could go to a point where we have a complete workbench for TF3D, including preview and the like. But thats far beyound my current scope.
Nice anyway !
I have no more information than you do, all I got is from the manilla thread where you posted earlier
But in the end, names of the tags doesn't really matter.
For LUA, I found some decompiler on the web, so I guess a tool to convert lua-unicode to lua-ascii and reverse could work to use those tools.
I guess I'll go on with my editor and see what I could do in the end, for two different approches could be constructive !
Must have been ChunkSpy, right? I found many more but mostly outdated and not working for Lua 5.1.
The Lua routines i've already written allow converting unicode to ascii, and save the scripts in ascii respectively. I'll have to recode them in .net as the first quick approach has been VB
Nice start, man
I was waiting for so long since somebody starts public Manila DevKit since i posted specs i reversed
Drop me a PM if you have any questions
Can't wait to use those lua tools
yeah, right D-MAN, most of that thing is based on your findings, my respect m8.
I'll PM you later, gotta go shopping now for newyears eve
6Fg8 said:
yeah, right D-MAN, most of that thing is based on your findings, my respect m8.
I'll PM you later, gotta go shopping now for newyears eve
Click to expand...
Click to collapse
Yah, sure, after NY eve when my hangover is over
oh oh, nice tool thank you
new version has been released, details here
got ean error if i want to open a file..
System.UnauthorizedAccessException: Der Zugriff auf den Pfad C:\Dokumente und Einstellungen\Administrator\Desktop\HTC\tf3d\2c684cd8_manila wurde verweigert.
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode)
bei m9editor.m9efunctions.readm9(String fname, Boolean writedebug)
bei m9editor.m9editor.fileopen_Click(Object sender, EventArgs e)
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Click to expand...
Click to collapse
edit: i was write protected.....
schreda said:
got ean error if i want to open a file..
System.UnauthorizedAccessException: Der Zugriff auf den Pfad C:\Dokumente und Einstellungen\Administrator\Desktop\HTC\tf3d\2c684 cd8_manila wurde verweigert.
Click to expand...
Click to collapse
sorry, i dont have that file on my touch HD, cannot test. Are you sure its a mode9 file? Can you upload it here?
schreda said:
edit: i was write protected.....
Click to expand...
Click to collapse
that explains something
hmm.. i'm trying to port the analog clock from the Diamond to the HD.. i must change the Resolution i think but i got a bad result if i change the size var... ( i took the original file from the Hd to compare it
schreda said:
hmm.. i'm trying to port the analog clock from the Diamond to the HD.. i must change the Resolution i think but i got a bad result if i change the size var... ( i took the original file from the Hd to compare it
Click to expand...
Click to collapse
great idea, i'd appreciate to see a analog clock on the HD
new version has been released, details here
wow! finally someone is doing it
thanks and keep up the good work!!!
what i show in screenshot, is it portion of unparsed data?
can one edit them? i tried and failed cause i dont know what to change...
i'm missing: RectF, X, Y, Width, Height
pcarvalho said:
wow! finally someone is doing it
thanks and keep up the good work!!!
what i show in screenshot, is it portion of unparsed data?
can one edit them? i tried and failed cause i dont know what to change...
i'm missing: RectF, X, Y, Width, Height
Click to expand...
Click to collapse
its the value of the tag above, "Viewport". Currently i dont know how to parse that, as its binary and i dont understand the meaning. Could be 8 x Int16, or 4x Int32, or a mixture of that, and even then i wouldnt understand what these values mean. Obviously parameters for Viewport.
Yes, you can edit that, simply overwrite the hexvalues and press enter, it will be written.
Can you shed light into the purpose of these values? I'll be glad to parse them right.
BTW there is a baaad bug in v1.0.2.0 when writing m9, i'm currently correcting that.
6Fg8 said:
its the value of the tag above, "Viewport". Currently i dont know how to parse that, as its binary and i dont understand the meaning. Could be 8 x Int16, or 4x Int32, or a mixture of that, and even then i wouldnt understand what these values mean. Obviously parameters for Viewport.
Yes, you can edit that, simply overwrite the hexvalues and press enter, it will be written.
Can you shed light into the purpose of these values? I'll be glad to parse them right.
BTW there is a baaad bug in v1.0.2.0 when writing m9, i'm currently correcting that.
Click to expand...
Click to collapse
take your time my friend
those ones for Viewport i only know that they are:
<Property Name="Viewport" Type="RectF" X="0" Y="0" Width="31457280" Height="35127296" Animated="False"/>
cause i used D-MAN666's mode9parser, talk with him cause he might help, i hope
Purpose:
This purpose of this VBScript is to process and organize data in RGU/REG files to remove duplicates, identify faulty entries, and move entries to ascending alphabetical order (the same way it is displayed in a registry editor).
Requirements:
Windows Scripting Host (included in most versions of windows)
rgucomp.exe and cereg400.dll located somewhere in your path (same folder as the script probably won't work if the script is run from another folder)
.reg and .rgu files are expected to be UTF-16LE with BOM
Usage:
Drag a .rgu, .reg, or .hv onto RGUber.vbs OR run "wscript.exe RGUber.vbs example.rgu"
Details:
When an rgu|reg file is specified, RGUber will:
1) create backup of input file
2) rename input file to boot.rgu
3) use rgucomp to convert it to *.hv
4) use rgucomp to convert new .hv to original rgu path\name
5) Reorder all keys in ascending alphabetical order and all values for each key in ascending alphabetical order with default value first
When an hv file is specified, RGUber will:
1) use rgucomp to convert it to *.rgu
2) Reorder all keys in ascending alphabetical order and all values for each key in ascending alphabetical order with default value first
Options
Open RGUber.vbs in your favorite text editor. All options are set at the beginning with (hopefully) meaningful descriptions.
Code:
'//Path to rgucomp (leave this as default if rgucomp.exe is located in your system path)
Const RGUCOMP = "rgucomp.exe"
'//Path to notepad, only needed if %OPENAFTER% is true
Const NOTEPAD = "notepad.exe"
'//The following options can be set to True/False or 0/1
'//Organize registry entries in ascending alphabetical order
Const REORDER = True
'//Open in %NOTEPAD% after conversion is done
Const OPENAFTER = False
'//Save any errors from rgu -> hv conversion
Const LOGERRORS = True
'//Save a backup copy of %INPUTRGU% as "%INPUTRGU%_Backup.rgu"
Const BACKUPRGU = True
Other info
If target file already exists, RGUber will ask if you want to overwrite.
Text files (the MS way) typically contain CRLF for next line. Output from rgucomp.exe contains many CRCRLF. RGUber removes the extra CR.
I have very few comments in the code. If requested, I will upload another copy with as many detailed comments as I can manage.
I tried to code this as efficiently as VBScript can possibly be. I kept getting errors when trying to run 'rgucomp.exe -b -nologo' so instead of running it directly, RGUber creates a bat file, executes it, then deletes it.
On my AMD Phenom 9600 with Vista64 and 3 SATA in Raid5, RGUber completes rgu->hv->rgu of 2084 lines in <3s
RGUber always saves output from rgu->hv conversion but deletes the file if there were no errors.
RGUber crashes on files with no reg entries (e.g. empty app.reg in an EXT package that does not add any registry entries)
Changelog:
v1.21a
Values are now sorted in alphabetical order for each key
v1.2
Replaced Organize function with one from RGUOrder
Lost ability to reorder values for each key (To be readded in next version)
v1.1
Fixed a bug with removing hashdata from output (RGUber would mix data from two keys under one)
Changed sorting algorith with a much faster one
v1.02
Added option to remove RegistryUpdate key from rgucomp output
Fixed a typo where RGUber was not removing the system attribute from input rgu files
v1.01
Fixed typo where RGUber was waiting for backup file instead of log file
Change 'Done' msgbox to one that shows beginning time and ending time
v1.0
Initial Release
RGUOrder v1.4
This script will only reorder the contents of an rgu without processing with RGUComp, thereby keeping comments and delete key entries. RGUComp/cereg400.dll are not needed to use this app.
Changelog:
v1.4
Fixed a bug where if the original rgu did not end with a new line then the last entry after being sorted would be lost.
Fixed two bugs where only the first 25 tabs and first 25 spaces would be removed before sorting (This did not affect data integrity or performance, but the checksum would be different each time you run the output back through RGUOrder until all the original tabs/spaces were removed)
Added code to prevent multiple entries of the same key from being reordered
Fixed other miscellaneous bugs/oddities introduced with v1.3
v1.3
Added code to add a delete key for each subkey of a deleted key so that when reordered, the key deletion isn't broken
v1.2
Fixed a bug where the last key processed was being concatenated to another with no CRLF producing an invalid rgu file
I'm not sure if this relates to your app but I have a small question:
If a dumped a rom (raw, not kitchen type) and removed several apps/programs but did not clean the registry (very tedious), will this help me clean it up (remove dead paths, etc)?
And if so, how will it know just by dragging the .hv file? I mean how will your app know if a registry entry does not have the app/program included in the rom anymore?
Please forgive me if my question does not relate to your app
There is no way for my app to know, it isnt that smart
It would take an extensive app/database to know which keys are related to which apps.
Thanks for this post
updated to v1.1
v1.02 had a bug in the code which removed hash data from output which made it mix data from the key before it with the key after it
If I ever get around to updating again, I will use hvedit instead of rgucomp
I get an error.
Script: D:\RGUber.vbs
Line: 136
Char: 2
Error: File not found
Code: 800A0035
Source: Microsoft VBScript runtime error
Any reason why?
I attach the file i want to sort alphabetically.
I have no idea
It worked for me with no problem (file attached)
Please tell me the location of RGUber.vbs and of 51329f91-0017-4364-bcff-e032c5d45b01.rgu
Great application bro!!
Only limitation is that I have to put reg400.dll and rgucomp in C:\windows
c_shekhar said:
Great application bro!!
Only limitation is that I have to put reg400.dll and rgucomp in C:\windows
Click to expand...
Click to collapse
yeah, I tried to get around that but I didn't find anything feasible with vbscript :-/
Actually, they don't have to go in C:\windows
I reinstall windows regularly so I keep as many apps portable as I can. I have a bin folder on another partition that I add to the system path variable after a new install for stuff like this.
selyb said:
yeah, I tried to get around that but I didn't find anything feasible with vbscript :-/
Actually, they don't have to go in C:\windows
I reinstall windows regularly so I keep as many apps portable as I can. I have a bin folder on another partition that I add to the system path variable after a new install for stuff like this.
Click to expand...
Click to collapse
can you elaborate this a bit more. Because I too would like a similar arranfements...
My C:\ partition has Vista64
My F:\ partition has all my documents, downloads, music, movies, etc and a folder F:\bin\
F:\bin contains >100 downloaded command line programs and vbs scripts that I have written including
RGUber.vbs
lame.exe
rgucomp.exe
cereg400.dll
FixVTS.exe
faad.exe
nuerecmod.exe
Tag.exe
find Advanced System Properties (I can't remember how, it's different for XP/Vista/7) go to the Advanced tab and hit the Environment Variables button
Under system variables, scroll down to 'Path', double click it. This defines your 'system path'. It contains a list of folders separated by semicolon ";". At the end, add a semicolon and the path to the folder you want to add (e.g. ;F:\bin) after that, hit ok. XP may need to reboot to reflect the change but I'm not sure. Vista and 7 are affected immediately.
With this setup, you can open a command prompt in any folder on your computer and type "RGUber.vbs xyz.rgu" and it would work as if all the files are in that folder.
Thanks a lot bro!!!
I am grateful...
I'd really like to use this, but unfortunately I get this error regardless of the app.reg I drag onto the script:
Script: C:\RGUber\RGUber.vbs
Line: 232
Char: 3
Error: The system cannot find the path specified.
Code: 80070003
Source: (null)
Thanks if you can advise.
Quetzecotyl said:
I'd really like to use this, but unfortunately I get this error regardless of the app.reg I drag onto the script:
Script: C:\RGUber\RGUber.vbs
Line: 232
Char: 3
Error: The system cannot find the path specified.
Code: 80070003
Source: (null)
Thanks if you can advise.
Click to expand...
Click to collapse
Hmmm... this line asks the system for what is in the %temp% variable and attempts to change the working directory to the result.
Open RGUber.vbs in notepad and go to line 232
Modify
Code:
WSH.CurrentDirectory = WSH.Environment("SYSTEM")("temp")
to
Code:
WSH.CurrentDirectory = "C:\RGUber\"
then try again
Works great after your fix, selyb. Thank you for this useful app and your many helpful contributions to the Kaiser forums.
Quetzecotyl said:
Works great after your fix, selyb. Thank you for this useful app and your many helpful contributions to the Kaiser forums.
Click to expand...
Click to collapse
Yeah, I may relocate from Kaiser forums to Rhodium. I have an AT&T Tilt 2 in the mail to me ATM
Grats on getting a Rhodium. Found a question after using it for a while. This is just one example of such behavior, but why does:
Code:
[HKEY_CURRENT_USER\Software\HTC\TaskManager\ExclusiveList\System]
"CMBandSwitching.exe"=dword:0
get turned into:
Code:
"CMBandSwitching.exe"=dword:0
How do I make it regard CURRENT_USER keys?
Quetzecotyl said:
Grats on getting a Rhodium. Found a question after using it for a while. This is just one example of such behavior, but why does:
Code:
[HKEY_CURRENT_USER\Software\HTC\TaskManager\ExclusiveList\System]
"CMBandSwitching.exe"=dword:0
get turned into:
Code:
"CMBandSwitching.exe"=dword:0
How do I make it regard CURRENT_USER keys?
Click to expand...
Click to collapse
I had this problem with an earlier version. If you are using v1.1 then please attach the original rgu/reg. I have tried and I can't seem to reproduce it since I fixed it already.
Please, replace rgucomp with hvedit . I really need your help because rgucomp doesn't work for me . Thanks in advance .
tomcug said:
Please, replace rgucomp with hvedit . I really need your help because rgucomp doesn't work for me . Thanks in advance .
Click to expand...
Click to collapse
why doesn't rgucomp work? I would be surprised to learn that hvedit will work when rgucomp won't.
Hi! I would like to edit some .apk files of mt SGG, but not editing only icons or so, but trasparencies and backgrounds.
Can please someone help me on finding the tools I need and how to setup my computer with all the things I need??
Thank you.
PIRATA! said:
Hi! I would like to edit some .apk files of mt SGG, but not editing only icons or so, but trasparencies and backgrounds.
Can please someone help me on finding the tools I need and how to setup my computer with all the things I need??
Thank you.
Click to expand...
Click to collapse
Hi, for the tools needed see post 2 in my theme thread. Report back when you've got them installed and we can progress. Don't ask me to find the download links for you. lol
Jumba said:
Hi, for the tools needed see post 2 in my theme thread. Report back when you've got them installed and we can progress. Don't ask me to find the download links for you. lol
Click to expand...
Click to collapse
dena994 said:
....................
-------------------
Tools Needed:
Android SDK package - add the (sdkpath)/tools folder to your windows environment variable. -> DONE!
Version 1.3.1 (not 1.3.2) of APKTool. -> DONE!
Adobe Photoshop and Fireworks (or other advanced image editing software). -> I don't want to edit images! I use images I found from other themes!
PSPad Editor (or other valid xml editor). -> DONE! ..but I prefere NotePad++ Editior
Latest version of the NeonGT theme. -> I have your Jumba's_NeonGT_JPY_1.8.3_bb.zip theme you told me to use as teamplate: is it ok?
PNGOptimizer. -> I don't want to edit images! I use images I found from other themes!
7-zip. -> DONE!
..................
Click to expand...
Click to collapse
Am I ok for starting?
All I need is managing with replacing images and related trasparencies.
An example: I have a trasparent Dialer and would like to change the trasparency, the look of some tabs getting images from other dialers, and then importing all the work done in the Dialer of last Darky's ROM.
I have already putted all the neutral/dummy/trasparent images from the trasparent dialer into the dialer that I want to edit, but now I see all those images as black with no trasparency.
Am I correct if I say that now I need to make changes to some .xml files to set the trasparency??
Ps: I already decompiled the .apk I would like to edit and I get errors decompiling this dialer using APKTool 1.3.1:
Code:
=======================================================
::::::: Auto-APKTool Decompile Created By Yanzi :::::::
=======================================================
Compile all APKs Exist Here
U want to Use Additional Resource?[y/n]n
Start...
Premere un tasto per continuare . . .
I: Baksmaling...
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: C:\Users\pirata\apktool\framework\1.apk
S: Could not decode file "drawable-hdpi/call_default_btn_normal.9.png" to "drawa ble-hdpi-v4/call_default_btn_normal.9.png"
S: Could not decode file "drawable-hdpi/call_default_btn_pressed.9.png" to "draw able-hdpi-v4/call_default_btn_pressed.9.png"
S: Could not decode file "drawable-hdpi/call_default_btn_selected.9.png" to "drawable-hdpi-v4/call_default_btn_selected.9.png"
S: Could not decode file "drawable-hdpi/dialer_tab_button_bg_focus.9.png" to "drawable-hdpi-v4/dialer_tab_button_bg_focus.9.png"
S: Could not decode file "drawable-hdpi/dialer_tab_button_bg_press.9.png" to "drawable-hdpi-v4/dialer_tab_button_bg_press.9.png"
S: Could not decode file "drawable-hdpi/listview_focus_bg.9.png" to "drawable-hdpi-v4/listview_focus_bg.9.png"
S: Could not decode file "drawable-hdpi/listview_press_bg.9.png" to "drawable-hdpi-v4/listview_press_bg.9.png"
W: Could not decode attr value, using undecoded value instead: ns=android, name=textColor, value=0x0205009a
W: Could not decode attr value, using undecoded value instead: ns=android, name=textColor, value=0x0205009a
W: Could not decode attr value, using undecoded value instead: ns=android, name=color, value=0x02050097
Can't find framework resources for package of id: 2. You must install proper framework files, see project website for more info.
Premere un tasto per continuare . . .
Pps: I putted a PAUSE in the APKTool_Decompile.bat file so to see the errors.
You need to set your framework-res.apk as the file used to decode... like so:
apktool if c:\whatever\yourframework-res.apk sgs
Then:
apktool d -t sgs c:\whatever\DialerTabActivity.apk c:\decoded\dialer
Then make your edits and compile using:
apktool b c:\decoded\dialer c:\out\DialerTabActivity.apk
After this don't forget to copy the META-INF folder over from the old apk into the new one.
If you're looking to make it transparent there's a guide around here somewhere. You need to change some xmls too. Sometimes some 9.png images don't decompile properly... you'll need to recreate those somehow.
Jumba said:
You need to set your framework-res.apk as the file used to decode... like so:
apktool if c:\whatever\yourframework-res.apk sgs
Then:
apktool d -t sgs c:\whatever\DialerTabActivity.apk c:\decoded\dialer
Then make your edits and compile using:
apktool b c:\decoded\dialer c:\out\DialerTabActivity.apk
After this don't forget to copy the META-INF folder over from the old apk into the new one.
If you're looking to make it transparent there's a guide around here somewhere. You need to change some xmls too. Sometimes some 9.png images don't decompile properly... you'll need to recreate those somehow.
Click to expand...
Click to collapse
Mmmmm...what is the problem??
Code:
=======================================================
::::::: Auto-APKTool Decompile Created By Yanzi :::::::
=======================================================
Compile all APKs Exist Here
U want to Use Additional Resource?[y/n]y
What Resource (Tag) U Want to Use: sgs
I: Baksmaling...
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: C:\Users\stefano\apktool\framework\1-sgs.ap
k
S: Could not decode file "drawable-hdpi/call_default_btn_normal.9.png" to "drawable-hdpi-v4/call_default_btn_normal.9.png"
S: Could not decode file "drawable-hdpi/call_default_btn_pressed.9.png" to "drawable-hdpi-v4/call_default_btn_pressed.9.png"
S: Could not decode file "drawable-hdpi/call_default_btn_selected.9.png" to "drawable-hdpi-v4/call_default_btn_selected.9.png"
S: Could not decode file "drawable-hdpi/dialer_tab_button_bg_focus.9.png" to "drawable-hdpi-v4/dialer_tab_button_bg_focus.9.png"
S: Could not decode file "drawable-hdpi/dialer_tab_button_bg_press.9.png" to "drawable-hdpi-v4/dialer_tab_button_bg_press.9.png"
S: Could not decode file "drawable-hdpi/listview_focus_bg.9.png" to "drawable-hdpi-v4/listview_focus_bg.9.png"
S: Could not decode file "drawable-hdpi/listview_press_bg.9.png" to "drawable-hdpi-v4/listview_press_bg.9.png"
W: Could not decode attr value, using undecoded value instead: ns=android, name=textColor, value=0x0205009a
W: Could not decode attr value, using undecoded value instead: ns=android, name=textColor, value=0x0205009a
W: Could not decode attr value, using undecoded value instead: ns=android, name=color, value=0x02050097
Can't find framework resources for package of id: 2. You must install proper framework files, see project website for more info.
Premere un tasto per continuare . . .
My guess is you need to set twframework-res as package 2 somehow? But I've never seen that error...
Try replacing the 1.apk and 2.apk files in the install folder with your renamed framework and twframework-res.apk's. Then you don't have to use the -t switch when decompiling.
Jumba said:
My guess is you need to set twframework-res as package 2 somehow? But I've never seen that error...
Try replacing the 1.apk and 2.apk files in the install folder with your renamed framework and twframework-res.apk's. Then you don't have to use the -t switch when decompiling.
Click to expand...
Click to collapse
When I installed the app, in Document and Setting I only have the 1.apk file..no 2.apk one.
I'll try with what you say.
About the residencies, applying it is it all the same technique for write all menu or every menu has different file involving and I must go searching for them?
PIRATA! said:
When I installed the app, in Document and Setting I only have the 1.apk file..no 2.apk one.
I'll try with what you say.
About the residencies, applying it is it all the same technique for write all menu or every menu has different file involving and I must go searching for them?
Click to expand...
Click to collapse
From my unserstanding you need to use the frameworks that the file you're decoding depends on... I've always just used the fw-res and twfw-res from the rom I'm using without issues.
It seems to be looking for dependencies that aren't available in the frameworks you are using. Perhaps try and get the files that match the dialer you downloaded, or try another dialer.
Jumba said:
From my unserstanding you need to use the frameworks that the file you're decoding depends on... I've always just used the fw-res and twfw-res from the rom I'm using without issues.
It seems to be looking for dependencies that aren't available in the frameworks you are using. Perhaps try and get the files that match the dialer you downloaded, or try another dialer.
Click to expand...
Click to collapse
The fact is that I have tryed with Darky's ROM v9.1 Dialer and its frameworks files, and I get the same problem.
This means he used different files mixed together for making the theme??
In the mean time I'll try with a stock rom files and let you know if it is like you say.
Jumba said:
................
Try replacing the 1.apk and 2.apk files in the install folder with your renamed framework and twframework-res.apk's. Then you don't have to use the -t switch when decompiling.
Click to expand...
Click to collapse
I tryed to get framework files from Darky's ROM v9.2 and rename framework-res.apk in 1.apk and twframework-res.apk in 2apk, place them in the Documents and Settings folder of apktool and try them on the DialerTabActivity.apk from same Darky's v9.2.
Here is what I got:
Code:
=======================================================
::::::: Auto-APKTool Decompile Created By Yanzi :::::::
=======================================================
Compile all APKs Exist Here
U want to Use Additional Resource?[y/n]n
Start...
Premere un tasto per continuare . . .
I: Baksmaling...
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: C:\Users\stefano\apktool\framework\1.apk
S: Could not decode file "drawable-hdpi/tw_tab_selected_bar_left.9.png" to "drawable-hdpi-v4/tw_tab_selected_bar_left.9.png"
S: Could not decode file "drawable-hdpi/tw_tab_selected_bar_right.9.png" to "drawable-hdpi-v4/tw_tab_selected_bar_right.9.png"
I: Loading resource table from file: C:\Users\stefano\apktool\framework\2.apk
I: Copying assets and libs...
Premere un tasto per continuare . . .
What do you think? Is it ok, regardless for those two files??
EDIT: This is what I get from the dialer I would like to decode using those same framework files:
Code:
=======================================================
::::::: Auto-APKTool Decompile Created By Yanzi :::::::
=======================================================
Compile all APKs Exist Here
U want to Use Additional Resource?[y/n]n
Start...
Premere un tasto per continuare . . .
I: Baksmaling...
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: C:\Users\stefano\apktool\framework\1.apk
S: Could not decode file "drawable-hdpi/call_default_btn_normal.9.png" to "drawable-hdpi-v4/call_default_btn_normal.9.png"
S: Could not decode file "drawable-hdpi/call_default_btn_pressed.9.png" to "drawable-hdpi-v4/call_default_btn_pressed.9.png"
S: Could not decode file "drawable-hdpi/call_default_btn_selected.9.png" to "drawable-hdpi-v4/call_default_btn_selected.9.png"
S: Could not decode file "drawable-hdpi/dialer_tab_button_bg_focus.9.png" to "drawable-hdpi-v4/dialer_tab_button_bg_focus.9.png"
S: Could not decode file "drawable-hdpi/dialer_tab_button_bg_press.9.png" to "drawable-hdpi-v4/dialer_tab_button_bg_press.9.png"
S: Could not decode file "drawable-hdpi/listview_focus_bg.9.png" to "drawable-hdpi-v4/listview_focus_bg.9.png"
S: Could not decode file "drawable-hdpi/listview_press_bg.9.png" to "drawable-hdpi-v4/listview_press_bg.9.png"
I: Loading resource table from file: C:\Users\stefano\apktool\framework\2.apk
I: Copying assets and libs...
Premere un tasto per continuare . . .
Again: what do you think? Is it ok, regardless for those undecoded files?? Can I just extract from the apk manually and overwrite the undecoded?? They are only images...
Much better, yes, but you'll still need to replace those files at some stage. APKTool will have replaced those with dummy files. See for yourself - they will be there but are probably 0 bytes. You can most likey compile the dialer as-is then copy those .9.png files back into the apk afterwards or replace them with new ones.
Jumba said:
Much better, yes, but you'll still need to replace those files at some stage. APKTool will have replaced those with dummy files. See for yourself - they will be there but are probably 0 bytes. You can most likey compile the dialer as-is then copy those .9.png files back into the apk afterwards or replace them with new ones.
Click to expand...
Click to collapse
Oh..but can't I just replace them now before compiling? Do I have to do this after when the apk file is already done?!?
Ps: I have to edit 2 images. Do I have to use Adobe Photoshop and Fireworks + PNGOptimizer?? I don't have Photoshop and Fireworks, and never used them, so I'm a little bit noob with those....
If you want to replace. 9.png images before compiling you'll need to re-create the 9-patch info (the thin black lines around the edges of the image) else it won't compile. If this isn't possible for some reason then you can add the original compiled ones in afterwards. I can send you the pre-compiled images that you are missing when I get home later if you like... but take some time to read up on how 9-patches work, it could save you some headaches in the future.
Jumba said:
If you want to replace. 9.png images before compiling you'll need to re-create the 9-patch info (the thin black lines around the edges of the image) else it won't compile. If this isn't possible for some reason then you can add the original compiled ones in afterwards. I can send you the pre-compiled images that you are missing when I get home later if you like... but take some time to read up on how 9-patches work, it could save you some headaches in the future.
Click to expand...
Click to collapse
The fact is that those images are modded images from the creator of the modded Dialer: in the thumbs they look all like a big black square, but if I open them they look all blank trasparent.
Probably he added them after compiling the .apk as you say.
I think I'd better do the same.
About modding the images I told you up here, I aldready did with a free tool
Jumba said:
... but take some time to read up on how 9-patches work, it could save you some headaches in the future.
Click to expand...
Click to collapse
Any links?
Ps: I edited my previous post:
in the thumbs they look all like a big black square, but if I open them they look all blank trasparent.
Click to expand...
Click to collapse
Jumba said:
............
Then make your edits and compile using:
apktool b c:\decoded\dialer c:\out\DialerTabActivity.apk
After this don't forget to copy the META-INF folder over from the old apk into the new one.
If you're looking to make it transparent there's a guide around here somewhere. You need to change some xmls too. Sometimes some 9.png images don't decompile properly... you'll need to recreate those somehow.
Click to expand...
Click to collapse
Do you refere to this thread? http://forum.xda-developers.com/showthread.php?t=863519
No, that thread is about adjusting dpi.
Jumba said:
No, that thread is about adjusting dpi.
Click to expand...
Click to collapse
Mmmm..I can't find anything.......
http://www.google.com/m?q=xda+dialer+transparent
The answer is in the 2nd result.
Jumba said:
http://www.google.com/m?q=xda+dialer+transparent
The answer is in the 2nd result.
Click to expand...
Click to collapse
......sorry. I haven't made that kind of searhing on xda.
Ps: I realized that you have made Glass Dialers your self.
I have done one based on GlassDialer with Darky's rom icons that works good...but it lags in the Logs and Favourite menues because my LiveWallpaper is heavy, so I was looking for remove trasparency from underneath the 2 squares Logs and Favourites on top of list (between Keypad and Contacts squares) and see if I could even remove trasparency underneath all the Log and Favourite listing, so to have trasparency only when the Keypad is loaded
Do you understand what I'm looking for doing?
I am trying to change the emojies inside of Facebook Messenger by the ones from EmojiOne.
In the first place, I decompiled through dex2jar the messenger APK and did quite a bit of search but no luck, it is obfuscated and pretty hard to read.
So my second guess was to replace each emoji in the resources. To do that, I used aapt to get one and try it:
HTML:
> aapt dump resources msg.apk | grep 1f60f
resource 0x7f020eca com.facebook.orca:drawable/messenger_emoji_1f60f_32: t=0x03 d=0x000017b3 (s=0x0008 r=0x00)
resource 0x7f020ecb com.facebook.orca:drawable/messenger_emoji_1f60f_64: t=0x03 d=0x000017b2 (s=0x0008 r=0x00)
resource 0x7f0c2086 com.facebook.orca:string/emoji_1f60f: t=0x03 d=0x00003439 (s=0x0008 r=0x00)
I tried this :
HTML:
public void handleInitPackageResources(XC_InitPackageResources.InitPackageResourcesParam resparam) throws Throwable {
if (!resparam.packageName.equals("com.facebook.orca"))
return;
XModuleResources modRes = XModuleResources.createInstance(MODULE_PATH, resparam.res);
resparam.res.setReplacement("com.facebook.orca", "drawable", "messenger_emoji_1f60f_32", modRes.fwd(R.drawable.emojione_emoji_1f60f_32));
resparam.res.setReplacement("com.facebook.orca", "drawable", "messenger_emoji_1f60f_64", modRes.fwd(R.drawable.emojione_emoji_1f60f_64));
}
and quite a few other things, but nothing seems to work. My drawable is working since I tried it in an Activity.
Even though I can get this working, would this be a proper solution to my original problem ?
Will I need to replace EACH emoji one by one in the two sizes ?
Thanks in advance
Bump please, no one?
Up for this thanks
This doesn't solve your problem, but I recently decompiled a proguarded apk too, and couldn't find the right resources easily. I found a method too do so though.
First, install xinstaller, then under misc enable debugging apps (allows debugging any app).
Next, connect your phone, make sure adb is on and connected, open Facebook and go to a conversation. Send some emoji too.
In Android studio, go into Android device monitor (ddms), tools -> Android -> Android device monitor. MAKE SURE YOU SET DDMS UP first
Now, find the button in the toolbar that says something like ui automator dump . This will take a layout dump of your displayed screen and give you a screenshot that you can use to click on various layout objects. You will be able to select the emoji and see what resource id is associated with it.
Or at least, it will give you a method to start looking for the resource id's. Combined with a tool like grep for windows, checking out public.xml for the ID's (they're in hex, but if you want to search in code for the ID, convert it to decimal). And you can pretty much find where the code and resource ID's are now !
I have been searching for a way to keep my DPI down and have a taller Gboard without root/exposed. My banking app will not work with magisk.
I found this article ( https://www.google.com/amp/s/www.xda-developers.com/gboard-tweaks-height-sensitivity/amp/ ) and it worked (before I realized my bank app didn't). Obviously I can't use the same process as I don't have root. In the comments there is a guy GWE who makes a statement about editing the APK.
"Decompile the app, go to res/values/arrays, find the keyboard height entry and add your values (sizes like for ex. 1.25, 1.30 etc. and names).
Then go to res/values/strings and make new entries with the names you put in arrays (in my case I went for "extra tall" and "huge"?).
Recompile, now the new values will show in the settings , done!!!"
I have never done this so maybe I'm wrong, but I opened the APK in Android Studio and I couldn't follow the path he had layed out for me. I was hoping that maybe someone could point me in the right direction?
Any help would be appreciated!
Thank you!
S52Stu said:
I have been searching for a way to keep my DPI down and have a taller Gboard without root/exposed. My banking app will not work with magisk.
I found this article ( https://www.google.com/amp/s/www.xda-developers.com/gboard-tweaks-height-sensitivity/amp/ ) and it worked (before I realized my bank app didn't). Obviously I can't use the same process as I don't have root. In the comments there is a guy GWE who makes a statement about editing the APK.
"Decompile the app, go to res/values/arrays, find the keyboard height entry and add your values (sizes like for ex. 1.25, 1.30 etc. and names).
Then go to res/values/strings and make new entries with the names you put in arrays (in my case I went for "extra tall" and "huge"?).
Recompile, now the new values will show in the settings , done!!!"
I have never done this so maybe I'm wrong, but I opened the APK in Android Studio and I couldn't follow the path he had layed out for me. I was hoping that maybe someone could point me in the right direction?
Any help would be appreciated!
Thank you!
Click to expand...
Click to collapse
I too would like to know if this is possible. Like you, I like having a lower DPI but don't like how small it makes the keyboard. I'm done with the days of rooting so hopefully someone knows of a way.
Decompiling an apk requires Apktool.
You need first to install your framework res using "apktool if framework-res.apk" (read on internet how to do this)
When you want to decompile the apk, you have to type "apktool d <apkname.apk>" so you'll get the folder.
Recompiling is "apktool b <decompiled folder name>" and maybe you need to sign the apk after that.
So, is not a super easy process, I think you need to understand better how to do it reading some posts on xda like this one.
Good luck :good:
APK Tool
TENN3R said:
Decompiling an apk requires Apktool.
You need first to install your framework res using "apktool if framework-res.apk" (read on internet how to do this)
When you want to decompile the apk, you have to type "apktool d <apkname.apk>" so you'll get the folder.
Recompiling is "apktool b <decompiled folder name>" and maybe you need to sign the apk after that.
So, is not a super easy process, I think you need to understand better how to do it reading some posts on xda like this one.
Good luck :good:
Click to expand...
Click to collapse
Thanks for the reply. And I have used APK tool to decompile now as I'm not half asleep messing around I have done a bunch of reading. I have found the files needed to modify and have modified them. Then in the process of the Recompiling I get nothing but errors. (obviously figuring this is me I tested my theory)
If I decompile with apk tool (up to date 2.3.1 and Java 1.8.0) and do not touch the file it still will not recompile. It comes with errors. Now this may be because of framework issues, but in my reading I had found that framework was built into the new apktool? Is that not the case? I will continue reading and I appreciate your reply to me.
Thank you and here is a copy of my log.
Microsoft Windows [Version 10.0.16299.309]
(c) 2017 Microsoft Corporation. All rights reserved.
C:\Users\Jarvis\Desktop\APK Tool>java -jar apktool.jar if framework-res.apk
S: WARNING: Could not write to (C:\Users\Jarvis\AppData\Local\apktool\framework), using C:\Users\Jarvis\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Framework installed to: C:\Users\Jarvis\AppData\Local\Temp\1.apk
C:\Users\Jarvis\Desktop\APK Tool>java -jar apktool.jar d com.google.android.inputmethod.latin_7.0.8.188704572
Input file (com.google.android.inputmethod.latin_7.0.8.188704572) was not found or was not readable.
C:\Users\Jarvis\Desktop\APK Tool>java -jar apktool.jar d com.google.android.inputmethod.latin_7.0.8.188704572.apk
I: Using Apktool 2.3.1 on com.google.android.inputmethod.latin_7.0.8.188704572.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (C:\Users\Jarvis\AppData\Local\apktool\framework), using C:\Users\Jarvis\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: C:\Users\Jarvis\AppData\Local\Temp\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
C:\Users\Jarvis\Desktop\APK Tool>java -jar apktool.jar b com.google.android.inputmethod.latin_7.0.8.188704572
I: Using Apktool 2.3.1
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
S: WARNING: Could not write to (C:\Users\Jarvis\AppData\Local\apktool\framework), using C:\Users\Jarvis\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\layout-v21\language_list_entry.xml:4: error: No resource identifier found for attribute 'buttonTint' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\layout-v21\language_picker_item.xml:4: error: No resource identifier found for attribute 'buttonTint' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\layout-v21\theme_selector_candidate_builder_launcher.xml:2: error: No resource identifier found for attribute 'outlineProvider' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\animator\slide_search_candidate.xml:2: error: Error: String types not allowed (at 'valueFrom' with value '0f').
W:
Exception in thread "main" W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\animator\slide_search_candidate.xml:2: error: Error: String types not allowed (at 'valueTo' with value '1f').
W:
brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\Jarvis\AppData\Local\Temp\brut_util_Jar_2642557352166116402.tmp, p, --forced-package-id, 127, --min-sdk-version, 17, --target-sdk-version, 27, --version-code, 26700810, --version-name, 7.0.8.188704572-release-arm64-v8a, --no-version-vectors, -F, C:\Users\Jarvis\AppData\Local\Temp\APKTOOL629891987092943402.tmp, -0, arsc, -0, META-INF/services/com.fasterxml.jackson.core.JsonFactory, -0, META-INF/services/com.google.protobuf.GeneratedExtensionRegistryLoader, -0, zip, -0, binarypb, -0, so, -0, pic, -0, dict, -0, json, -0, arsc, -I, C:\Users\Jarvis\AppData\Local\Temp\1.apk, -S, C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res, -M, C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:492)
at brut.androlib.Androlib.buildResources(Androlib.java:426)
at brut.androlib.Androlib.build(Androlib.java:305)
at brut.androlib.Androlib.build(Androlib.java:270)
at brut.apktool.Main.cmdBuild(Main.java:227)
at brut.apktool.Main.main(Main.java:75)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\Jarvis\AppData\Local\Temp\brut_util_Jar_2642557352166116402.tmp, p, --forced-package-id, 127, --min-sdk-version, 17, --target-sdk-version, 27, --version-code, 26700810, --version-name, 7.0.8.188704572-release-arm64-v8a, --no-version-vectors, -F, C:\Users\Jarvis\AppData\Local\Temp\APKTOOL629891987092943402.tmp, -0, arsc, -0, META-INF/services/com.fasterxml.jackson.core.JsonFactory, -0, META-INF/services/com.google.protobuf.GeneratedExtensionRegistryLoader, -0, zip, -0, binarypb, -0, so, -0, pic, -0, dict, -0, json, -0, arsc, -I, C:\Users\Jarvis\AppData\Local\Temp\1.apk, -S, C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res, -M, C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:456)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:478)
... 5 more
Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\Jarvis\AppData\Local\Temp\brut_util_Jar_2642557352166116402.tmp, p, --forced-package-id, 127, --min-sdk-version, 17, --target-sdk-version, 27, --version-code, 26700810, --version-name, 7.0.8.188704572-release-arm64-v8a, --no-version-vectors, -F, C:\Users\Jarvis\AppData\Local\Temp\APKTOOL629891987092943402.tmp, -0, arsc, -0, META-INF/services/com.fasterxml.jackson.core.JsonFactory, -0, META-INF/services/com.google.protobuf.GeneratedExtensionRegistryLoader, -0, zip, -0, binarypb, -0, so, -0, pic, -0, dict, -0, json, -0, arsc, -I, C:\Users\Jarvis\AppData\Local\Temp\1.apk, -S, C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res, -M, C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:95)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:450)
... 6 more
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\xml-v22\method.xml:129: error: No resource identifier found for attribute 'languageTag' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\xml-v23\method.xml:131: error: No resource identifier found for attribute 'languageTag' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\xml-v26\method.xml:131: error: No resource identifier found for attribute 'languageTag' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable-v21\abc_ratingbar_indicator_material.xml:7: error: No resource identifier found for attribute 'tileModeX' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable-v21\abc_ratingbar_material.xml:7: error: No resource identifier found for attribute 'tileModeX' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable-v21\abc_ratingbar_small_material.xml:7: error: No resource identifier found for attribute 'tileModeX' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable\abc_vector_test.xml:4: error: No resource identifier found for attribute 'fillColor' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable-v21\bg_ja_key_slide_left_material_dark_theme.xml:4: error: No resource identifier found for attribute 'fillColor' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable-v21\bg_ja_key_slide_up_material_dark_theme.xml:4: error: No resource identifier found for attribute 'fillColor' in package 'android'
W:
W: C:\Users\Jarvis\Desktop\APK Tool\com.google.android.inputmethod.latin_7.0.8.188704572\res\drawable\drag_handle.xml:4: error: No resource identifier found for attribute 'fillColor' in package 'android'
W:
C:\Users\Jarvis\Desktop\APK Tool>
Try put apktool folder directly in C:\
backup/download your framework-res.apk file and put it in the apktool folder
remove the previous one (usually in C:\Users\YourName\apktool\framework\1.apk)
browse to c:\apktool folder with cmd and install the framework (apktool if)
decompile (remember .apk at the end)
edit
try recompile
Also note that in the guide it's not used "java -jar apktool.jar d blabla.apk"
Just browse with cmd in the folder and type "apktool d blabla.apk"
Or, search for the error in specific threads, since I think it's not related to apktool, but something on the commands used.
Framework
TENN3R said:
Try put apktool folder directly in C:\
backup/download your framework-res.apk file and put it in the apktool folder
remove the previous one (usually in C:\Users\YourName\apktool\framework\1.apk)
browse to c:\apktool folder with cmd and install the framework (apktool if)
decompile (remember .apk at the end)
edit
try recompile
Also note that in the guide it's not used "java -jar apktool.jar d blabla.apk"
Just browse with cmd in the folder and type "apktool d blabla.apk"
Or, search for the error in specific threads, since I think it's not related to apktool, but something on the commands used.
Click to expand...
Click to collapse
Maybe that is where I'm lost. I have read the apktool framework page (info) and I'm not sure how to find the specific framework I'm looking for? In the mean time I will move to C:/ and try again
thank you
S52Stu said:
Maybe that is where I'm lost. I have read the apktool framework page (info) and I'm not sure how to find the specific framework I'm looking for?
Click to expand...
Click to collapse
The framework res is the file in your phone.
From the official documentation: you need that if you want to decompile proprietary stuff, google keyboard *should not* need this, also because your previous decompilation was succesful, the problem was recompiling.
I always install the framework on every update that comes just to be sure with decompiling things etc, but for now I think you can skip this. But if you're experiencing problems try read that post
TENN3R said:
The framework res is the file in your phone.
From the official documentation: you need that if you want to decompile proprietary stuff, google keyboard *should not* need this, also because your previous decompilation was succesful, the problem was recompiling.
I always install the framework on every update that comes just to be sure with decompiling things etc, but for now I think you can skip this. But if you're experiencing problems try read that post
Click to expand...
Click to collapse
Tenn3r - I have read that and figured the same thing you were saying. I will pull the framework from my phone - but as it should be AOSP I dont think I would need it.
The main reason I was using Java -jar is because it gave me actual prompts like when something was happening. When you dont use it you get this...
Microsoft Windows [Version 10.0.16299.309]
(c) 2017 Microsoft Corporation. All rights reserved.
C:\APK Tool>apktool.jar if com.google.android.gsf_8.1.0-27_minAPI27(nodpi)_apkmirror.com.apk
C:\APK Tool>apktool.jar d com.google.android.inputmethod.latin_7.0.8.188704572.apk
C:\APK Tool>apktool.jar b com.google.android.inputmethod.latin_7.0.8.188704572
C:\APK Tool>
I have spent entirely too long on a Saturday messing around with this and getting no where simply because I want my keyboard to be a little higher
I have to go do some yard work and stop looking at my computer for a little. But I'll be back at it later. Again thank you for humoring me. It is appreciated.
Ok I had some time so I modified the apk for you: download here
I start thinking the problem could be how you set the files of apktool, since at the very beginning I had some problems too.
So I share with you my apktool folder: download here
Extract those files in "C:\Apktool"
Create shortcut of ApktoolStart.bat on desktop (so you just have to double click on the shortcut)
Type commands "apktool blabla" (no more need of "apktool.jar bla bla")
The txt file is the command you need to execute AFTER you build the apk (will be in "decompiled-folder/dist"), for signing, otherwise install error when try to install on your phone.
For more details visit the tutorial I mentioned some posts before.
P.S: I did not test the apk, so in case of errors you may have to uninstall updates in settings > gboard
Thank you!! I'm gonna try to build it again as my reference but you went above and beyond and I appreciate it!
TENN3R said:
Ok I had some time so I modified the apk for you: download here
I start thinking the problem could be how you set the files of apktool, since at the very beginning I had some problems too.
So I share with you my apktool folder: download here
Extract those files in "C:\Apktool"
Create shortcut of ApktoolStart.bat on desktop (so you just have to double click on the shortcut)
Type commands "apktool blabla" (no more need of "apktool.jar bla bla")
The txt file is the command you need to execute AFTER you build the apk (will be in "decompiled-folder/dist"), for signing, otherwise install error when try to install on your phone.
For more details visit the tutorial I mentioned some posts before.
P.S: I did not test the apk, so in case of errors you may have to uninstall updates in settings > gboard
Click to expand...
Click to collapse
Any way you could share the apk again? I've tried modifying it myself but just can't seem to get it.
GBoard now supports a floating keyboard: Link. Just skip to the Floating Keyboard section and enable it. No mucking around, it works on top of your apps, and you can position it anywhere on your screen. You can also resize it to whatever you want.
amartolos said:
GBoard now supports a floating keyboard: Link. Just skip to the Floating Keyboard section and enable it. No mucking around, it works on top of your apps, and you can position it anywhere on your screen. You can also resize it to whatever you want.
Click to expand...
Click to collapse
Thanks for the info. Although it looks like there is an upper limit of how large you can make the keyboard, and that upper limit is actually smaller than when the keyboard is docked. Am I doing something wrong? In the screenshots, it looks like you can stretch it to as large as you want.
joshua1892 said:
Thanks for the info. Although it looks like there is an upper limit of how large you can make the keyboard, and that upper limit is actually smaller than when the keyboard is docked. Am I doing something wrong? In the screenshots, it looks like you can stretch it to as large as you want.
Click to expand...
Click to collapse
I was also under that impression, although personally prefer smaller keyboards so I guess I never pushed the upper bounds. Looks like there is indeed a max limit, and it's roughly the size of the docked one-handed mode. Doh...