If you are a MoKee OpenSource user, you will realise that the theme chooser is borked since MK43. Themes that used to work can't be used anymore, and if applied, the whole system will crash. A few months has passed since then, and now, we are glad to say that the solution is HERE AT LAST!!! 
The Problem:
In MK43, we separated some parts of framework-res.apk into mokee-res.apk to ease development. However, this also broke theme chooser. Themes cannot find the resources they want to redirect anymore, but the weird thing is, certain themes could still function normally. So the long journey of debugging started, but no results....till recently, we found this:
https://code.google.com/p/tmobile-themes/wiki/NewGlobalThemeEngineDesign
The main point is at:
After decompiling a few problematic themes, res/values/public.xml was found to be populated with 0x02. The T-Mobile Theme Engine originally accepted only 0x0a, but CM made some changes so that others can be accepted as well. However, due to the major changes in MoKee, the changes lost its effect. Therefore, we have to revert to the default 0x0a. To achieve this, we need to recompile the theme APKs with custom made apktool and aapt.
In MK43, we separated some parts of framework-res.apk into mokee-res.apk to ease development. However, this also broke theme chooser. Themes cannot find the resources they want to redirect anymore, but the weird thing is, certain themes could still function normally. So the long journey of debugging started, but no results....till recently, we found this:
https://code.google.com/p/tmobile-themes/wiki/NewGlobalThemeEngineDesign
The main point is at:
Resources are generated in the 0x0a package scope. This is designed to separate them in the AssetManager's ResTable. The framework currently uses 0x01 while application packages normally use 0x7f. The aapt tool was modified to support assigning arbitrary package scopes and so you must use the aapt tool found in the themes tree for building your own themes.
After decompiling a few problematic themes, res/values/public.xml was found to be populated with 0x02. The T-Mobile Theme Engine originally accepted only 0x0a, but CM made some changes so that others can be accepted as well. However, due to the major changes in MoKee, the changes lost its effect. Therefore, we have to revert to the default 0x0a. To achieve this, we need to recompile the theme APKs with custom made apktool and aapt.
Requirements:
Must install JRE 1.7, you can get it here:
http://www.oracle.com/technetwor ... nloads-1880261.html
Windows users please follow this after installing: http://javarevisited.blogspot.co ... java-windows-7.html
Must install JRE 1.7, you can get it here:
http://www.oracle.com/technetwor ... nloads-1880261.html
Windows users please follow this after installing: http://javarevisited.blogspot.co ... java-windows-7.html
Windows Tutorial:
1. Download mokee-theme-fixer_[version number]-windows.zip and extract the folder named "mokee" in it.
2. Open the "mokee" folder and you will see a few more folders. Place the APKs you want to fix into the folder named "input".
3. Run "mokee.bat" and let the magic happen!
4. If successful, the fixed APKs will be in the "output" folder, now named "done-[original name].apk".
1. Download mokee-theme-fixer_[version number]-windows.zip and extract the folder named "mokee" in it.

2. Open the "mokee" folder and you will see a few more folders. Place the APKs you want to fix into the folder named "input".

3. Run "mokee.bat" and let the magic happen!


4. If successful, the fixed APKs will be in the "output" folder, now named "done-[original name].apk".

Linux Tutorial:
1. Download mokee-theme-fixer_[version number]-linux.zip and extract the folder named "mokee" in it.
2. Open the "mokee" folder and you will see a few more folders. Place the APKs you want to fix into the folder named "input".
3. Execute "mokee.sh" and let the magic happen! (Remember to cd to that directory if using Terminal)
4. If successful, the fixed APKs will be in the "output" folder, now named "done-[original name].apk".
1. Download mokee-theme-fixer_[version number]-linux.zip and extract the folder named "mokee" in it.
2. Open the "mokee" folder and you will see a few more folders. Place the APKs you want to fix into the folder named "input".
3. Execute "mokee.sh" and let the magic happen! (Remember to cd to that directory if using Terminal)
4. If successful, the fixed APKs will be in the "output" folder, now named "done-[original name].apk".
Note:
1. The Windows version was developed and tested in Windows 8.1.
2. The Linux version was developed and tested in Ubuntu 12.04 LTS.
3. If you cannot execute the Linux version, please chmod 755 mokee/mokee.sh and mokee/tools/aapt.
1. The Windows version was developed and tested in Windows 8.1.
2. The Linux version was developed and tested in Ubuntu 12.04 LTS.
3. If you cannot execute the Linux version, please chmod 755 mokee/mokee.sh and mokee/tools/aapt.
Credits:
- Apktool developers:
- @Brut.all
- @iBotPeaches - win-bash (bash port for Windows) (too lazy to write a batch script...
)
- GNU utilities for Win32 (too lazy to write a batch script...
)
- Ultimate Packer for eXecutables (UPX)
Changelog:
Code:
[U]v1:[/U]
- Initial release
[U]v2:[/U]
- Fixed aapt not accepting uppercase letters and reduced size with strip and UPX
- Reduced size of Windows executables with strip and UPX
Last edited: