I AM NOT RESPONSIBLE FOR WHATEVER HAPPENS TO YOUR PHONE!
You must be rooted!
This is a guide on manually deodexing, you phone. (Duh!)
The reason I am making this tutorial is because I could not get my theme to work with Teenfaces deodexed nandroid. You may want to follows this if you have the same problem as me, or if you just want to take a shot at doing it.
What you'll need:
A Windows based machine
xUltimate v2.2
Patience
Process:
1. Unzip xUltimate v2.2, and launch "Main.exe"
2. If everything goes well xUlt should recognize the phone and make a connection. You now should see a list of options.
3. Run option 1. After option 1 is done, run option 2.
4. Now these well take a while. Run option 3.
5. IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex". It's a bad file, and interferes with deodexing process.
6. Now run option 4, and wait.
7. Exit xUltimate, and put the phone in USB mass storage.
8. Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
9. Put the phone in PC mode
10. Open a command prompt, and do the following:
Code:
adb shell
su
stop
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
rm /system/app/*.odex
rm /system/framework/*.odex
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot
Your phone should now be deodexed!
You may notice an increase in speed, and you now have the ability to edit certain files with greater effects. (i.e. services.jar)
Credits:
Rainabba and Mike919: For initially working with me to get a white clock, and later deodex.
toxman: For testing, and being a huge risk taker.
teenfaces: For letting me use his services.jar
And especially Xeudoxus: For letting me a guinea pig, for xUltimate, and answering my questions. And also for the making the xUltimate tool. It defiantly makes thing easier.
what is deodexing?
Was searching through the forum for a definition but no luck
geoxda said:
what is deodexing?
Was searching through the forum for a definition but no luck
Click to expand...
Click to collapse
it allows us to customize system files so we can theme.
http://www.droidforums.net/forum/dro...-deodexed.html
I get file not found on option 3. Fresh SBF 2.1, only thing is i am rooted... Any Ideas on this?
thank you message too short filler
Don't think you need to do this on 2.1 as you can put in a modified services.jar and it updates the system clock to different colors (usually white).
inzandity said:
Don't think you need to do this on 2.1 as you can put in a modified services.jar and it updates the system clock to different colors (usually white).
Click to expand...
Click to collapse
I want to deodex the phone as suggested by the OP, not just the clock.
Tested and does NOT work with Droid 2 2.2. Phone locks up at "cp /sdcard/done_app/* /system/app"
This must be done one 2.2. I Never ;put of a warning because I assumed the majority of people have already switched.
Can the code above be done on terminal emulator on the droid x
I got to step 4 (which is pressing 3 to start deodexing) and I got this message on the third element:
Starting Bluetooth.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Ljavax/obex/ServerRequestHandler;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:93)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lcom/android/bluetooth/opp/BluetoothOppObexServerSession; from file .\origi_app\Bluetooth.odex
Error while loading ClassPath class Lcom/android/bluetooth/opp/BluetoothOppObexServerSession;
* *
*****************************************
Restarting Bluetooth.odex
*****************************************
* ERROR! Trying something different! *
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Lcom/htc/app/HtcAlertActivity;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.java:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:100)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lcom/android/bluetooth/opp/BluetoothOppBtEnableActivity; from file .\origi_app\Bluetooth.odex
Error while loading ClassPath class Lcom/android/bluetooth/opp/BluetoothOppBtEnableActivity;
Press any key to continue . . .
*****************************************
MAJOR ERROR!! WITH DEODEXING! Bluetooth.odex
*****************************************
********DELETING INCORRECT FILES*********
please exit out of window "***Deodexing ADB Window, DO NOT EXIT!***"
Press any key to continue . . .
My DInc. is rooted and running 2.2: 3.21.605.1
Do I need to be in recovery with system mounted to make this work?
Does this only work on the Droid X?
Xxq TZ pxX said:
I got to step 4 (which is pressing 3 to start deodexing) and I got this message on the third element:
Starting Bluetooth.odex
*****************************************
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Ljavax/obex/ServerRequestHandler;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:93)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lcom/android/bluetooth/opp/BluetoothOppObexServerSession; from file .\origi_app\Bluetooth.odex
Error while loading ClassPath class Lcom/android/bluetooth/opp/BluetoothOppObexServerSession;
* *
*****************************************
Restarting Bluetooth.odex
*****************************************
* ERROR! Trying something different! *
* Deodexing... *
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Lcom/htc/app/HtcAlertActivity;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.java:131)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:100)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lcom/android/bluetooth/opp/BluetoothOppBtEnableActivity; from file .\origi_app\Bluetooth.odex
Error while loading ClassPath class Lcom/android/bluetooth/opp/BluetoothOppBtEnableActivity;
Press any key to continue . . .
*****************************************
MAJOR ERROR!! WITH DEODEXING! Bluetooth.odex
*****************************************
********DELETING INCORRECT FILES*********
please exit out of window "***Deodexing ADB Window, DO NOT EXIT!***"
Press any key to continue . . .
My DInc. is rooted and running 2.2: 3.21.605.1
Do I need to be in recovery with system mounted to make this work?
Does this only work on the Droid X?
Click to expand...
Click to collapse
Lol, sorry to be rude. But this is in teh Droid X section. I'm sure the Dinc has some way of being deodexed.
Hi I'm a noob when it comes to droid x and theming can you run the code from terminal emulator on the droid x or do you need a laptop to do it thanks
bigdade said:
Hi I'm a noob when it comes to droid x and theming can you run the code from terminal emulator on the droid x or do you need a laptop to do it thanks
Click to expand...
Click to collapse
What do you mean the code?
If you mean what is in the code tags. No. If be you mean the numbered directions no. you need a computer.
I meant what is in the code box with the commands su and such
Whew!! Finally got this done, after 4 .sbf flashes?! BUT how can I be sure??
When I ran "mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system" at the end of the process I got "Device or Resource Busy", is that ok or am I going to have trouble?
urufu_shinjiro said:
When I ran "mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system" at the end of the process I got "Device or Resource Busy", is that ok or am I going to have trouble?
Click to expand...
Click to collapse
I had this as well. All that part does is re-mount the system partition as RO (Read Only). This is done when you reboot as well. So if you rebooted at the end of the process, it was taken care of.
i cant get past option 3 , keeps sayin file not not , i look in the folders and all of the files were put in there
i have a rooted Droid X running 2.2 with some bloatware removed. am i a candidate for this?
also how's the success/failure rate with this method?
Here how i want to made a change in LatinIME.apk ( Keyboard ) in Bruce2728 Rom
1. I work on (AutoAPKTool2.0.4)
2. I download the rom cm-10-20121030-bruce2728-pyramid (HTC Sensation)
3. I drag out the file from APP directory (LatinIME.apk) this is keyboard to desktop
4. Then i go to Framework directory in this rom and drag out file Framework-res.apk and drag it to desktop
5. Then i add this 2 files in "AutoAPKTool2.0.4\_INPUT_APK" and run AutoAPKToolMain.bat
6. When open this window i select number 1 (if framework-res.apk) and press enter
7. Then i select number 81 ( Instrall additional framework file ) and add the location of Framework-res.apk witch is in _INPUT_APK and press enter
8. Then i select number 6 and add location of LatinIME.apk and press enter and wait until decompile
9. When decompile end i open the "AutoAPKTool2.0.4\_INPUT_APK\LatinIME\res\values" directory and edit Style.xml with notepad++ ( <item name="keyHintLetterColor">#80000000</item> ) to ( <item name="keyHintLetterColor">#80E0E4E5</item> )
10. Then i go back to AutoAPKToolMain.bat and select number 9 and add location of "\_INPUT_APK\LatinIME" and press enter
11. Wait until recompile and then i get this error:
"[*] "C:\Documents and Settings\Anonymous26\Desktop\AutoAPKTool2.0.4\_INPUT_APK\LatinIME"
recompiling "C:\Documents and Settings\Anonymous26\Desktop\AutoAPKTool2.0.4\_INPUT_APK\LatinIME"...
I: Smaling...
I: Building resources...
I: Copying libs...
I: Building apk file...
The system cannot find the drive specified."
12. Ok i close this log and open "AutoAPKTool2.0.4\_INPUT_APK\LatinIME\dist\LatinIME.apk ( Recompiled File ) and drag out this resources.arsc and drag it to desktop
13. Then i open the original LatinIME.apk and replace Original Resources.arsc with edited Resources.arsc
14. Then i upload this file to SD card and install it then start install and when must type App installed type app not installed :/
Does anyone know what is wrong ?
Hi,
You are better off asking where a dev or themer will see this.
Look HERE
XporteR21 said:
Here how i want to made a change in LatinIME.apk ( Keyboard ) in Bruce2728 Rom
1. I work on (AutoAPKTool2.0.4)
2. I download the rom cm-10-20121030-bruce2728-pyramid (HTC Sensation)
3. I drag out the file from APP directory (LatinIME.apk) this is keyboard to desktop
4. Then i go to Framework directory in this rom and drag out file Framework-res.apk and drag it to desktop
5. Then i add this 2 files in "AutoAPKTool2.0.4\_INPUT_APK" and run AutoAPKToolMain.bat
6. When open this window i select number 1 (if framework-res.apk) and press enter
7. Then i select number 81 ( Instrall additional framework file ) and add the location of Framework-res.apk witch is in _INPUT_APK and press enter
8. Then i select number 6 and add location of LatinIME.apk and press enter and wait until decompile
9. When decompile end i open the "AutoAPKTool2.0.4\_INPUT_APK\LatinIME\res\values" directory and edit Style.xml with notepad++ ( <item name="keyHintLetterColor">#80000000</item> ) to ( <item name="keyHintLetterColor">#80E0E4E5</item> )
10. Then i go back to AutoAPKToolMain.bat and select number 9 and add location of "\_INPUT_APK\LatinIME" and press enter
11. Wait until recompile and then i get this error:
"[*] "C:\Documents and Settings\Anonymous26\Desktop\AutoAPKTool2.0.4\_INPUT_APK\LatinIME"
recompiling "C:\Documents and Settings\Anonymous26\Desktop\AutoAPKTool2.0.4\_INPUT_APK\LatinIME"...
I: Smaling...
I: Building resources...
I: Copying libs...
I: Building apk file...
The system cannot find the drive specified."
12. Ok i close this log and open "AutoAPKTool2.0.4\_INPUT_APK\LatinIME\dist\LatinIME.apk ( Recompiled File ) and drag out this resources.arsc and drag it to desktop
13. Then i open the original LatinIME.apk and replace Original Resources.arsc with edited Resources.arsc
14. Then i upload this file to SD card and install it then start install and when must type App installed type app not installed :/
Does anyone know what is wrong ?
Click to expand...
Click to collapse
Whats wrong with just apktool - that on its own has never failed me, its only when you add other utilities in that things **** up (with the exception of VTS which I use for multiple apk like the tweaks but for single apk I use apktool on its own). Also with apktool on its own, its a hell of a lot easier to debug problems
So what tools to use
Sent from my HTC Sensation using xda app-developers app
XporteR21 said:
So what tools to use
Sent from my HTC Sensation using xda app-developers app
Click to expand...
Click to collapse
Virtuous Ten Studio: http://www.virtuousrom.com/p/ten-studio.html
Apktool 1.5.0 by iBotPeaches: http://forum.xda-developers.com/showthread.php?t=1755243
Replace the apktool in the virtuous program files folder with the iBotPeaches one - I have never had any problems decompiling/recompiling apk's or jar's with this combination
Jonny said:
Virtuous Ten Studio: http://www.virtuousrom.com/p/ten-studio.html
Apktool 1.5.0 by iBotPeaches: http://forum.xda-developers.com/showthread.php?t=1755243
Replace the apktool in the virtuous program files folder with the iBotPeaches one - I have never had any problems decompiling/recompiling apk's or jar's with this combination
Click to expand...
Click to collapse
heheheh i try you're metod and it's working i can install the app but app crash every time i open it :/
XporteR21 said:
heheheh i try you're metod and it's working i can install the app but app crash every time i open it :/
Click to expand...
Click to collapse
replied to the PM
still no secsess ;(
Sent from my HTC Sensation using xda app-developers app
Hy all i know i'm anoying with this but i realy want to edit this apk file (LatinIME.apk) can ayone explane me what is wrong whit this error and how to fix it :/
Oky Step by Step
1. I work on (AutoAPKTool2.0.4)
2. I download the rom cm-10-20121030-bruce2728-pyramid (HTC Sensation)
3. I drag out the file from APP directory (LatinIME.apk) this is keyboard to desktop
4. Then i go to Framework directory in this rom and drag out file Framework-res.apk and drag it to desktop
5. Then i add this 2 files in "AutoAPKTool2.0.4\_INPUT_APK" and run AutoAPKToolMain.bat
6. When open this window i select number 1 (if framework-res.apk) and press enter
7. Then i select number 81 ( Instrall additional framework file ) and add the location of Framework-res.apk witch is in _INPUT_APK and press enter
8. Then i select number 6 and add location of LatinIME.apk and press enter and wait until decompile
9. When decompile end i open the "AutoAPKTool2.0.4\_INPUT_APK\LatinIME\res\valu es" directory and edit Style.xml with notepad++ ( <item name="keyHintLetterColor">#80000000</item> ) to ( <item name="keyHintLetterColor">#80E0E4E5</item> )
10. Then i go back to AutoAPKToolMain.bat and select number 9 and add location of "\_INPUT_APK\LatinIME" and press enter
11. Wait until recompile and then i get this error:
"[*] "C:\Documents and Settings\Anonymous26\Desktop\AutoAPKTool2.0.4\_INP UT_APK\LatinIME"
recompiling "C:\Documents and Settings\Anonymous26\Desktop\AutoAPKTool2.0.4\_INP UT_APK\LatinIME"...
I: Smaling...
I: Building resources...
I: Copying libs...
I: Building apk file...
The system cannot find the drive specified."
12. Ok i close this log and open "AutoAPKTool2.0.4\_INPUT_APK\LatinIME\dist\LatinIM E.apk ( Recompiled File ) and drag out this resources.arsc and drag it to desktop
13. Then i open the original LatinIME.apk and replace Original Resources.arsc with edited Resources.arsc
14. Then i upload this file to SD card and install it then start install and when must type App installed type app not installed :/
i allready try with Virtous ten Studio i Decompile file, edit it, recompile back to apk, sign it, uplolad on sd card, install it... and still crash every time i open the keyboard every time i want to type any message.... Sorry i'm new in this :/
It is very popular for android users to flash custom recoveries like the famous ClockWorkMod, but sometimes even small errors like a missing ';' can cause the flashing of zips to fail with "Status x" errors. I have compiled together all that I know here in this post to make it convinient to solve these annoying errors.
Staus 0:
This error is usually caused by incompatible update-binary in the META-INF/com/google/android directory of your zip.
Solution:
Extract the update-binary from the flashable zip of any rom made for your device and put it in the META-INF/com/google/android folder of your zip. This will, most of the time, solve status 0 errors.
Status 4:
This error is usually either no update(r)-script in your zip, or you placed the update(r)-script in the wrong location, causing Clockworkmod recovery to be unable to find it.
Status 6:
This error is usually caused by wrong EOL(End Of Line terminators) that is not readable by ClockWorkMod recovery. It can also be caused by no ';' at the end of a line, or no close brackets ')'.
Solution: If you used ES File Explorer version 1.6.2.5 and below to write the script, when you open any text, the default EOL terminators will be set to Windows terminators, which is not readable to clockworkmod recovery. You should click the menu button of your device, goto Settings and click on Line Terminator and select "UNIX Terminators - LF". Done!
Alternative Solution(Windows): Install Notepad++ attached below and under edit, goto EOL xxx and select UNIX. Done!
For Linux, just open the script with the default text editor. It will automatically have UNIX EOL terminators, so this does NOT happen on Linux.
Status 7: This is a little more tricky. There may be a typo or incomplete sentence, or no close inverted commas("). Just check through the script for any errors in typing and you should be fine.
This is all the errors that I have encountered, if there are more, just post the kind of Status encountered and I will be happy to help!
Note: The arrangement of the Notepad++ files are:
1. Notepad++ Installer(Remove the .zip extension behind the file, this is a valid Windows executable, not a zip)
2. zipped Notepad++(Portable)
3. 7-zipped Notepad++(Portable)
4. Notepad++ Mnimalist(No plugins, extensions, etc.)
Hi XDA.
I have created automatic version of this One Click Signer:
(Click to thanx here FIRST! ->) http://forum.xda-developers.com/showthread.php?t=822388 (<- Click to thanx here FIRST!)
This version Works for Quantum of files at same time.
There are two DIRs:
Input - move here all APK and ZIP files to sign.
Output - here comes Signed APKs and ZIPs.
How to use?
1. Download auto-sign.zip from this thread.
2. Unzip it.
3. Run once autosign.bat.
4. Now, Input and Output folders was created.
5. Move all your Unsigned APK and ZIP files into Input folder.
6. Run autosign.bat again.
7. Wait until CMD windows closes.
8. Now you have Signed Your APKs and ZIPs in Output folder.
Click to expand...
Click to collapse
If you think, that is virus, or any harmful file,
you can right click on any .bat or .cmd file, and use EDIT option.
Here you can see all code, that files do.
Thanx to ASimmons, and dont forget to hit "Thanks!" button on his thread too! (link above)
Sorry for my BAD English.
//ANY PROBLEMS?
1. Output DIR is empty.
- move your auto-sign folder to root of C: drive, maybe run it as administrator.
2. Files are in output folder, but not signed
- check if you have Java Runtime SE Library, try to reinstall it.
if you have 64 bit system, and 64 bit Java, try to install 32 bit java too.
Thanks, gouster3.
Very easy to use Signer. However, using it to create an 'update.zip' package for my tablet was unsuccessful due to the 'zipalign' step at the end. So I reversed the steps as follows in "do2.cmd", then it was accepted (although this way the ZIP isn't fully aligned) :
Code:
setlocal EnableDelayedExpansion
@ECHO off
SET rom=%1
copy !rom! x!rom!
cd lib
rem zip align
zipalign -f 4 ..\x!rom! ..\signed-!rom!
rem sign the rom
java -Xmx512m -jar signapk.jar -w testkey.x509.pem testkey.pk8 ..\signed-!rom! ..\signed-!rom!
cd ..\
del x!rom!
Joe.