[TOOL][WINDOWS][.PNG][.9.PNG] Android Drawable Resizer Tool - Android Software Development

[TOOL] Android Drawable Resizer Tool
Hi!
Can you count how many times you created a drawable for your app?
The answer is probably NO.
You opened your favorite image-editing software, designed a beautiful drawable, saved, and now of course, there's the simple but annoying thing, of resizing the drawable to fit every density.
No more! Android Drawable Resizer, replaces you in the last annoying part.
All you have to do, is to choose a drawable, tell the software which density does it belong to, choose the the res folder, and press Go!. The software will know how and where to place each resized drawable, with the correct name.
Requirements:
If you don't have a .NET Framework installed, download and install this:
http://msdn.microsoft.com/en-us/vstudio/aa496123
Instructions:
1. Download the zip file.
2. Extract it including the .dll file.
3. Run the .exe file.
*Note: Both files need to be in the same place in order to activate the program!
4. Choose the source drawable density
5. Choose the drawable you want to resize
6. Choose which densities you want to export to
7. Choose the destination folder. The program will create a folder for each density selected (if the folder doesn't exist), and then insert the resized drawables to their right place
8. Press Go!
9. Enjoy!
10. Hit the Thanks button, or even donate for my work
Current Version: 1.1.3.0
From XDA: View attachment 1904989
Or from dev-host - Here
Screenshot:
{
"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"
}
To do:
--->Change the selected drawables gallery (If you know of a free control for that, please P.M me) In progress
--->Adding the abillity to decompile-->resize-->recompile .9.png files In progress
--->Translation to more languages Not in the next version
Credits:
--->ComponentFactory Krypton 4.4.0 great .NET library

R: [TOOL] Android Drawable Resizer Tool
Yeah what i need for my app mods!!

Is this tool cannot be run on windows xp?

Changelog:
Version 1.1.3.0
[+]Fixed all known bugs
[+]Added xxhdpi density
Version 1.1.2.3
[+]Fixed bug of pictures being resized from a wrong size in some circumstances.
Version 1.1.2.2
[+]Solved the exception thrown when the server CPU limit was reached
[--]Replaced the drawables gallery because I didn't know the previous one is not free. Sorry!
Version 1.1.2.1
[+]Added multiple-choice exporting
[+]Changed manual mode behavior
[+]Added in-app update, so you won't need to download each version from xda
[+]Application crash problem fixed.
Version 1.1.1.0
[+] Added .9.png files support
[--] Removed support for jpg , gif , bmp files. Maybe will return in the future.
Version 1.1.0.0
Initial Release

can v somehow resize .9.png files ?
and one more question
i am making an app everything is fine ,but if i use this app in other phones the ui remains the same size
is there any way to change height and width in xml ,all at same time ,
thanks in advance
Sent from my MI355 using Xparent Cyan Tapatalk 2

Need framewoek 3 or 3.5?

rjunraj said:
can v somehow resize .9.png files ?
and one more question
i am making an app everything is fine ,but if i use this app in other phones the ui remains the same size
is there any way to change height and width in xml ,all at same time ,
thanks in advance
Sent from my MI355 using Xparent Cyan Tapatalk 2
Click to expand...
Click to collapse
Yes, I have just created a new version that supports .9.png files.
As for your second question, you shouldn't hardcode sizes in the layout file. You should use different drawables for each density.
You can use my application to do this easily, but you should also read this entry in the android API guides:
Supporting Multiple Screens
GEKTHEBOSS said:
Need framewoek 3 or 3.5?
Click to expand...
Click to collapse
Need framework 2

GREAT!
Great work! Best thing is .9 png support. Very good...
I will try it tomorrow..

Soon I will upload a version which supports automatic bug reporting. Please if the application crashes, send me the details

Let me know if you need more: CRASH DUMP (temp file)
Crashes when trying to run.
Code:
<Parameter8>System.IO.FileNotFoundException</Parameter8>
Thank you for your efforts on this handy tool.

santod040 said:
Let me know if you need more: CRASH DUMP (temp file)
Crashes when trying to run.
Code:
<Parameter8>System.IO.FileNotFoundException</Parameter8>
Thank you for your efforts on this handy tool.
Click to expand...
Click to collapse
Solved it, I was stupid enough to not include a dll file. :silly:
I uploaded a new version. The zip now contains two files.
Both files need to be in the same place in order to activate the program!

~RoN~ said:
Solved it, I was stupid enough to not include a dll file. :silly:
I uploaded a new version. The zip now contains two files.
Both files need to be in the same place in order to activate the program!
Click to expand...
Click to collapse
Thanks! Works now!
Much appreciated for the prompt response and fix.
Now if I may make a couple requests/suggestions.
It would be great to be able to choose multiple files(select all) when browsing for images to resize(for batch processing)
As it takes a while to do each one individually, but not as long as resizing manually, so that's a plus!
Maybe that is something I am overlooking on my end to enable that in that selection window.
Other thing I noticed was with the destination density:
I assumed that selecting a destination density would then give me that resolution as output.
I quickly found out, that was the opposite of how it works.
The density I chose was the only one not produced/resized, so essentially they are all enabled by default and the selection is to omit or remove a density from the process.
That's fine I suppose, just a little reverse of what I initially thought.
Maybe it would be better to only output the densities selected, I don't know, small detail I guess.
The last thing was that I noticed it tags each image name with it's density in the image name.
That requires a lot of renaming if doing many images.
Seems maybe if they output to relevant resolution folders, they would not have to be renamed at all.
Again, maybe this was my fault, due to using an output folder and not leaving it to do it's default thing, but I don't think that's the case.
Thanks again for your efforts on this.
I could see this becoming very useful, keep up the great work! :good:

santod040 said:
Thanks! Works now!
Much appreciated for the prompt response and fix.
Now if I may make a couple requests/suggestions.
It would be great to be able to choose multiple files(select all) when browsing for images to resize(for batch processing)
As it takes a while to do each one individually, but not as long as resizing manually, so that's a plus!
Maybe that is something I am overlooking on my end to enable that in that selection window.
Other thing I noticed was with the destination density:
I assumed that selecting a destination density would then give me that resolution as output.
I quickly found out, that was the opposite of how it works.
The density I chose was the only one not produced/resized, so essentially they are all enabled by default and the selection is to omit or remove a density from the process.
That's fine I suppose, just a little reverse of what I initially thought.
Maybe it would be better to only output the densities selected, I don't know, small detail I guess.
The last thing was that I noticed it tags each image name with it's density in the image name.
That requires a lot of renaming if doing many images.
Seems maybe if they output to relevant resolution folders, they would not have to be renamed at all.
Again, maybe this was my fault, due to using an output folder and not leaving it to do it's default thing, but I don't think that's the case.
Thanks again for your efforts on this.
I could see this becoming very useful, keep up the great work! :good:
Click to expand...
Click to collapse
First, I'm glad it now works.
Second, Thank you for the suggestions. About the multi-select, it have been in my to-do list since the beginning.
About the images renaming, you are absolutely right, especially after multi-select will be supported...
I am starting to work on that right now. Probably tomorrow there will be new version:fingers-crossed:
Update: I am almost done, and it looks really good :victory:

~RoN~ said:
First, I'm glad it now works.
Second, Thank you for the suggestions. About the multi-select, it have been in my to-do list since the beginning.
About the images renaming, you are absolutely right, especially after multi-select will be supported...
I am starting to work on that right now. Probably tomorrow there will be new version:fingers-crossed:
Update: I am almost done, and it looks really good :victory:
Click to expand...
Click to collapse
Keep up the great work!
Already a very useful tool, and is headed towards becoming really great! :good:
Don't stop and thanks again for the prompt response.

santod040 said:
Keep up the great work!
Already a very useful tool, and is headed towards becoming really great! :good:
Don't stop and thanks again for the prompt response.
Click to expand...
Click to collapse
You can look at my progress in the first page in the To-Do section.
I am currently testing the new features, and already working on new ones
Update: I finished the version. Many features added!

Sweet... This should help out tons... Especially for this new app I'm making! Thanks for sharing!
Sent from my Nexus S 4G using Tapatalk 2

thanks a bunch needed something like this to help transfer my s3/n2 theming into my note 10.1 rom this seems like it will be perfect for the job any chance of a linux version in the future? if not no biggie thats what vm's are for

Thank you so much! Finally!!!

Looks awesome! Good work! That being said, you should probably be careful distributing the ComponentFactory.Krypton.Ribbon.dll because it's not free and you use it's KryptonGallery control... But I'm not judging lol. Just be careful!
Also, I think you should put in some exception handling for your updating. Your web host's server's CPU limit was reached and nothing can connect to it right now, thus throwing an ArgumentOutOfRangeException when it tries to parse the downloaded update info.
You could also check out my .NET updater tutorial on YouTube if you want to implement that into this project - HERE

A great app for developers! Would need this for a widget of mine ^^
Anyway, on startup, I received an error.
Length cannot be less than zero.
Parameter name: length
Code:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at Android_Drawables_Resizer.Main.wc_DownloadStringCompleted(Object sender, DownloadStringCompletedEventArgs e)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Android Drawables Resizer
Assembly Version: 1.1.2.1
Win32 Version: 1.1.2.1
CodeBase: file:///C:/Users/Administrator/Dropbox/android/Tools/Android_Drawable_Resizer_1.1.2.1/Android%20Drawables%20Resizer.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5468 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
ComponentFactory.Krypton.Toolkit
Assembly Version: 4.4.0.0
Win32 Version: 4.4.0.0
CodeBase: file:///C:/Users/Administrator/Dropbox/android/Tools/Android_Drawable_Resizer_1.1.2.1/ComponentFactory.Krypton.Toolkit.DLL
----------------------------------------
ComponentFactory.Krypton.Ribbon
Assembly Version: 4.4.0.0
Win32 Version: 4.4.0.0
CodeBase: file:///C:/Users/Administrator/Dropbox/android/Tools/Android_Drawable_Resizer_1.1.2.1/ComponentFactory.Krypton.Ribbon.DLL
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Related

[SOLVED] Warning!!! Found Module duplicate on Module...

Hi, to save me writing out my problem again, I'll copy across my 2 posts from a different thread, the second one has all the previous answers in quotes:
All old posts will be in quotes to make the post more tidy
Hey, when building my rom it takes about 1 minute, the resulting nbh is onl 6mb and when I checked the build log, it says xip.bin was not found, even though it is clearly there in ROM\LEO... any ideas whats happening? Ive just built the kitchen, I used 2.10 TMOUS Leo rom as a dump base and have just ported thr 23554 SYS. Anyone got any ideas on my problem? Thanks in advance
Click to expand...
Click to collapse
Staxxthedan said:
Looks like your platformbuilder is not processing correctly when it initiates it should show something like this:
I am assuming you have the .Netframework installed? it seems like a tools issue rather than folder structure however....Also ensure you have the Real 6.5 Aku checked in your kitchen and run as admin.
Just to be sure, folder structure is like:
OEM: Your kitchen folder\OEM\Leo and then inside (O409 + COMMON)
SYS: Your kitchen folder\SYS\Build # and then inside (dpi_192+ dpi_192_resh_400_resh_800 + SHARED) and then each one has 0409 +COMMON inside) since you imported then I assume this is in order again.
If all fails I sugest you try the ones uploaded on first page by Sparkienl
Click to expand...
Click to collapse
Laurentius26 said:
Hi,
I would say it's a problem with buildrom.bat, wrong path.
Did you check that?
You say ROM\LEO but but most kitchens use default ROM\XIP if I'm not mistaking.
Click to expand...
Click to collapse
Staxxthedan said:
AVK uses ROM/LEO then Build # inside you have OEMXipKernel,
and then ROM/SHARED then Build # inside you have MSXIPKernel
and I don't think its Build ROM.bat as Build ROM.bat won't do him any good if Platformbuilder didn't do what it was supposed to do. Check your Dump how big is it? I upload some of my tools in EVK,overide yours and try, well just in case
and one more thing put the required ROM update utility in Release Leo folder, Bepe's I guess....hope that sorts you out.
Click to expand...
Click to collapse
Ok well I think I may have worked out that it is in actual fact something to do with my own pc, my good friend bobsbbq has been helping me and he sent me a working EVK kitchen that he made the other night, and I also had problems with this, same issues, lots of duplicate modules followed by a runtime error. That was when I say using the 23554 SYS and XIP, however I opened up one of his older rom saves which the SYS and XIP was 21889 and started to build, at the moment I havent had any problems, its currently on platform rebuilder. So this leads me to believe that there is some problem with the XIP or SYS build and my pc (it cant be the structure of the folders as it worked for bob). I originally was using OSKitchen and there is a kitchen in the same directory as my new EVK one, could that be causing some conflicts? I will delete it and try it again after this build has finished successfully, I dont see why it would though as it is an older SYS and XIP, also there seems to be the files for the custom ruu in the same directory, I dont know where they came from, but I will delete them.. also just looking again theres an old evk kitchen in there too (way to cluttered lol)
..........
Ok the kitchen has just finished succesfully building a rom with XIP and SYS set to 21889.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
now Im going to try with just the SYS set to 23554 and the XIP left at 21889
Ok thats giving me the
Warning!!! Found Module duplicate on Module... error,
Also Im getting the
unhandled exception has occured in a component in your application
errror
Details:
Code:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Collections.Generic.List`1.set_Capacity(Int32 value)
at System.Collections.Generic.List`1.EnsureCapacity(Int32 min)
at HSJ9GuSvLoWix.AOAQs.�ex�s0���sl(String , Boolean , Boolean , Boolean , Boolean , Boolean )
at HSJ9GuSvLoWix.AOAQs.�om(0�)p(String , Boolean , Boolean )
at HSJ9GuSvLoWix.AOAQs.�x�hy(Boolean , Boolean )
at HSJ9GuSvLoWix.AOAQs.�2�i��yl()
at HSJ9GuSvLoWix.AOAQs.�0ah���wph(Object , EventArgs )
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ezencryption_lib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_32/mscorlib/2.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
License
Assembly Version: 1.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_32/mscorlib/2.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
erviuskitchen
Assembly Version: 1.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_32/mscorlib/2.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
now I will try 21889 SYS and 23554 XIP
That also worked, the rom has been created succesfully, so now I can decide it is something to do with having selected the 23554 SYS, but its not mine in particular because remember this is the working kitchen that bob sent me..
Click to expand...
Click to collapse
Thanks in advance for your help
A module isn't that hard, check the modules that are overwritten and remove the duplicates.
Laurentius26 said:
A module isn't that hard, check the modules that are overwritten and remove the duplicates.
Click to expand...
Click to collapse
I don't know what you mean, I am still very new to cooking laurentis
Ok I will try to explain.
For example in your kitchen\EXT you have packages, look inside of them please.
A module you recognise because it looks like a map with an extension and you can open it.
For example:
yourmodule.dll
So if you run buildrom.bat it will open a command window and shows you a list what's happening.
(I believe in Ervius kitchen the CMD window isn't activated by default but you have an option
to select and view during buildrom.bat, not sure about that as I'm not using a visual kitchen.)
If you follow the process you will notice it's overwriting files (the overwritten modules causing the error).
If you remember the names you do a search in your kitchen to the files it's overwriting.
[★] said:
I don't know what you mean, I am still very new to cooking laurentis
Click to expand...
Click to collapse
Hmm I will have to look into that with the help of bob it is over my head But remeber the fact that it worked on his pc, but not mine
Laurentius26 said:
Ok I will try to explain.
For example in your kitchen\EXT you have packages, look inside of them please.
A module you recognise because it looks like a map with an extension and you can open it.
For example:
yourmodule.dll
So if you run buildrom.bat it will open a command window and shows you a list what's happening.
(I believe in Ervius kitchen the CMD window isn't activated by default but you have an option
to select and view during buildrom.bat, not sure about that as I'm not using a visual kitchen.)
If you follow the process you will notice it's overwriting files (the overwritten modules causing the error).
If you remember the names you do a search in your kitchen to the files it's overwriting.
Click to expand...
Click to collapse
Sometimes EVk doesnt like file or module to be overwritten. Check your buildlog to see what is causing error, and remove that specific dll or module.
[★] said:
Hmm I will have to look into that with the help of bob it is over my head But remeber the fact that it worked on his pc, but not mine
Click to expand...
Click to collapse
has happeed to me a few times.do this.open ur that sys built which worked perfectly for u.now the built which is giving pain to u and to ur kitchen
in two seperate windows compare SYS/SHARED/COMMON...check each folder only in both the sys,and find out the doubble files or folders...i guess it can be 3 FOLDERS in the COMMON in the first row and check OS files and OS modules too....if u used a roll up....this could have happened...
regards
Laurentius26 said:
A module isn't that hard, check the modules that are overwritten and remove the duplicates.
Click to expand...
Click to collapse
There are no duplicates modules. I made the kitchen and checked all of them myself. It is strange that he is getting this duplicate modules and the xip.bin is not being copied to the Temp folder. When the xip.bin is not found the platform rebuilder errors and then the kitchen stops.
I wonder if there is a permision problem with the PC? Not letting some of the tools run properly?
bobsbbq said:
There are no duplicates modules. I made the kitchen and checked all of them myself. It is strange that he is getting this duplicate modules and the xip.bin is not being copied to the Temp folder. When the xip.bin is not found the platform rebuilder errors and then the kitchen stops.
I wonder if there is a permision problem with the PC? Not letting some of the tools run properly?
Click to expand...
Click to collapse
in case there r no duplicate modules....i will suggest to reinstall netcf on his pc,sometimes it works
Good idea you hear that star? Reinstall .net framework
Ok we found the issue. There were 2 Wince.nls files. Also somehow there was OEMDrivers in the SYS\SHARED\COMMON
Working now
good to know that
Cool you worked that out, congrats.
Laurentius26 said:
Cool you worked that out, congrats.
Click to expand...
Click to collapse
Yeah thankyou bob, your an excellent teacher
Cheers mate, good luck.
[★] said:
Yeah thankyou bob, your an excellent teacher
Click to expand...
Click to collapse
Laurentius26 said:
Cheers mate, good luck.
Click to expand...
Click to collapse
Im hoping to release my first rom before 1000 posts

Calling all kitchen makers

This is an idea for airextreme, ondraster... etc and all the current kitchen makers. I'm in the process of trying to setup a 1 Gb RAMDrive for platformrebuilder to use to dump the gazillion files used in ROM cooking, to try to cut down on the hard drive fragmenting and gain quite a bit of speed too in the process. Looks like I might have to use symbolic links, since I doubt PRB supports \TEMP to a different drive. If the other tools (like imgstofs, libnb.. etc) could also use this method, I think we'd have some pretty fast kitchens!
So... any thoughts on this ?
Well I just tried it with the "Romex Software" RAMdrive (free software) and it friggin flies! I've already got an SSD and that's where my kitchen resides, but now that it sits on a ramdrive, it's at least 10-20 times quicker.
Sounds interesting. How long did it take to go from pressing the build button to generating the nbh? OSBuilder by Barin (not platform rebuilder based, but still copies files once) makes a ROM in about 2 minutes from start to finish (623 modules and 7103 files).
mwalt2 said:
Sounds interesting. How long did it take to go from pressing the build button to generating the nbh? OSBuilder by Barin (not platform rebuilder based, but still copies files once) makes a ROM in about 2 minutes from start to finish (623 modules and 7103 files).
Click to expand...
Click to collapse
I made a FULL Cookie 6.5.X Leo ROM in about 40 seconds. This is on a Core2Duo Dell laptop running at 2.7Ghz...
Just made a Titanium ROM in about 28 seconds... There's definitely some improvement here. For a guy like me that makes a metric ton of ROMs, this can certainly be helpful, but it doesn't mean all kitchens can't benefit from this
I know of possibility of using RAMdisk, I used to have full kitchen set up on my ramdisk and have cooked ROM (XPR) with TF3D in about 30 secs from clicking on "build_rom.bat" file.
I think airxtreme is (partially) working on (partial) removation of whole prb, so he might include support for ramdisk and file caching. Let him speak! lol
OndraSter said:
I know of possibility of using RAMdisk, I used to have full kitchen set up on my ramdisk and have cooked ROM (XPR) with TF3D in about 30 secs from clicking on "build_rom.bat" file.
I think airxtreme is (partially) working on (partial) removation of whole prb, so he might include support for ramdisk and file caching. Let him speak! lol
Click to expand...
Click to collapse
I realize now that this might not be for the everyday chef that makes one or two ROMs. However, if you brilliant programmers can find an easy, seamless way to swap everything to RAM, I think the kitchens will get much quicker. I know mine has and every seconds counts for me, when you make hundreds of ROMs. Hehe Now if I could get rid of the biggest bottleneck, compressing the nbh with 7zip, I'd be in heaven. But for that.. I need more processing power unfortunately.
NRGZ28 said:
I realize now that this might not be for the everyday chef that makes one or two ROMs. However, if you brilliant programmers can find an easy, seamless way to swap everything to RAM, I think the kitchens will get much quicker. I know mine has and every seconds counts for me, when you make hundreds of ROMs. Hehe Now if I could get rid of the biggest bottleneck, compressing the nbh with 7zip, I'd be in heaven. But for that.. I need more processing power unfortunately.
Click to expand...
Click to collapse
Even as an amateur cook-in-training, having faster cooking time means being able to test small changes quickly. Instead of making multiple changes, testing and then finding out which change didn't work out.
For the time being I'm definitely going to try using a ram drive. Well, that's as soon as I finish sorting out my packages which seems to need a couple of days
NRGZ28 said:
This is an idea for airextreme, ondraster... etc and all the current kitchen makers. I'm in the process of trying to setup a 1 Gb RAMDrive for platformrebuilder to use to dump the gazillion files used in ROM cooking, to try to cut down on the hard drive fragmenting and gain quite a bit of speed too in the process. Looks like I might have to use symbolic links, since I doubt PRB supports \TEMP to a different drive. If the other tools (like imgstofs, libnb.. etc) could also use this method, I think we'd have some pretty fast kitchens!
So... any thoughts on this ?
Click to expand...
Click to collapse
It's already in there:
{
"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"
}
airxtreme said:
It's already in there:
Click to expand...
Click to collapse
Okay... well then it seems you thought of it. How about PRB's temp\dump folder... does that go to your RAMDRIVE mode as well ?
NRGZ28 said:
Okay... well then it seems you thought of it. How about PRB's temp\dump folder... does that go to your RAMDRIVE mode as well ?
Click to expand...
Click to collapse
Everything is done in the temp folder even the platformrebuilder stuff
mwalt2 said:
Sounds interesting. How long did it take to go from pressing the build button to generating the nbh? OSBuilder by Barin (not platform rebuilder based, but still copies files once) makes a ROM in about 2 minutes from start to finish (623 modules and 7103 files).
Click to expand...
Click to collapse
Well, i redirected Temp folder to RamDisk and i like results very much
Code:
-------------------- TIMING ------------------------
Porting/Rebuilding XIP 00:00:01
Correcting template 00:00:00
Preprocessing 00:00:01
Registry 00:00:09
Metadata 00:00:00
Copying files 00:00:08
Postprocessing 00:00:00
Relocating/Writing modules 00:00:03
Merging/Writing dsm 00:00:02
Building IMGFS partition file 00:00:15
Building ROM file 00:00:12
Net time 00:00:56
Total time 00:01:02
----------------------------------------------------
PACKAGES 418
MODULES 621
FILES 8328
----------------------------------------------------
And also i'll try to reduce registry processing time....
-=Barin=- said:
Well, i redirected Temp folder to RamDisk and i like results very much
Code:
-------------------- TIMING ------------------------
Porting/Rebuilding XIP 00:00:01
Correcting template 00:00:00
Preprocessing 00:00:01
Registry 00:00:09
Metadata 00:00:00
Copying files 00:00:08
Postprocessing 00:00:00
Relocating/Writing modules 00:00:03
Merging/Writing dsm 00:00:02
Building IMGFS partition file 00:00:15
Building ROM file 00:00:12
Net time 00:00:56
Total time 00:01:02
----------------------------------------------------
PACKAGES 418
MODULES 621
FILES 8328
----------------------------------------------------
And also i'll try to reduce registry processing time....
Click to expand...
Click to collapse
Yep. A noticeable improvement for me as well. I use the VSuite Ramdisk application myself. I tried a few and that one seems to be the fastest. I recommend a 1500 MB disk. I had 1000 before and ran into issues with "out of disk space" errors. Of course, the current ROM building tools dont actually TELL YOU they're running out of space, they just crash or give you weird errors. LOL
NRGZ28 said:
Yep. A noticeable improvement for me as well. I use the VSuite Ramdisk application myself. I tried a few and that one seems to be the fastest. I recommend a 1500 MB disk. I had 1000 before and ran into issues with "out of disk space" errors. Of course, the current ROM building tools dont actually TELL YOU they're running out of space, they just crash or give you weird errors. LOL
Click to expand...
Click to collapse
I use SuperSpeed RamDisk Plus on Win7 x64. For me it's enough 1024Mb because only Temp kitchen folder is redirected to ram disk - i tried to rebuild HD2 stock rom with all packages selected
-=Barin=- said:
I use SuperSpeed RamDisk Plus on Win7 x64. For me it's enough 1024Mb because only Temp kitchen folder is redirected to ram disk - i tried to rebuild stock rom with all packages selected
Click to expand...
Click to collapse
Yeah for me, I ran into problems building larger ROMs such as a ROM for the HD2. With 1000, I had to delete the new imgfs.bin right after it gets merged into the .payload, otherwise when nbmerge runs to create the .nb, it crashes. But now with 1,500 it's better. Now I just have to watch out for PRB not to crash, due to low RAM.
-=Barin=- said:
I use SuperSpeed RamDisk Plus on Win7 x64. For me it's enough 1024Mb because only Temp kitchen folder is redirected to ram disk - i tried to rebuild HD2 stock rom with all packages selected
Click to expand...
Click to collapse
NRGZ28 said:
Yeah for me, I ran into problems building larger ROMs such as a ROM for the HD2. With 1000, I had to delete the new imgfs.bin right after it gets merged into the .payload, otherwise when nbmerge runs to create the .nb, it crashes. But now with 1,500 it's better. Now I just have to watch out for PRB not to crash, due to low RAM.
Click to expand...
Click to collapse
I tried using Vsuite Ramdisk Professional with OSKitchen v1.32 beta 4 but the IMGFSFromDump tools crashed. If I don't select to use ramdisk, I can build without any problem. What settings do you use in Vsuite? I'm using 1536MB without selecting any of the other checkboxes. Tried using Scsi Disk and Direct IO Disk and both had errors.
airxtreme said:
It's already in there:
Click to expand...
Click to collapse
zard said:
I tried using Vsuite Ramdisk Professional with OSKitchen v1.32 beta 4 but the IMGFSFromDump tools crashed. If I don't select to use ramdisk, I can build without any problem. What settings do you use in Vsuite? I'm using 1536MB without selecting any of the other checkboxes. Tried using Scsi Disk and Direct IO Disk and both had errors.
Click to expand...
Click to collapse
I tried again with RamDisk Plus with OSKitchen v1.32 beta 4 and got the same error. See the error message and settings I used for OSKitchen. Note that with beta 4, it highlights problematic packages and I had corrected them before building a rom. Without using ramdisk feature, I could build my rom. I've also tried disabling everything in EXT but the same error happens.
zard said:
I tried again with RamDisk Plus with OSKitchen v1.32 beta 4 and got the same error. See the error message and settings I used for OSKitchen. Note that with beta 4, it highlights problematic packages and I had corrected them before building a rom. Without using ramdisk feature, I could build my rom. I've also tried disabling everything in EXT but the same error happens.
Click to expand...
Click to collapse
Maybe the problem is that you chose Q: instead of Q:\?
airxtreme said:
Maybe the problem is that you chose Q: instead of Q:\?
Click to expand...
Click to collapse
I'm using your "Browse" button to select drive Q, and it is showing as "Q:" after selecting. Taking your suggestion, I changed it to "Q:\" and clicked on "OK" button. When I clicked on Settings again to see if the new change had been saved, unfortunately, it was not. It showed as "Q:" again.
-=Barin=- said:
I use SuperSpeed RamDisk Plus on Win7 x64. For me it's enough 1024Mb because only Temp kitchen folder is redirected to ram disk - i tried to rebuild HD2 stock rom with all packages selected
Click to expand...
Click to collapse
If you want to save some space I can give you a imgfsfromdump version that deletes files/modules after adding them. I was also thinking about adding an input file list cache (to avoid having to copy the file in the dump folder and using the source file directly) and a compression cache since most files never change and the compression is done only on data and not on the stream as whole.
zard said:
I'm using your "Browse" button to select drive Q, and it is showing as "Q:" after selecting. Taking your suggestion, I changed it to "Q:\" and clicked on "OK" button. When I clicked on Settings again to see if the new change had been saved, unfortunately, it was not. It showed as "Q:" again.
Click to expand...
Click to collapse
No idea but it should work, the kitchen can work without issues on different drive letters. I'll see if it 's a drive path issue: a \ should be added in the path while from your error messages it looks like it wasn't.

◄ ▌ brainmaster´s Kitchen for Acer NeoTouch Version 1.2▐ ►

So, finally I am releasing my Kitchen. It was nice to be with all of you NeoTouch guys, and I am kind of sad that I am leaving the Acer Community as Kitchen Chef.
But there are others that can continue my work.
As I already told I wont have a time to answer all of your questions regarding my Kitchen. I will give you small Tutorial on how to cook and then you are on your own.
But you can find everything you need here on XDA Forum.
TUTORIAL:
​
My Kitchen is customized Kitchen that Stefano_1986_ already released.
The Kitchen is based on OSBuilder. Any questions that you have about how to use the OSBuilder can be answered here and here.
It is a Multi Kitchen - it contains Clean, Titanium GTX and all of the 5 Manila ROM, every ROM in 5 Languages - that means you can make 35 different ROM's with this Kitchen.
Its ziped and takes 500 MB, when extracted 1,03 GB. Sorry, but you need to download the whole package. First of all - use the latest 7zip for extracting, so you don't get any errors.
1. First install the .NET Framework 4 and then install the latest OSBuilder.
2. The Kitchen is configured for Clean and Titanium GTX ROM out of the box, if you want to cook a Manila ROM then first go to the extracted Kitchen folder and move all the files from the "____manila_ROM_move_everything_inside_this_folder_to_EXT_folder" to the EXT folder.
3. Go to the extracted Kitchen folder and double click on OSBuilder.osb to start the Kitchen.
4. Now choose from the configurations menu the "_Default_28244_Manila_Stock" configuration.
{
"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"
}
​
5. Choose the ROM language from the drop-down field: 0409 (English).
6. Now as you can see on the next photo, there are packages that are crossed out. That means that those packages wont be processed in the cooking procedure, only the 0409 and those without any language marks will be processed. This is how you can easily create Multi language ROM's by just switching the language in the drop-down field.
7. The next step is to start the cooking procedure with the green "play" button. You will have your ROM cooked in 3 minutes after you confirm few dialogs. The file is processed as flash.bin file in the "RELEASE" folder in your Kitchen.
8. As next, you need a extrom.bin file to complete your ROM. In the Kitchen folder you will find "___EXTROM_WWE" folder that contains cab files for Clean ROM and all the other ROM's. Copy the files from the "Normal" folder into the "EXTROM" folder in your Kitchen. In OSBuilder click on the "Tools" and then on "Build extrom.bin".
9. Now you have two files in your "RELEASE" folder: "flash.bin" and "extrom.bin". Extract the Flash ROM Basis.zip. There is a folder with the Basis for WWE ROM. Place the two cooked files in that folder and start the flashing procedure.
This was only a short Tutorial for my Kitchen. There is allot to explore. Many packages that I've created. And allot chances to blew the things out.
But, don't worry - if you fail flashing your ROM or you interrupt the flashing procedure, just put your Acer into the Bootloader mode and start again with the flashing procedure.
Here are the download links for my Kitchen:
Part 1. Part 2. Part 3. Part 4. Part 5. Part 6.
Flash ROM Basis
4Shared Mirror : password is as always "brainmaster"
Happy cooking!!! ​
Reserved 1.
Reserved 2.
Reserved 3.
Reserved 4.
The Kitchen is now online!
Finally the kitchen is online.... thx you so much dear Brainmaster, your are the S200 user who gave the most to the community. I spent the 2 last week to learn how to cook with osbuilder, and i know how long it takes to gather tweaks and package for cooking. This wil really help us to make great rom for our acer. Have fun with your HD2 and see you soon...
Can't download two last parts, 5&6, multiupload's page is empty. Is it because of limitation for free users, or smthn else?
dimamyth said:
Can't download two last parts, 5&6, multiupload's page is empty. Is it because of limitation for free users, or smthn else?
Click to expand...
Click to collapse
O.K. I will reupload them in couple of hours.
Brainmaster, thanks in advance. I'm using your beta ROM for last three months, and it's best firmware I even tried for S200. Is it built using this kitchen?
dimamyth said:
Brainmaster, thanks in advance. I'm using your beta ROM for last three months, and it's best firmware I even tried for S200. Is it built using this kitchen?
Click to expand...
Click to collapse
Yes this Kitchen is in fact the latest BETA ROM Kitchen.
Multiupload didn't accepted the last two files, so I had to re-upload all of the files to rapidshare.
If you already downloaded the files 1 - 4, you don't need to re-download them. Just download the 5th and 6th file and rename them so that you can extract the files without any problems (rapidshare is renaming the files automatically).
I will also make a mirror for the Kitchen on 4shared.com.
thanks a lot dude!!
definitely gonna use this kitchen and keep using s200 until acer releases a wp7 device (acer warranty is the best in my country)
The new OSBuilder is out.
AndrewSh said:
OS Builder V1.2.99 (19.02.2011)
1. Fixed package description window size (5 lines, 120 pxl)
2. Built-in HTC Splash Tool added - you can create Primary и Secondary boot Splash WVGA (480x800) in NB or NBH format. You can also extract image from NB splash. See Menu Tools -> Built-In.
3. Built-in HTC NBH Builder Tool added
– allows to create NBH file from NB files. You can import NBH header parameters from settings, registry or NBH file. Files and code sections are added and deleted using the context menu.
Sections, which should be included to NBH must be toggled in checkboxes. You also can save your settings in a separate file. See the menu Tools -> Built-In.
4. For HTC-LEO - in case when the date and time sync failed on first start - date and time of the ROM creation will be added.
5. Several improvements in assembly and merge dsm algorithm
6. Fixed a problem with new versions of Yandex-maps
7.The option RomConfirmOverwrite has been added to the section [OSBuilder] of configuration file. If the parameter = False, then the assembly of the ROM process does not display “Over-write?” dialogue (the file is automatically overwritten). By default, this option is True
8. Built-In Personal data generator tool is added
– see Additional Tools - Personalize. You can pre-enter owner name, Wi-Fi settings, mailboxes, VPN connections and favorites.
You can add, delete and change personal data by using the context menu.
Favorite links found in OEM provxml files are added automatically to the top list. Toggle correspondent checkbox if you want them to be added to Favorites. You can add your custom Favorites in the bottom list via context menu.
Personal data is stores in the root of OEM folder in the file Personal.dat. You can save it in menu File->Save to OEM.
To integrate your personal data to your custom rom you should go to Configuration Menu->Advanced Settings->Write Personal Data (toggle checkbox)
Full version:
9. Added the possibility to save personal data (paragraph 8) in a readable xml (provxml) file.
Keep in mind that not all data can be imported during provxml runtime.
P.S. Sorry for Russian screenshots
Click to expand...
Click to collapse
hello
Thanks again brainmaster for ur kitchen.i am going to make a rom with this kitchen.
hello
i got some erorr while making a rom with this kitchen.it showing erorr with default.hv and user. hv.please give me an advice what to do.
Getting a error by building a ROM with my settings, or have you added some of your packages?
Before building a ROM always use these two options from the additional tools menu: "Registry preview" and "Initflashfiles.dat preview". If there is something wrong with your packages - these options gonna show you which package it is.
If you do this every time before cooking ROM, you are gonna save some time.
brainmaster said:
Getting a error by building a ROM with my settings, or have you added some of your packages?
Before building a ROM always use these two options from the additional tools menu: "Registry preview" and "Initflashfiles.dat preview". If there is something wrong with your packages - these options gonna show you which package it is.
If you do this every time before cooking ROM, you are gonna save some time.
Click to expand...
Click to collapse
i did not added any pakages.got error from your settings.
ok. i will try again with your instruction.thank you for ur support.
hello
i have some problem with cht2.0.i could not modyfy the widget. any solutions?
CHT 2.0 is not part of my kitchen. You have to ask in the CHT 2.0 Thread.

[PC] DevHealthAnalyzer v2.0 and rpack

I've decided to post these tools here.
rpack - not a ResourcePacker, but the tool that can be used to remove useless sections from resource-only libraries making more memory available for applications.
Usage:
Make a backup of your kitchen
Drag&Drop your *.mui files to rpack.exe. Their size will be reduced.
Make sure you didn't kill USEFUL libraries.
Original thread
DevHealthAnalyzer - memory analysis utility. Can be used to determine the most memory-eating libraries. Then you can reversmod them (yes, reversmodded libraries reserve less ram than recmodded ones) or make r/w sections shared.
Screenshot:
{
"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"
}
From my experience - it looks like the most popular ROMs have the worst memory management
Original thread
v2.0 (15.05.11):
changed output file format (although, old files still can be opened)
more info
better UI
Download DevHealthAnalyzer v2.0
Great work ultrashot. The DevHealthAnalyzer looks nice. Is the DevHealth that is run on device the on from this thread?
mwalt2 said:
Great work ultrashot. The DevHealthAnalyzer looks nice. Is the DevHealth that is run on device the on from this thread?
Click to expand...
Click to collapse
Yes, it is totally the same. Thanks for pointing - I forgot to attach it to the first post.
Also, what is the significance of the blue, green, and white cells in the output? Does the exe column just show what the dll is tied to? I know next to nothing about this stuff , but it does look like there are some files loaded in slot0 that I should reversemod.
mwalt2 said:
Also, what is the significance of the blue, green, and white cells in the output? Does the exe column just show what the dll is tied to? I know next to nothing about this stuff , but it does look like there are some files loaded in slot0 that I should reversemod.
Click to expand...
Click to collapse
Blue means NULL - unused or reserved areas.
Green means that this memory block is from DumpMap.txt
White cell - from DevHealth log.
EXE column shows exes that use this library at the moment.
Main purpose of this app is that it lets you find which recmodded libraries waste 64 KBs of you slot 0 while they really need less RAM.
Thank you for sharing Ultrashot.
If I understand right I need to run Devhealth on the device but when I do I get a Netcf error.
I'm running Netcf version 3.5.9085.00
Laurentius26 said:
Thank you for sharing Ultrashot.
If I understand right I need to run Devhealth on the device but when I do I get a Netcf error.
I'm running Netcf version 3.5.9085.00
Click to expand...
Click to collapse
You should run devhealth.exe, not devhealthanalyzer.exe
Oh yeeh I didn't realise there where two exe, that's it, thanks again.
ultrashot said:
You should run devhealth.exe, not devhealthanalyzer.exe
Click to expand...
Click to collapse
Laurentius26 said:
Oh yeeh I didn't realise there where two exe, that's it, thanks again.
Click to expand...
Click to collapse
DevHealth is to dump memory map from the device and DevHealthAnalyzer is to Analyze the dumped data on pc.
Copy the text data from mem_X.txt into DevHealthAnalyzer.
@ultrashot; Thanks for the tool. Its very essential.
BTW; is it possible to analyze other slots also? i.e slot1, slot2, slot3 and etc ?
I know Dumpmem has this feature but its slight buggy or like, when used in newer OS cores since it was developed very long time ago for WM2002. Not sure how well it works on newer OS cores.
I guess DevHealth also provides data about other slots but it would be great to see in GUI tools like DevHealthAnalyzer.
Just a query. I'm not that expert in memory maps either.
Thanks...
Best Regards
CRACING said:
DevHealth is to dump memory map from the device and DevHealthAnalyzer is to Analyze the dumped data on pc.
Copy the text data from mem_X.txt into DevHealthAnalyzer.
@ultrashot; Thanks for the tool. Its very essential.
BTW; is it possible to analyze other slots also? i.e slot1, slot2, slot3 and etc ?
I know Dumpmem has this feature but its slight buggy or like, when used in newer OS cores since it was developed very long time ago for WM2002. Not sure how well it works on newer OS cores.
I guess DevHealth also provides data about other slots but it would be great to see in GUI tools like DevHealthAnalyzer.
Just a query. I'm not that expert in memory maps either.
Thanks...
Best Regards
Click to expand...
Click to collapse
In fact, DHA makes maps of all slots because there is no info about slot 0. Then it merges them.
If you create a map you can take a look at info about other processes, but I don't save it in a *.slotmap file as all other slots aren't so interesting.
ultrashot said:
In fact, DHA makes maps of all slots because there is no info about slot 0. Then it merges them.
If you create a map you can take a look at info about other processes, but I don't save it in a *.slotmap file as all other slots aren't so interesting.
Click to expand...
Click to collapse
Yeah you are right.
Edit: BTW; I have too much null spaces and by seeing the posts in asusmobile.ru, AndrewSh said they are memory holes.
Should we correct it and remove those memory holes?
If so please let me know how? sorry for my noob queries!
Just an hour back, I have reversmode'ed few dlls on HTC packages and saved space in Slot0. About 1.3 MB. MAX Amount 24736 KB.
Thanks...
Best Regards
CRACING, while ultrashot is offline for now - I will try to answer
These NULLS normally happen if the library was a file (not module) while cooking and it's loaded without fixed address to slot 0. Try to reversmode all dlls that have NULL space reserved and cook again. Than - make test and you will see that almost all NULLs are gone...
I wanna warn - do not try to reversmode rsaenh.dll - leave it as is. Otherwise you will get unbootable rom.
Normally I have 27484 kb free for Leo at the moment
BTW, if you browse through asusmobile.ru topics - you are welcome to post there your requests and comments in English - we appreciate that
Yeah, I learned about rsaenh.dll the hard way! Took a while to trace it back to that one, that taught me to take baby steps.
I think if you put rsaenh.dll on the do not split list (or do not relocate list, with the proper addresses already set), it may be ok. Or, comment out the 'loadmodulelow' value in your boot.rgu, and it may work as a module. I'll let you try it, though, lol. (Maybe on a rainy day I'll see if I can get it to work for the hell of it.)
AndrewSh said:
CRACING, while ultrashot is offline for now - I will try to answer
These NULLS normally happen if the library was a file (not module) while cooking and it's loaded without fixed address to slot 0. Try to reversmode all dlls that have NULL space reserved and cook again. Than - make test and you will see that almost all NULLs are gone...
I wanna warn - do not try to reversmode rsaenh.dll - leave it as is. Otherwise you will get unbootable rom.
Normally I have 27484 kb free for Leo at the moment
BTW, if you browse through asusmobile.ru topics - you are welcome to post there your requests and comments in English - we appreciate that
Click to expand...
Click to collapse
Hello,
Thanks for your reply.
I though its NULL reserved space for files but NULL space is also below modules. i.e mdpl, htcdevservice, htcgeosrvc and many modules.
Thats why I have confused.
Is it because the modules aren't reloc correctly or those are reserved for the modules which aren't loaded? I'm using OSKitchen to build ROMs.
However, I have attached my last memory map dump. From 1828000 to 18BF000 are files. i.e conncurrencemgr.dll, ntfconfig.dll, notificationmanager.dll, voammbenc.dll, lap_pw.dll, pimdlg.dll and rsaenh.dll
Please have a look...
Thanks...
Best Regards
CRACING, hi!
You can force some of your dlls not to be loaded to slot 0 to release space. That can be performed by sharing r/w sections of modules and files.
I think ultrashot will explain here in the topic how to make that. I don't want to do that because it's his research and his brilliant idea. Besides - he's a real professional and he will do it much better than me.
Anyway - almost all HTC services can be processed to share r/w sections. And thus they will never be dropped to slot 0 on boot.
As I can see from your map - 80 % of your files and modules with NULL can be shared.
We will wait for topicstarter's post concerning the matter. If he does not - I will try to describe how to do that.....
But this process it quite dangerous - you should backup your kitchen before sharing r/w.
AndrewSh said:
CRACING, hi!
You can force some of your dlls not to be loaded to slot 0 to release space. That can be performed by sharing r/w sections of modules and files.
I think ultrashot will explain here in the topic how to make that. I don't want to do that because it's his research and his brilliant idea. Besides - he's a real professional and he will do it much better than me.
Anyway - almost all HTC services can be processed to share r/w sections. And thus they will never be dropped to slot 0 on boot.
As I can see from your map - 80 % of your files and modules with NULL can be shared.
We will wait for topicstarter's post concerning the matter. If he does not - I will try to describe how to do that.....
But this process it quite dangerous - you should backup your kitchen before sharing r/w.
Click to expand...
Click to collapse
That would be awesome. Looking forward...
Thanks a lot...
Best Regards
Meanwhile – the translation of original ultrashot’s explanation at asusmobile:
How to share r/w section:
1. For the file: using LordPE program set flag Shareable on r/w section (C0000040->D0000040)
2. For the module: edit imageinfo.bin – change 402000C0 for 402000D0
All files and modules should be backuped!!! Every modified file/module should be tested separately.
Additional explanation from Barin
For module and file – it’s necessary to change RW section flags (set up additional flag IMAGE_SCN_MEM_SHARED = 0х10000000)
Example: RW section has flags C0002040
It’s necessary to add flag 0х10000000
0xC0002040 OR 0x10000000 = 0xD0002040
How to modify imageinfo.bin from 402000C0 to 402000D0: Calculate the offset to the appropriate flag o32_rom and then edit with any HEX-editor
Module o32_rom structures start at 0х70 address in imageinfo.bin consistently
The structure of o32_rom:
DWORD o32_vsize
DWORD o32_rva
DWORD o32_psize
DWORD o32_dataptr
DWORD o32_realaddr
DWORD o32_flags
That means - the address of the flags of any section will be equal to 0x70 + (0x18 * <section number>) + 0x14
Sections are numbered from zero.
AndrewSh said:
2. For the module: edit imageinfo.bin – change 402000C0 for 402000D0
All files and modules should be backuped!!! Every modified file/module should be tested separately.
Click to expand...
Click to collapse
How to do this?
I checked in IDA and HexEdit. No such things.
AndrewSh said:
Click to expand...
Click to collapse
And could tell me which is this tool?
May be I saw but couldn't remember.
Sorry for noob queries.
Thanks a lot...
Best Regards
CRACING said:
How to do this? I checked in IDA and HexEdit. No such things.
Click to expand...
Click to collapse
I use WinHex - and normally you should look for 402000C0 Hex Value - modify if exists See attached image.
CRACING said:
And could tell me which is this tool?
Click to expand...
Click to collapse
OsBuilder (BTW - the full version allows to share r/w sections of modules and files "on the fly" without modifying original ones and without hex calculators and other sophisticated ****)

[Q] How to replace \Windows\ .dlls

I want to replace phcanhtc.dll and phcanrc.dll with these dll (http://forum.xda-developers.com/showthread.php?p=5910397#post5910397) for wm6.5.3 with all fixes but I do not know how to do it.
I've searched on forum without relevant results.
Please help
me too, i really dont know
Why not simply, when device is booting i.e. processing HKLM\init, override old dll-version with new dll-version?
Code:
Launch9999="CopyDLLs.exe"
Depend9999=hex:14,00,1E,00
Could You elaborate a bit on that information? I mean, what is "CopyDLLs.exe" and how does it work? Where to find more information about it (Google doesn't return much...)? What is the "Depend" key and what does that HEX mean?
TIA
Thought the concept behind the solution proposal I outlined above is reconstructable to everyone:
1) you simply add two lines to [HKEY_LOCAL_MACHINE\init] with which an executable ( of your choice, I use freeware TULL.exe for those reasons - you can name it how you want to do it, ex. CopyDLLs.exe ) is started. BTW: 'DependXXXX' is the load order index for 'LaunchXXXX' and 'hex' indicates that it's a binary value.
2) using TULL.exe you create a related .INI-file that is read by TULL.exe (or renamed to CopyDLLs.exe, what I think is more meaningful) with contents like this:
Code:
;overide xyz dll
C "\Save\xyz.dll" "\Windows\xyz.dll"
;done
FYI: TULL.exe you can downlad here
Thank You for that valuable information! I have been using and customizing WM four years now and I have so far understood that it's impossible to replace DLL-s which are in ROM and cannot be overwritten with Resco or similar file manager. Although I don't need it anymore (I would have a year ago), it's still good to know. One question tho, if I may... By asking "what does hex mean" I didn't really mean that, I know there are DWORDs, binary values etc, sorry about that I actually meant what does that value do. But You already answered that. I still wonder, how is that load order index constructed, I mean, how do I know what to put there?
TIA.
OverWrite vs. Override
1) You have to distinguish between terms 'overwrite' (i.e. physical replacement) and 'override' (i.e. logical replacement). The method I suggested is to 'override' a DLL before its first use. If a DLL is already loaded, the method of course will NOT work (only the internal DLL counter is incremented by 1)!
2) With regards to how determine DependXXXX value (excerpt from http://msdn.microsoft.com/en-us/library/aa446914.aspx):
The other option for launching an application at boot time is to use the HKLM\Init keys, this requires that the application call back into the operating system by calling SignalStarted( ); to let the operating system know that the application is running. The reason for this is that the HKLM\Init keys have two parts, LaunchXX and DependXX. The LaunchXX key (where XX is a numeric value) simply points at the executable to launch. For example, take the following snippet from my operating system image registry file (once the operating system is built, the complete registry can be examined in text form in the build release folder as reginit.ini)
[HKEY_LOCAL_MACHINE\init]
"Launch10"="shell.exe"
"Launch20"="device.exe"
"Depend20"=hex:0a,00
"Launch30"="gwes.exe"
"Depend30"=hex:14,00
The snippet from the registry above launches three processes, Shell, Device, and GWES. Notice that device.exe (Launch20) has a dependency on Hex:0a (10 decimal). This equates to Launch10, or shell.exe, so the Shell process needs to signal the operating system that it's up and running so that any dependencies (in this case device.exe) can then be started. The same is also true of gwes.exe (launch30), device.exe depends on hex:14 (20 decimal), so GWES can't run until device.exe calls SignalStarted.
OK, thank You again for the thorough explanation. I just want to confirm one thing - as far as I understand from that description, it would also be possible to launch an *.exe which will copy and overwrite the original DLL before it's loaded in boot order? I ask because a bunch of the DLL files cannot be overwritten after the device has booted. Like I said, some of the files in ROM can be overwritten and some cannot be. I have so far suspected that the ones that cannot be overwritten cannot be overwritten because a) they are already loaded; b) they are locked by some process. I cannot imagine any other mechanism that distinguishes between one DLL and another. Would it work or am I missing something here?
You didn't read it carefully
Again: YOU HAVE TO DISTINGUISH BETWEEN OVERWRITE AND OVERRIDE. We all know that a file located in ROM never can be 'overwritten', but 'overridden', this due to the fact how WinCE searches for a DLL called by an application: 1 -> in directory where the application is located, 2 -> in folder \Windows, 3 -> in folder declared in CE's SystemPath and 4) finally in ROM.
Ending this excursion into the world of WinCE: If you make the desired DLL-copy-operations directly after device.exe (CE 5) / device.dll (CE 6) has done its job (means file system is mounted and ready to be used) you can 'override' each ROM-located DLL if it isn't already lasting (loaded) in RAM, means you simply copy new version of DLL to folder \Windows. BTW: The DLLs you see in \Windows might be located in ROM, or not ( i.e. located in RAM - folder \Windows itself is RAM), this depends on how OEM implemented this.
Only a practical example I've in use:
Code:
;
;increase storage memory (KB)
W \NandFlash\CE-Utilities\SetSystemMemoryDivisionKB.exe, 3072
; delay execution by the passed value in milliseconds
D 1000
;load backlight settings
W \NandFlash\CE-Utilities\regimp.exe, /f:\NandFlash\MyRegistry\backlight.ini /s
W \NandFlash\CE-Utilities\RegFlushKeys.exe
;prepare using .NET CF 3.5 instead .NET CF 2.0 (ROM located)
C "\NandFlash\NetCFCfg\device.config" "\Windows\device.config"
[COLOR="Red"]C "\NandFlash\MyCESystemPath\mscoree.dll" "\Windows\mscoree.dll"[/COLOR]
; delay execution by the passed value in milliseconds
D 1000
Original ROM-located mscoree.dll (part of pre-installed .NET CF 2.0) gets overriden with mscoree.dll that comes with .NET CF 3.5, thus now .NET CF 3.5 is running instead of .NET CF 2.0
Thanks again for Your answer, which is again thorough and informative. Basically You answered "Yes" to my question I say this because - as I am not as knowledgeable about WinCE system as You are - it seems I just call the process that You describe as "overriding" simply "overwriting". This is because I wasn't aware how WinCE searches for a file or how the \Windows\ folder contents is handled / processed. And also because when I copy a DLL file to \Windows\ folder, Resco simply asks "Do You want to overwrite...?" etc I am not a WinCE developer, I'm simply an enthusiast and I might call things more simply, sorry for that. But I think I got valuable information from You one way or another and the most important thing is, I got the point. However You call it.
@jwoegerbauer: Thanks friend for the nice examples and explanations .
Cheers!!!
I want to copy a new NLS file to a WinCE device, before system was loaded.
I've tried to do what you suggested here, jwoegerbauer, with my Mio C520.
I've wrote registry keys to activate the sciprt I wrote, before the system loaded - with no success.
I've tried both MortScript and TULL as script-language - both with no success.
The registry keys that I've tried to import are:
Code:
[HKEY_LOCAL_MACHINE\init]
"Launch25"="\My Flash Disk\Temp\CopyNLS.exe"
I've tried also to import
Code:
"Depend25"=hex:14,00
which cause the system to freeze in the main menu (before MP is loaded), and
Code:
"Depend30"=hex:14,00,28,00
which cause the system to freeze in the boot load.
I'll be happy to know what else can I try to activate the code.
If the wince.nls is located in the XIP already you cannot override it. It is loaded before the FAT partition is there and the filter driver could redirect calls to the FAT copy of a dll.
You need to re-cook with the wince.nls moved to the SYS, seems however that some specialties need to be taken care of when doing so (search here at XDA for this).
So, I understand that my only option is to implant a soft-reset during the installaion of MioPocket.
Do you know how to do soft-reset with those chinese devices?
Reset does not help you if the wince.nls is located in the XIP. You will not be able to replace it with any means - the OS will load it before you have any chance to interfere.
Your only option is to replace the OS (with a cooked one) where the wince.nls is different from the start - or where it is not located in the XIP partition.
Why do you want to replace the wince.nls? Probably your problem can be solved another way?
Well, actually, in the Mio C520 - reset does help me. It's re-written the wince.nls file with the one I copied, and used it very well.
My problem now is my Chinese device, based on WinCE 6.0 embedded.
I've installed MioPocket on it, and translate some of the words to Hebrew. The problem is that the hebrew is 'backwards', meaning if for ex. instead of "Hello" - It'll show "olleH".
Here is screenshot of both devices, to the left is the Mio C520, which is OK, and to the right is the Chinese device, which is written 'backwords'
{
"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"
}
So I thoght - maybe, if I'll made the Chinese device to do soft-reset, just like the Mio - maybe the problem will be solved.
But maybe you are right, and there's completely another solution to this problem. I sure hope there is...
Well, I can neither read Chinese nor Hebrew - so nothing to guide you here.
Not sure what you wanted to achieve with the new wince.nls
What I understood is that this files basically gives you all the entries in the Locale panel of the settings file - so where you can select the format of the time/date or currency. First you select the Locale (not UI language which is a different setting) and then you can pick for each of the items defined by this locale set the relevant options that are stored in the wince.nls file. It also holds all menu items of that local setting in all languages - which makes it quite big depending on the number of languages supported.
So if you could "replace" the wince.nls, then for sure it is not in the XIP and all my previous comments are useless for you.
If you are after swapping the direction of writing on your device this is a totally different thing. I am sure it is not part of the .nls but a system setting for the UI part of the device. You may need to search for "Arabic Support" or alike in the Windows CE forums around the world. I have not seen much discussed here at XDA for this specialty.
Good luck!
After a search inside the GPS file system (I forgot to mention that in the original menu of the GPS the Hebrew was just fine - meaning from right to left - what led me to think there's something in the OS responsible for that) - I found a file named SetLanguage.exe which may be repsosible to display the hebrew in the right direction.
Anyone in here can hex the file and understand what's it's usage?
I attached also file named Arab.dll, maybe is also related..
Any help will be much appriciate!
Absolute OFF-TOPIC
@Cheetah64d
SetLanguage.exe (by Lenovo Beijing Ltd.) you attached depends on libraries
Arab.dll, MultiLanDll.dll, ApicalDrvApi.dll, AppLoginDll.dll, MFC80U.dll and COREDLL.dll.
Click to expand...
Click to collapse
This executable is only useable on very specific devices.
As stated by MS, Windows CE by default uses the fonts as listet next to implement hebrew
Arial (subset 1_08) arial_1_08
Arial Bold (subset 1_08) arialbd_1_08
Courier New (subset 1_08) cour_1_08
Tahoma (subset 1_08) tahoma_1_08
Tahoma Bold (subset 1_08) tahomabd_1_08
Click to expand...
Click to collapse

Categories

Resources