When I first started on this project, this kitchen existed of 5 script each containing few lines of code, only able to handle one LUA script at a time. I had just helped out on the first ever manila 2.0 VGA port and I could see the use of a kitchen that did most of the manual labour automatically. At that time my understanding of what needed to be done to successfully edit script was limited. As I tried to add more features to the script I learned more about LUA, the handling and decompiling of the scripts. I chose to make the kitchen do as much for you on first run. The kitchen got more mature after I met hilaireg who knew a lot more about batch scripting than I did and who's perfectionist style made the kitchen what it is today.
After we teamed up we started a little manila group and got into contact with co0kiemonster. He's the one who created\updated most of the tools on which the script relies, and so not only optimizing manila handling but also pushing it's boundaries. We put in the applications that best handle manila files and connected these via the script. Since our last update co0kie kept developing the tools and they became a lot better. A batch script isn't really the way to handle this but until we get a real manila GUI, we decided to give the script one last update. Since this will likely be the last big project hilaireg will be presenting here, this last version is dedicated to him.
Workstation/System Requirements:
The Manila Kitchen environment can run on a Windows XP, Windows Vista, and Windows 7 platform providing the following requirements are met:
Microsoft .NET 3.5 SP1 (M9Editor)
Elevated priviledges
Windows XP/Vista/Seven
Kitchen Contents:
ROOT
MANILATOOL.CMD by hilaireg & 12aon
Manila Kitchen Guide
Revision History
_SOURCE folder
_TOOLS folder
Shortcuts to tools
TOOLS
LUATOOL.EXE by Co0kiemonster
M9EXT.EXE by Co0kiemonster
MANILANAMES.EXE by Co0kiemonster
M9EDITOR.EXE by 6Fg8
CFC_GUI.EXE by Chainfire
NOTEPAD2.EXE by Florian Balmer, Compiled by Co0kiemonster
MANILAHASH.EXE by NisseDILLIGAF
XVI32.EXE by Christiaan Maas
RAPICOPY.EXE, RAPIPROC.EXE, RAPISTART.EXE by Scott Seliman
GREP.EXE by Tim Charron
Current Version (Attached Files)
Manila Kitchen 5.05.06, 4.7 MB (06/05/2010)
Previous Versions
Manila Kitchen 5.04.23, 4.7 MB (23/04/2010)
Manila Kitchen 5.03.04, 4.1 MB (04/03/2010)
Manila Kitchen 4.10.16, 9.3 MB (16/10/2009)
Manila Kitchen 4.10.02, 7.7 MB (02/10/2009)
Credits:
Special thanks to the following folks for sharing their knowledge and expertise. If I missed someone, it's purely accidental – send me a note and I will add your name to the list.
6fg8
chainfire
co0kiemonster
sztupy
Overview
The Manila Kitchen is an automated environment that includes tools (utilities) to perform decompilation, editing, and recompilation of HTC Manila OEM files.
Instructions are passed to the MANILATOOL command script which in turn, initiates various executables to perform the necessary actions required on the HTC Manila OEM files.
Some of the tools used by MANILATOOL were written by 6fg8, chainfire, co0kiemonster, and sztupy. As such, some of these tools are not compatible with excessively long path names or paths that contain spaces or brackets. To avoid issues, place the Manila Kitchen in a relatively short path that does not contain spaces or brackets such as: C:\XDA\Manila_Kitchen
The Manila Kitchen provides the following benefits:
Consolidated Tools
All of the tools required to perform Manila related activities have been incorporated. These include decompilation, comparison, recompilation, .CAB creation, direct deployment to mobile devices, updating Mode9 Editor reference index, and backing up. The executables are initiated with the appropriate command parameters and in the correct sequence by MANILATOOL thus eliminating the "guess work" typically required.
Improved Resiliency
The activities required to manage HTC Manila OEM files are complex in nature. In some cases, a Manila file may fail to be decompiled or cause one of the initiated executables to generate and error as a result of an unexpected condition. The MANILATOOL command script will attempt to recover from such errors when possible so as to complete the command that was initiated.
Command Line Help and Version Information
Wondering what command parameters are available in the MANILATOOL command script? Simply append -HLP to the end of the MANILATOOL command script to display a summary of parameters available. To determine the version of the MANILATOOL command script in use, append -VER to the end of the MANILATOOL command script.
Enhanced File Recovery
Accidentally changed a file and need the previous version? The MANILATOOL command script performs a backup before any critical operation making it easier to retrieve a previous version of a file.
Enhanced Script Diagnostics
Although a significant of amount effort has gone into the development of the Manila Kitchen, it is possible that a script logic error may occur. To assist in troubleshooting such errors, the MANILATOOL command script includes a comprehensive logging debugger.
Topic Index
Preparing the Kitchen Environment ....... 3
Initializing the KitchenDecompiling Manila OEM Files ............ 4
LUA Editing
Mode9 Editing
General Editing
Updating 'm9editor.names.txt'
Updating the RepositoryWorking with Manila Files ............... 5
Initializing the KitchenRecompiling Manila OEM Files ............ 6
RecompilationTesting the Manila OEM File Changes ..... 7
Installer .CAB Method
Direct to Device MethodReference Web Links ..................... 8
Frequently Asked Questions (FAQ) ........ 9
Preparing the Kitchen Environment
The Manila Kitchen environment must be initialized prior to initial use. During the initialization phase, all MANILATOOL command script parameters are enabled and the contents of following folders, sub-folders, and files are removed and recreated:
_backup
_queue
Decompiled
Release
Repository
Workspace
The following configuration files will be reset to their initial settings:
m9editor.cfg .\_TOOLS\M9Editor
notepad2.ini .\_TOOLS\Notepad2
xvi32.ini .\_TOOLS\XVI32
The following applications shortcuts will be reset to their initial settings:
CFC_GUI.lnk
M9Editor.lnk
manilaHASH.lnk
Notepad2.lnk
HexEdit32.lnk
The following Manila Mode9 reference index will be reset to their initial settings:
m9editor.names.orig.txt .\_TOOLS
mnf_m9paths.orig.txt .\_TOOLS
m9editor.names.orig.txt .\_TOOLS\M9Editor
Initializing The Kitchen
The following procedure will initiate the Manila Kitchen initialization process. All HTC Manila OEM files found in the .\_SOURCE folder will be copied to the .\_queue folder.
Currently, there are two versions of Manila reference index names; one for pre-Manila 2.5 and one for post-Manila 2.5. It is possible to set the initial Manila reference version during the kitchen initialization procedure. For example, if the .\_SOURCE folder contains a specific version of HTC Manila OEM files, specify the Manila version as part of the parameter. If the kitchen will contain a mix of pre-Manila 2.5 and post-Manila 2.5 files, an incomplete set of Manila files, or an unknown Manila file, specify 0.0 as the kitchen version.
The following procedure will initiate the Manila Kitchen initialization process.
► To initiate a Manila Kitchen reset and specify Manila version 1.3
Place a copy of the original (untouched) HTC Manila OEM files or packages in the .\_SOURCE folder.
Double-click (launch) the Command Prompt shortcut found in the root of the kichen folder.
At the prompt, type the following command: manilatool.cmd -oem:1.3
Press ENTER.
► To initiate a Manila Kitchen reset and specify Manila version 2.5
At the prompt, type the following command: manilatool.cmd -oem:2.5
Press ENTER.
► To initiate a Manila Kitchen reset and specify a mix, small set, or unknown Manila files
At the prompt, type the following command: manilatool.cmd -oem:0.0
Press ENTER.
Decompiling Manila OEM Files
HTC Manila OEM files must be decompiled before changes can be made to them. The decompilation of HTC Manila OEM files occurs on files that are found in the .\_queue folder. Use the Manila Kitchen initialization process to copy the HTC Manila OEM files from the .\_SOURCE folder to the .\_queue folder before attempting to decompile files.
As files are processed, they are removed from the .\_queue folder and placed in a .\Processed folder. Once completed, decompilation mode will be disabled so as to prevent accidental loss of work to decompiled Manila files. The Manila Kitchen must be initialized in order to enable decompilation mode.
Decompilation
The decompilation process passes each manila file found in the .\_queue folder to the LUA processor (luatool.exe) tool. During the decompilation process, the LUA processor (luatool.exe) tool validates the decompilation and produces additional output files if the decompilation was not successful.
Additionally, the decompilation process will extract a copy of embedded Manila (Mode 9) scripts, initiate the LUA processor (luatool.exe) tool to decompile the extracted script, and validate that the decompilation occurred successfully.
Upon completion, a decompiled version of the Manila file will be found in one of the following folders - which are determined by the results of the decompilation process:
Completed: .\Workspace\_lua (successfully decompiled)
Incomplete: .\Workspace\_lua (partially decompiled)
Error: .\Workspace\_lua (failed decompilation)
InternetPortal: .\Workspace (XML files)
Manilapages: .\Workspace (XML files)
Mode9: .\Workspace (Mode9 files)
PNG: .\Workspace (Image files)
QTC: .\Workspace (Image files; in Graphics folder)
SQLite: .\Workspace (Database files)
TTF: .\Workspace (True Type Font files; in Graphics folder)
XML: .\Workspace (XML files)
Unknown: .\Workspace (Unknown files)
The following procedure will initiate the Manila Kitchen decompilation process.
► To initiate HTC Manila OEM file decompilation
Ensure desired HTC Manila OEM files are present in the .\_queue folder once the kitchen initialization has completed.
Double-click (launch) the Command Prompt shortcut found in the root of the kichen folder.
At the prompt, type the following command: manilatool.cmd -dec
Press ENTER.
Working with Manila Files
Once the HTC Manila OEM files have been decompiled, changes may be made as required. The Manila Kitchen provides a single work area for Manila file editing; this is:
Workspace
Workspace
This workspace contains all of the decompiled Mode9 files, graphics, and other Non-LUA files that are typically manipulated using the M9Editor, Notepad2, and/or CFC_GUI.
Workspace\_lua
This area of the workspace contains all of the decompiled LUA files. Use a standard UTF-8 compatible editor such as Notepad2 to make changes to the files.
LUA Editing
Files that have failed to decompile during the initial decompilation process typically need to be manually edited so as to address the cause of the failure. Editable *.lua Manila files reside in the .\Workspace\_lua folder and may be change with a text editor such as Notepad2.
Once the Manila file has been fixed, initiate the the LUA Comparison (luatool.exe) tool to validate that the changes made to the file are correct.
The LUA Comparison process will compare the changes made to the decompiled Manila file against the original Manila file. If successful, the Manila file will be moved from the .\Incomplete or .\Error folder to the
.\Completed folder.
The following procedure will initiate the comparison process.
► To initiate Manila file comparison
At the prompt, type the following command: manilatool.cmd -cmp
Press ENTER.
Mode9 Editing (Mode 9, Graphics, PNG)
M9Editor is a tool for editing Manila files; nearly all aspects of a Mode9 LUA file can be viewed, changed, and saved. Mode 9 LUA Manila files are stored in the .\Workspace\Mode 9 folder and are changed with from within the M9Editor.
Additionally, the M9Editor tool provides graphics import/export capabilities as well as Chainfire File Compression (CFC) support. Lastly, the M9Editor tool includes a folder (directory) viewer which displays information specific to Manila files.
Although it is possible to decompile Manila files with the M9Editor tool, the current version (3.0.03) utilizes a deprecated version of the LUA Decompiler (luadec.exe) which is not supported by this Manila Kitchen.
► To initiate the M9Editor tool
Navigate to the Manila Kitchen folder.
Double-click the M9Editor shortcut.
General Editing (InternetPortal, Manilapages, QTC, PNG, SQLite, TTF, XML)
Some of the Manila files found in the .\Workspace folder may also be changed by other tools such as Notepad2 and CFC_GUI.
► To use an other tool to edit certain Manila files
Launch the desired tool (ex: Notepad2, CFC_GUI, etc.)
Select the Open file option from within the tool.
Navigate to the .\Workspace folder.
Select the Manila file to change.
Updating 'm9editor.names.txt'
From time to time, HTC adds new Manila files or updates the names of existing ones. To update the M9Editor Reference Index file, initiate the Manila name scan process using the MANILATOOL command script. The Manila Name Finder (mnf.exe) tool will iterate through the HTC Manila OEM files found in the .\_SOURCE folder and obtain the new names.
Updating the m9editor.names.txt reference index file ensures that the M9Editor tool is able to display the friendly Manila file name making it easier to work with Manila files - instead of the compiled Hash name used by HTC. Currently, there are two versions of Manila reference index names; one for pre-Manila 2.5 and one for post-Manila 2.5.
The Manila name scan process supports the following Manila versions: 2.5, 2.2, 2.1, 2.0, 1.3, 1.2, 1.1, and 1.0. Specifying a Manila version other than 2.5 will initiate the Manila Name Finder (mnf.exe) tool in pre-Manila 2.5 scan mode. The MANILATOOL command script determines which scan mode to use by first querying the 'kitchen-ver' file - if the value is 0.0; the mode specified in the command parameter is utilized.
Use one of the following procedures to initiate the appropriate M9Editor reference index update process.
► To initiate a pre-Manila 2.5 reference index update
At the prompt, type the following command: manilatool.cmd -mnf:2.1
Press ENTER.
► To initiate a Manila 2.5 reference index update
At the prompt, type the following command: manilatool.cmd -mnf:2.5
Press ENTER.
Updating the Repository
Updating the .\Repository folder ensures that a recent backup copy is available in the event that a change to *.lua must be reversed. During the repository update, decompiled *.lua files found in the .\Workspace\_lua folder are copied to the .\Repository\_lua and a hierarchy (by unhashed names) is created in the .\Repository\windows folder.
The .\Repository\windows folder hierachy displays shortcut links to the Manila files that correspond to a Manila feature. For example, navigate the hierarchy and double-click the shortcut link that corresponds to the file that requires modification - the appropriate tool will be launched.
The following procedure will initiate the repository update process.
► To initiate a repository update
At the prompt, type the following command: manilatool.cmd -lib
Press ENTER.
Frequently Asked Questions (FAQ)
What types of files can be placed in the '.\_SOURCE' folder?
Any type of file may be placed in the .\_SOURCE folder. The MANILATOOL command script will only copy files that contain the word "manila" in them to the .\_queue folder.
I accidentally specified the wrong version of Manila files during the kitchen initialization; is there a way to change it without initializing the kitchen again?
The default Manila file version is stored in the kitchen-ver file. Use a standard text editor such as Notepad2 to edit file. The file must contain a three characters equivalent to the version - valid versions are: 2.5, 2.2, 2.1, 2.0, 1.3, 1.2, 1.1, 1.0, and 0.0 (Unknown/Custom)
What is the '._BACKUP' folder used for?
Before most operations occur, a backup of files that will be changed or removed from/in a given folder is performed. This ensures that previous functional files remain available in the event that a "rollback" is required.
What is the difference between the "Incomplete", "Error", and "Completed" (successful) LUA folders?
Manila files that are successfully decompiled are will appear in the "completed" folder - 100% comparison result. Manila files that are decompiled but do not pass the comparison validation (less than 100%) are placed in the "incomplete" folder. Manila files that report a 0% decompilation result are placed in the "error" folder.
What is the difference between the files in the '.\Release\_lua', '.\Release\_error', '.\Release\CAB', and '.\Release\DEVICE' folders?
The .\Release_error folder will only appear when unexpected errors were encountered during Manila LUA file recompilation. The folder will contain logs detailing the problem that was encountered with a Manila LUA file. The folder is removed and recreated at each recompilation.
The .\Release\_lua folder contains the recompiled versions of the Manila LUA files that are found in the .\Workspace\_lua folder. These are the files can be distributed directly to a device or via CAB file.
The .\Release\CAB folder contains the recompiled versions of the files found in the .\Release\_lua folder. These are the files can be installed via ActiveSync or a Storage Card.
The .\Release\DEVICE folder contains the recompiled versions of the files found in the .\Release\_lua folder. These are the files can be installed via ActiveSync or a Storage Card.
What is the difference between the files in the '.\Processed', '.\Workspace', and '.\Repository' folders?
The .\Processed folder contains the HTC OEM Manila files that were copied to the .\_queue during the Manila Kitchen initialization process. During the decompilation process, the files are moved from the .\_queue folder to the appropriate folder - which is determined by the LUA Comparison tool results.
The .\Workspace\_lua folder contains decompiled versions of the HTC OEM Manila files - these are the files that are typically modified and recompiled. The remainder of the folders in the .\Workspace folder contain various non-LUA files.
The .\Repository\_lua folder contains a duplicate copy of the decompiled Manila files. The repository serves a form of backup.
What are the extra .TXT files that appear in the partially decompiled LUA script folders?
The *.error.txt file contains the STDOUT error that was generated by the LUA Decompiler. When this file appears, there is a logical error in there script, which makes it impossible to run the script. The file will usually contain the approximate (line number) location where the problem was encountered.
The *.log.txt file contains the compared disassembly output from the orignal Manila file and the decompiled LUA version - which appears in the folder. When this file appears, it is an indication that the script will function but it does not match the original Manila file.
The *.dis.txt file contains the raw (full) disassembly of the original Manila file and may be used to resolve the decompilation issue.
The *.status.txt file contains the decompilation result - 0% to 100%.
Visit the following website to obtain more information in troubleshooting a failed decompilation:
http://winmo.sztupy.hu
Is the disassembly output always correct?
Yes. Even though the some of the events may be not be displayed in the disassembly output, the correct sequence of events will be provided.
The M9Editor tool provides a built-in decompiler, why not just use that?
The internal LUA Decompiler (luadec.exe) provided with the M9Editor tool is an earlier version. This internal version does not provide the extra files required to resolved decompilation errors.
The M9Editor should be used when editing Mode9 files and attach extracted embedded LUA script back to their original Mode9 files.
There are strange errors such as '.\documents and settings\<profilename>\eee' errors, what is the solution? (Only in older versions)
One of the Manila Kitchen tools is in an unknown state or temporary files are locked and cannot be freed. Note the path location of the .\eee folder, restart the workstation, and manually delete the folder, sub-folders, and files.
An error message is displayed when attempting to delete a file or folder, what is the solution?
A running process is preventing the file or folder from being removed. Restart the workstation and manually delete the file or folder.
Can Error Reporting be disabled so as to not have to click the Close button every time the LUA Decompiler and/or LUA Comparison tool generate an application error?(Only in older versions)
As previously noted, some Manila files cause the LUA Decompiler (luadec.exe) and/or LUA Comparison (compare.exe) tool to generate an application error. Visit the following website(s) for more information on how to suppress the Error Reporting message box.
Windows XP
http://www.windowsnetworking.com/articles_tutorials/Disable-Error-Reporting-Windows-XP-Server-2003.html
Windows Vista/Seven
http://thehiddenguide.com/how-to-disable-error-reporting-in-windows-vista
Recompiling Manila OEM Files
Once editing is complete, the Manila files must be recompiled before they may be used on a mobile device.
Should an error be encountered during recompilation, the MANILATOOL command script will create a Manila LUA error log file in the .\Release\_error folder and continue recompiling Manila LUA files. In the event of a "hard" recompilation error, the contents of .\Release\_lua folder will be removed and the previous successful recompilation will be restored.
Recompilation
The recompilation process occurs on files that found in the .\Workspace\_lua\Completed folder. Once completed, the files are ready for deployment to a mobile device that is directly connected to a workstation or via an installer .CAB file.
The following procedure will initiate the recompilation process.
► To initiate Manila file recompilation
At the prompt, type the following command: manilatool.cmd -rec
Press ENTER.
Testing the Manila OEM File Changes
The Manila Kitchen environment provides additional tools for testing a final work product. Manila files can be distributed to mobile devices using one of the following methods:
Installed .CAB
Direct to Device
The quickest method of distributing recompiled Manila files is via an installer .CAB file. The direct to device method of distributing recompiled Manila files is via ActiveSync over a USB/Serial connection - this method is
quickest during development activities.
Installer .CAB Method
The MANILATOOL command script provides a parameter to automatically create a redistributable .CAB file. The installer .CAB can be copied to the mobile device and launched using the device File Explorer. Alternatively, the installer .CAB file may be installed via ActiveSync. Should an installer .CAB fail to install on a device, it is likely that policy restrictions are in effect.
The following procedure will initiate the .CAB creation process.
► To initiate the CAB Wizard tool
At the prompt, type the following command: manilatool.cmd -cab
Press ENTER.
Direct to Device Method
The MANILATOOL command script includes a parameter to automatically stop the mobile device Manila executable (manila.exe), transfer a copy of the Manila files, and restart the mobile device Manila executable.
The copy operation may fail on a device where policy restrictions are in effect. Additionally, the Manila executable may not restart in such cases.
The following procedure will initiate the comparison process.
► To initiate RAPI Copy tool
At the prompt, type the following command: manilatool.cmd -dep
Press ENTER.
Reference Web Links
Manila 3D Kitchen
http://winmo.sztupy.hu/manilakitchen.html
http://forum.xda-developers.com/showthread.php?t=487331
Manila Tutorial
http://forum.xda-developers.com/showthread.php?t=399212
LUA Decompiler
http://forum.xda-developers.com/showthread.php?t=568281
LUA 5.1 Decompiler
http://winmo.sztupy.hu/luadec.html
http://forum.xda-developers.com/member.php?u=1433290
http://forum.xda-developers.com/showthread.php?t=479910
LUA Decompiling Tutorial
http://winmo.sztupy.hu
http://winmo.sztupy.hu/manilakitchen/rhodium2_manila_wvga_src.zip
TF3D Manila Mode9 Editor
http://forum.xda-developers.com/showthread.php?t=464984
MNF - Manila Name Finder
http://forum.xda-developers.com/showthread.php?t=546820
CFC - The Manila/TF3D Image Editor
http://forum.xda-developers.com/showthread.php?t=437777
TouchFLO/Manila/SenseUI
http://forum.xda-developers.com/group.php?groupid=131
Co0kie's Beta Testing and Development
http://forum.xda-developers.com/group.php?groupid=192
Max Sense Testers
http://forum.xda-developers.com/group.php?groupid=185
GT7 Sense 2.1 Theme Beta Testers
http://forum.xda-developers.com/group.php?groupid=202
Leaked Full EXT/Manila 2.5 Packages-latest official sprint tp2
http://forum.xda-developers.com/showthread.php?t=642817
Enabling the Logging Debugger
Although a significant of amount effort has gone into the development of the Manila Kitchen, it is possible that a script logic error may occur. To assist in troubleshooting such errors, the MANILATOOL command script includes a comprehensive logging debugger.
The logging debugger can provide basic, expanded, or verbose (full) logging. To enable the logging debugger, append -DEB:[1-5] to the end of the MANILATOOL command script. For example, to set the logging debugger level to 1, type the following command at the Command Prompt:
manilatool.cmd -hlp -deb:1
Processing activities are displayed in the Command Prompt window and are recorded in the ManilaTool_Log_#.##.##.txt file. The log file will include the version of MANILATOOL command script and the command parameters that was requested. The following logging debugger levels are available:
Level 0: Default. The MANILATOOL command script typically operates at this level.
Level 1: Provides slightly more details on the script processing activities. Specifiy this logging level to view the results of actions performed on a Manila file.
Level 2: Provides comprehensive details on the processing activities performed on a Manila file. Specify this logging level when trying to determine why a Manila file may have failed to be processed. Choosing this logging level on a large number of Manila files will increase the time it takes to complete Manila file processing.
Level 3: Developer verbose level 1. Specify this logging level to view the script routine names that are invoked during operation as well as the variables that are dynamically set. Choosing this logging level on a large number of Manila files will greatly increase the time it takes to complete Manila file processing.
Level 4: Developer verbose level 2. Specify this logging level to view the script routine names that are invoked during operation as well as the dynamic and common variables that are set. Choosing this logging level on a large number of Manila files will drastically increase the time it takes to complete Manila file processing.
Level 5: Developer verbose level 3. Specify this logging level to view the script routine names that are invoked during operation, display all script variables. Additionally, this logging level will create a .\_debug folder which will contain a copy of the files that are normally removed during a script routine operation. Choosing this logging level on a large number of Manila files will significantly increase the time it takes to complete Manila file processing.
The following log files are generated during MANILATOOL command script processing:
ManilaTool_Log_#.##.##.txt
ManilaTool_FileCopyLog_#.##.##.txt
ManilaTool_LUAFilesLog_#.##.##.txt
ManilaTool_MNFLog_#.##.##.txt
ManilaTool_Mode9Log_#.##.##.txt
ManilaTool_NonLUAFilesLog_#.##.##.txt
Very nice work as always 12
Very nice work on this, I am around now, So I can start to help out more, haha
Forgive me for being an utter dumbass.
I've got your kitchen and was trying it out. However, what files do I need to drop into folder 01_manila? I've tried dropping just the manila file into it, the extracted *.luac scripts but I keep getting errors saying no files found.
Kindly point me in the right direction?
Thanks.
KF
kinnyfaifai said:
Forgive me for being an utter dumbass.
I've got your kitchen and was trying it out. However, what files do I need to drop into folder 01_manila? I've tried dropping just the manila file into it, the extracted *.luac scripts but I keep getting errors saying no files found.
Kindly point me in the right direction?
Thanks.
KF
Click to expand...
Click to collapse
Yes sure, That's the reason I included the m9editor as well, for it's abilty todifferentiate between different kinds of manila files. Copy only the Lua files (unchanged) to the 01_manila folder. There is a checkbox in the m9editor and if you will check it, it allows copying of multiple files. After that you are good to go and you can run the 01_Decompile.bat, 12
12aon said:
That's whats up!
@MRFERRARI23
What I think that going wrong with you is that your files are not called xxxxxxxx_manila make sure they are name that way or the cab creation script won't recognize them.
One other thing I noticed is that the path to the kitchen contains names with spaces like "mr vizziato". This can throw the kitchen off. To test this put the kitchen directly in you C:\ folder or in any rate not in the folder with spaces in in their names, and check back with me, 12
Click to expand...
Click to collapse
the 2 files I have in there now just look like this 18c01b6d_manila and 72ac571f_manila so I think they are in there right
as for running the program im doing so right from my desktop screen cause when I try to run it from c drive an I go to name the cab It doesnt give me that black pop screen it goes to this white page with info that doesnt allow me to do anything!
EDIT: how do I eliminate that space between mr vizziato?? I cleared the space by going to the start menu an going to my name but idk still nothing
12aon, Please, help me. I can`t decompilled file from manila 2.1 "53cc1e4f_manila",
if you can do this - help me please.
View attachment 53cc1e4f_manila.zip
Hey man, I am currently on a trip in the USA and I do not have the means to help you decompile at the moment. If you want it decompiled right away you can check out stupy's threads and tutorials (I have links in my first post) but I warn you this is kinda hard, good luck, 12
12aon said:
Hey man, I am currently on a trip in the USA and I do not have the means to help you decompile at the moment. If you want it decompiled right away you can check out stupy's threads and tutorials (I have links in my first post) but I warn you this is kinda hard, good luck, 12
Click to expand...
Click to collapse
Ok, I will wait )))), and when you will be able to do this?
Thanks, really useful that you did!
Man, this is seriously awesome
Extremely helpful tool, thank you very much
Hi,
I search a way to run some terminal command at startup so that i can apply persistant tweak to the internal memory manager. ( how to here)
Is there an apps or something to do to achieve this?
Solved :
theboostman said:
I finaly found how to do the job. We can run script at boot even with Su permissions!
Using tasker to launch script at device boot.(I wanted to be able to set it directly in android like in windows anyway)
how to launch the script at boot :
Prerequisite (available in market):
- Tasker by Crafty Apps
- Locale Execute Plugin by Michael Mauch (no need for the main locale apps)
Create a "loadable" script:
Use script file in UNIX format with no extension in the name and use a key like "on" in your script to be able to start the script on tasker, if not it will not work.
I use NotePad ++ to create my script starting from a . txt and select Edit , EOL Conversion, Unix Format. Then save as "filename.txt" and rename to delete ".txt".
Copy the script on your sdcard (see samples in .zip attached)
In tasker, Create a new profile and select |System| , |Device Boot|.
Then select |New task| and |Add an action| , |Plugin| , |Execute|.
Then |Edit| and tip @! sh /sdcard/filename key
For example for file name "bofstask" that contain a script tweaking internal memory manager settings and vdd level of kamma's 1.4 kernel.
The script run when the key "on" is used, so tip @! sh /sdcard/bofstask on
Done.
Mod: Do you think this thread has to be moved on a more "developement" thread since it allow to run basic developpement script?
Click to expand...
Click to collapse
I've search a bit and found how to create the script than can be run to apply the settings I want but i still don't find where to put this file on the android system so that it will run at each boot...
It was very easy to do this in windows, I'm sure there is a way to do it in android!
please skilled guys point me to the right thread...
Run script at boot with SU permissions!
I finaly found how to do the job. We can run script at boot even with Su permissions!
Using tasker to launch script at device boot.(I wanted to be able to set it directly in android like in windows anyway)
how to launch the script at boot :
Prerequisite (available in market):
- Tasker by Crafty Apps
- Locale Execute Plugin by Michael Mauch (no need for the main locale apps)
Create a "loadable" script:
Use script file in UNIX format with no extension in the name and use a key like "on" in your script to be able to start the script on tasker, if not it will not work.
I use NotePad ++ to create my script starting from a . txt and select Edit , EOL Conversion, Unix Format. Then save as "filename.txt" and rename to delete ".txt".
Copy the script on your sdcard (see samples in .zip attached)
In tasker, Create a new profile and select |System| , |Device Boot|.
Then select |New task| and |Add an action| , |Plugin| , |Execute|.
Then |Edit| and tip @! sh /sdcard/filename key
For example for file name "bofstask" that contain a script tweaking internal memory manager settings and vdd level of kamma's 1.4 kernel.
The script run when the key "on" is used, so tip @! sh /sdcard/bofstask on
Done.
Mod: Do you think this thread has to be moved on a more "developement" thread since it allow to run basic developpement script?
Edit: Maybe should I just create a new thread and keep this one as it is...??
Ended up using SManager from the play store - working great!
most roms for dhd i have used also support init.d scripts. all you have to do is to put your script with no file extension in /system/etc/init.d folder and that is it
READ THIS ENTIRE GUIDE BEFORE ASKING QUESTIONS. READ THIS ENTIRE GUIDE BEFORE ATTEMPTING ANYTHING. READ THIS ENTIRE GUIDE FOR ALL THE HELPFUL INFORMATION CONTAINED IN IT. READ THIS ENTIRE GUIDE EVEN IF YOU KNOW WHAT YOU ARE DOING.
This guide is for anyone that would like to build their own custom keyboard with a customized layout with customized keys (hit one keyboard button and your entire email is filled in for you automatically). This method of hacking should work with other .apk files for similar endeavors. With this guide you should be able to create a custom keyboard based on the gingerbread keyboard. Read this entire guide before asking any questions. I have added information on the many things that have personally caused me errors. If you have problems with the program itself, post here asking for help, ask on the android developers's IRC channel, or read the FAQs posted about the different programs that must be used.
this is a windows 7 based guide; the only differences between W7 and other OS's is minor path changes and downloads (I don't think that android commander is available on Mac OSX)
Things that are required:
very basic commandline experience
APKtool
Signapk
android SDK installed and working (install all available packages if you do not know how to set up an emulator)
android commander -or- knowledge of how to install a custom .apk on your device
notepad -or- your favorite code editor
lots of debugging time, patience
an ability to navigate the above programs
**Common Commands**
1. apktool b <NAME OF DECOMPILED KEYBOARD FOLDER> <PATH LEADING TO YOUR FOLDER CONTAINING SIGNAPK (NAME THE FILE), READY TO COMPILE FOLDER>
2. java -jar signapk.jar testkey.x509.pem testkey.pk8 <NAMEOFFILE FROM ABOVE> <PATH TO YOUR ANDROID SDK TOOLS FOLDER>
3. adb install testsign.apk
#Protip: in Windows 7 (Vista?) hold the shift button as you right click in a folder to open a commandprompt in that directory
Command 1. is to be run from the directory holding your apk folder (do not go inside the decompiled apk folder; if you can see Android Manifest you've gone too far). The command will place the compiled apk folder into your signapk folder assuming you have set up the above commands correctly. As a side note, the compiled apk will be called "test.apk". If you want to decompile (go from an apk to "undone" folder just use "apktool d <NAME OF APK> <OUTPUT FOLDER NAME INCLUDING ITS DESIRED DIRECTORY {EX: c:\android-sdk\keyboard\gingerbredkeyboard}>
Command 2. will sign the apk file called "test.apk" and save the result in your tools folder inside your android sdk folder.
Command 3. will install the apk into your running emulator. This is optional since you can from here install the file onto your device to test things out. However, I highly recommend using the emulator because it is easier to deal with. This command will fail if your emulator has been left alone for a little while. Just do some sort of action in your emulated device to "wake it up" so that the command will find the running emulator. After you install the apk, you may need to delete the old apk before you install a newer version that you have created.
-----
Keyboard stuff
When you decompile the keyboard file, you'll see a bunch of folders, the main folders that you'll want to focus on are inside res\xml and res\values (res\drawable-Xdpi if you want to make a complete theme with new images). From here the xml files governing the keyboard layout should be readable by any xml editor (notepad). Some of my notes will be written below so you can use what I've discovered to generate your own code. As a quick note, the cases of letters count, you must be perfect in your xml code.
The xml files are all named with self explanatory names, just look down the list at the names and you should find what you're looking for.
values and xml folders with letters after it mean that those are aspects that are only going to work for a specific language; if you want to make global commands for any language on the keyboard use the xml files that do not have a suffix. From here you can be creative and hijack a language that you won't normally use and use it as your own personal keyboard with special keys and whatnot (a keyboard just for accented letters? personal word shortcuts?)
code examples:
android:keyLabel="Hi"
this line is what will show up on the keyboard key in question, as above, "Hi" will be printed on this key
androidopupCharacters="★"
this line is what will show up when you hold down the key in question, you will get options for ★ with this code; do not use commas to separate symbols/letters, each individual character will be it's own separate key
android:keyOutputText=";] " self explanitory, anything contained inside the quotes will be printed when the key is pressed, leave a space like I did after smilies so that you dont' have to hit the spacebar after using this key; see exceptions below
droid:keyEdgeFlags="left" is used in the <key> entry of anything on the left "edge" of a <row>
droid:keyEdgeFlags="right" same as above, but used on the rightmost key
EXCEPTIONS:
Certain characters are used in coding, if you don't enter them a special way, you will receive errors in your code when compiling or the key will simply not work. In order to use commands that "print" text with exceptions in them, prefix the exception with a "\". For example: android:keyOutputText="\@" will print the character "@". A list of known exceptions are listed below, there may be others. Special, special exceptions also exist where even prefixing it causes coding problems, in these cases, use its "name" in place of its actual character. For example: the ampersand character '&", you must use the code associated with it; see the "popup_punctuation.xml" file for some of these exceptions. There may be more exceptions that I have not come across. If you're having problems with your keyboard and cannot figure out why your key is not showing up correctly, try to treat it as an exception.
Characters that are exceptions:
#
@
?
"
IMPORTANT EXCEPTION:
I couldn't get the popup_comma.xml file to work with the above exceptions rule or with the keyoutputtext code
Putting it all together:
<Key android:keyLabel="\@G!" android:keyOutputText="cheval.de.jeanvaljean\@gmail.com" android:keyEdgeFlags="left"/>
The above will draw a key that's labeled "@G!" that yields "[email protected]" that is also the leftmost tag in a given row. Personally, I have added similar code to the above so that I have keys for the handles "@gmail.com" and "@yahoo.com" (along with my personal email so I never have to type it out all the way ever again) to the period key on the keyboard (in xml "popup_punctuation.xml"). I have also tweaked the smilies on the enter key to my own personal smilies. Assuming you've read the above and have some minimal xml experience you can figure out the rest for yourself. There are many other things that I have left out code-wise that I found to be extremely easy to figure out just by browsing the source code. As a personal tip to you, I recommend highly that you use the emulator as it is far easier than pushing files to your phone, deleting them, blah blah blah.
---
Have fun and good luck =]
Good evening ladies and gentleman.
I have HTC Titan I (x310e) with developer unlock and I was unable install and launch Julien Schapman apps - Advanced Config Tool and RegistryEditor. I was looking for a solution and today I have that.
We have to (my movie):
1. Download xap files:
- Advanced Config Tool - http://www.touchxperience.com/forum/viewtopic.php?f=11&t=890 (working good only version 1.5.0.0 to install in settings)
- RegistryEditor - http://www.touchxperience.com/forum/viewtopic.php?f=20&t=593 (working good only version 1.1.0.0)
2. Rename extension from *.xap to *.zip.
3. Open these with system (Win7) support (not 7zip, WinRAR, etc.).
4. Cut file: WMAppManifest.xml and paste in other folder.
5. Open that file with system text editor (right click and select edit).
6. Remove line with text: "INTEROPSERVICES" and save the changes.
7. Copy this file to zip folder with app.
8. Change it back to a *.xap extension and now we can deploy him.
Enjoy
EDIT
SORRRY APP LAUNCH BUT NOT WORKING. I LOOKING FOR NEXT METHOD.
it is not possible. Interop is what is required to make the app work. So without it you can install it but it wont work hence there is no way to do what you want currently
Relatedly, this fact has been known for... ever since the Mago betas came out, I think? So, probably about half the lifetime of the OS. I guess when things are that old, it's easier to "discover" stuff that doesn't work than read the old threads.
Your phone is interop-locked. You can only install or run apps without ID_CAP_INTEROPSERVICES, unless those apps come from the Marketplace. As a general rule, if an app requests ID_CAP_INTEROPSERVICES (or other capabilities), that's because it's using it for something...
Budniu said:
Good evening ladies and gentleman.
I have HTC Titan I (x310e) with developer unlock and I was unable install and launch Julien Schapman apps - Advanced Config Tool and RegistryEditor. I was looking for a solution and today I have that.
We have to (my movie):
1. Download xap files:
- Advanced Config Tool - http://www.touchxperience.com/forum/viewtopic.php?f=11&t=890 (working good only version 1.5.0.0 to install in settings)
- RegistryEditor - http://www.touchxperience.com/forum/viewtopic.php?f=20&t=593 (working good only version 1.1.0.0)
2. Rename extension from *.xap to *.zip.
3. Open these with system (Win7) support (not 7zip, WinRAR, etc.).
4. Cut file: WMAppManifest.xml and paste in other folder.
5. Open that file with system text editor (right click and select edit).
6. Remove line with text: "INTEROPSERVICES" and save the changes.
7. Copy this file to zip folder with app.
8. Change it back to a *.xap extension and now we can deploy him.
Enjoy
EDIT
SORRRY APP LAUNCH BUT NOT WORKING. I LOOKING FOR NEXT METHOD.
Click to expand...
Click to collapse
Followed the method to insall Advanced Config. Now how can I uninstall it? Since I have 3 unsigned app limit, so I cant afford to waste a slot on an app that highly desirable but not useful.
elixir_pr said:
Followed the method to insall Advanced Config. Now how can I uninstall it? Since I have 3 unsigned app limit, so I cant afford to waste a slot on an app that highly desirable but not useful.
Click to expand...
Click to collapse
You can try to install ORIGINAL Advanced Config Tool file - you get error but uninstall actual version from the system.