yashsingh1/xdaforums huggingface dataset:
[G1 Android Development] karnovaran:
Ha, yeah. I already typed it out:

am.jar:
android.policy.jar:
android.test.runner.jar:
bmgr.jar:
com.cequint.platform.jar:
com.google.android.maps.jar:
com.motorola.android.camera.jar:
com.motorola.android.customization.jar:
com.motorola.android.datamanager.base.jar:
com.motorola.android.dlna.jar:
com.motorola.android.drm1.jar:
com.motorola.android.Firewall.jar:
com.motorola.android.frameworks.jar:
com.motorola.android.mediasync.jar:
com.motorola.android.mime.jar:
com.motorola.android.mobad.jar:
com.motorola.android.syncml.jar:
com.motorola.android.telephony.jar:
com.motorola.android.widget.jar:
com.motorola.android.wmdrm.jar:
com.motorola.atcmd.base.jar:
com.motorola.atcmd.pluginMgr.jar:
com.motorola.blur.library.friendfeed.jar:
com.motorola.blur.library.home.jar:
com.motorola.blur.library.messaging.jar:
com.motorola.blur.library.service.jar:
com.motorola.blur.library.utilities.jar:
com.motorola.tiltscroll.jar:
com.pv.extensions.jar:
core.jar:
dmt.jar:
ext.jar:
framework.jar:
framework-tests.jar:
guava.jar:
ime.jar:
input.jar:
javax.obex.jar:
jcifs-krb5-1.3.12.jar:
monkey.jar:
pm.jar:
services.jar:
svc.jar:
[G1 Android Development] Daneshm90:
Well u can try, don't remember the limit for # of characters in the dos window.
[G1 Android Development] karnovaran:
I'm obviously doing something very simple wrong:

Please make your decision: 2
Enter Custom BootClassPath (ex 1.jar:2.jar:3.jar): am.jar:android.policy.jar:and
roid.test.runner.jar:bmgr.jar:com.cequint.platform.jar:com.google.android.maps.j
ar
Optimizing JARs...
A subdirectory or file deodexed_JAR already exists.
Optimizing framework: My...

7-Zip (A) 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03

Error:
cannot find archive
Deodexing JAR...
Can't find the file H:\My Docs\Downloads\Deodexer_2_3\framework\My.odex
The system cannot find the file specified.
Optimizing APKs...
A subdirectory or file deodexed_APK already exists.
Optimizing My...
The system cannot find the file specified.
-------------------------------------

Same errors on option 1. I'm not sure what archive is missing and there is no My.odex in framework.
[G1 Android Development] Daneshm90:
Make sure ur directory path doesnt have any spaces / wierd characters in it.

So not like c:\1_2\ 3 4

something plain like

c:\1\23
[G1 Android Development] Dexter_nlb:
i have already deodex'd the Droid2 firmware 2.2.90 which you are looking right now...

download the Milestone MotoBlur mod, here you all files deodex'd and sign'd with testkeys.
[G1 Android Development] karnovaran:
D'oh.. I had even read that disclaimer too. Thanks.

Excellent, I'll take a look.
[G1 Android Development] Phk:
Hey guys,

I'm trying a few ROMs for my Samsung Galaxy S, but whenever i use a deodexed\zipaligned ROM, my bluetooth car audio connection drops every 30seconds!!

What could cause this instability? Is it related to Bluetooth.apk requiring a special javax.obex.jar class?

It's really weird.. All odex'd rom work ok, all de'odex'd don't.

cheers

Phk
[G1 Android Development] Dexter_nlb:
i experienced problems when any png,ogg,wav was packed.. so

my 7za lines look like this now

..\..\7za a -tzip -xr!?*ogg -xr!?*png -xr!?*wav ..\..\deodexed_APK\%~n1._apk * -mx5

..\..\7za u -tzip -ir!?*ogg -ir!?*png -ir!?*wav ..\..\deodexed_APK\%~n1._apk * -mx0

first pack all with level 5, excluding ogg,png,wav

then no packing with ogg,png,wav..

i never have problems anymore, and my files are still smaller than original jar/apk if its not odex'd..
[G1 Android Development] Phk:
But that's with Bluetook.apk? Can you send it ?
[G1 Android Development] Dexter_nlb:
i think my bluetooth.apk for froyo on milestone is different..

but it affect all apk's if they include sound,graphics, so replace the lines and see if it works in the deoapk script.
[G1 Android Development] tijs14tijs:
Damn cool, love it! works great
[G1 Android Development] itsmikeramsay:
@Daneshm90

Great job on this scripting application!!! I'm enjoying the luxuries of not having to do this manually lol.

I'm trying to Deodex the leaked Froyo update for the Captivate. I've deodexed everything including the framework, but a few apps haven't been deodexed. I'm missing maybe 17 out of 95 apks that still need deodexing. They are:

BluetoothOPP.apk

CalendarProvider.apk

Camera.apk

ClockPackage.apk

Contacts.apk

DialerTabActivity.apk

Dlna.apk

Email.apk

FactoryTest.apk

JobManager.apk

MusicPlayer.apk

SamsungWidget_FeedandUpdate.apk

SamsungWidget_ProgramMonitor.apk

SelfTestMode.ak

*Settings.apk

SoundPlayer.apk

TouchWizCalendar.apk

VideoPlayer.apk

VoiceRecorder.apk

Most of these apks are needed, but I want to be able to theme/mod a few of them. Now I copied them from the app folder into the deodexed_jar folder and copied and paste the script that it asks me to enter and I get this:

Please make your decision: 2

Enter Custom BootClassPath (ex 1.jar:2.jar:3.jar): core.jar:ext.jar:framework.ja

r:android.policy.jar:services.jar:com.htc.framework.jar:com.htc.android.pimlib.j

ar:com.htc.android.easopen.jar:com.scalado.util.ScaladoUtil.jar:javax.obex.jar:c

om.google.android.maps.jar

Optimizing JARs...

A subdirectory or file deodexed_JAR already exists.

Optimizing APKs...

A subdirectory or file deodexed_APK already exists.

I've also tried entering the actual names of the files that need to be deodexed, and I still get the same feedback. What am I doing wrong? Can these files still be deodexed?
[G1 Android Development] Asadullah:
I cannot for the life of me deodex the latest mytouch 32b froyo update. I already updated to the latest smali baksmali.
[G1 Android Development] Slinker:
Trying to deodex the apps from the samsung galaxy 5... any ideas of the bootclass?

this is the error i'm getting

[COLOR="red"]Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core
.odex
at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.jav
a:237)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:14
5)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(Cla
ssPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:93)[/COLOR]
[G1 Android Development] Daneshm90:
Core.jar :confused:
[G1 Android Development] Slinker:
i'll try... thanks...
[G1 Android Development] Dexter_nlb:
i used this initially in my mods, but i seem to have some problems with the compression of contents, maybe some of you found a solution.

- With SenseUI roms, when its deodex'd, it starts reloading alot.

- I cannot compress all contents, when trying to, some apk's fail loading audio files (this is seen in logcat), so i included an allaround solution so all ogg,wav files never gets compressed, then it worked. but what is the experience of others doing this?

- Performance, memory etc.. anyone else having these issues on phones with less memory?

(Maybe little offtopic)

Reverting these deodex'd files, to odex again using a dexopt-wrapper, i am not sure on the use of testkeys vs. signed official keys.

- i found a solution to copy bytes 0x42 - 0x58 back from original odex file, so i kept the original signature from official image.

But hows the solution with testkeys? do i copy a testkey to the /etc/security?

and how to odex if the original image uses dalvik cache, so odex files reference dalvik cache links instead of /system/framework location?
[G1 Android Development] salvatore82:
Hi, sorry for the newbie question but I've deodexed a non-stock ROM, everything went fine and now I have an app folder, a framework folder, a deodexed_APK folder and a deodexed_JAR folder. What I have to do now?

Thanks in advance.
[G1 Android Development] Daneshm90:
Make a rom using the deodexed folder ? :confused:
[G1 Android Development] salvatore82:
I've never made a ROM, this is the first time...I started with a modded ROM non deodexed and I want to deodex it (so I can remove apps like Facebook, Peep ecc from app manager). Now what I have to do?

Can I take the deodexed jar/apk and override the original framework/app folders in the initial modded ROM???

If I not put some apk like Facebook.apk (after deodexing) something will go wrong?
[G1 Android Development] Daneshm90:
You could give it a shot.

So boot into recovery.

Wipe dalvik-cache

wipe /system/app and /system/framework

then push the deodexed accordingly and give it a shot
[G1 Android Development] Serris:
Could someone tell me how to create an odex file from an apk?
[G1 Android Development] Daneshm90:
Isn't it just

dexopt-wrapper something.apk something.odex ?
[G1 Android Development] MikeyMike01:
This works with any ROM, yes?

The deodex app I have requires the ROM to be installed on the phone. This would be much easier it seems.
[G1 Android Development] raiderep:
I am trying to deodex a froyo leak for my epic and calendarprovider is the last stubborn one. Its not giving errors but it gives the above null reports...any ideas for the bootclasspath?

Edit: nevermind...I figured out there was a newer smali/baksmali that dealt with null values...
[G1 Android Development] Adevem:
edit : it's alright. manually deodexed my rom using xUltimate. glad it worked lol. was worried it won't work as it's on the Droid X forums ;)

so sorry for necro.
[G1 Android Development] nitro66215:
I created an auto-deodexer (not knowing there was a project like it) for 2.3.340 OTA Verizon update. Here's a link... 2.3.340 Auto-DeOdexer!!!
[G1 Android Development] jun980219:
mediafire is very slow... 19.6kb/s :(
[G1 Android Development] mike1986.:
Smali/Baksmali 1.2.6 is out for some time.
[G1 Android Development] mike1986.:
com.htc.resources.apk and framework-res.apk are in system/framework - everybody knows that :) but the question is - in the Auto-Deodexer should I place them to the "apk" folder (because they are apks) or "framework" folder (because they are in system/framework)?

thanks for grate tool!
[G1 Android Development] mike1986.:
Really nobody knows that? It's quite important to know...
[G1 Android Development] Adevem:
i think it's best you leave them where they belonged/originated!

i'm pretty sure framework.apk stuff belongs to /system/framework.
[G1 Android Development] crzyruski:
This is correct.

I had the same confusion about apk files found in framework.
[G1 Android Development] Acid'sMark:
This has worked great as far as the .jar files go, but I am having a "mgwz.dll" file

is missing... I looked in my SDK folder for the file to see if it might have just been

missed in packaging but I don't have it. It is for the zipalign feature. Is there away

I can zipalign these myself and just run the de-odexing?
[G1 Android Development] mike1986.:
Can I update the 7-zip app in this tool? The newest is 9.20. After installation I took 7z.exe file from program files/7-Zip, rename it to 7za.exe and placed in Deodexer_2_3 folder. Should I also place there 7z.dll and 7-zip.dll?
[G1 Android Development] ragin:
Is there a step by step guide to using xUltimate? I have been reading a lot but a ready reckoner would be graet to have. I am trying this on 2.2.1 on Galaxy S. Thanks.
[G1 Android Development] 89luca89:
Can you help me?

I'm using your beautiful tool, but have some problem:

Please make your decision: 2

Enter Custom BootClassPath (ex 1.jar:2.jar:3.jar): /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/com.htc.framework.jar:/system/framework/com.htc.android.pimlib.jar:/system/framework/com.htc.android.easopen.jar:/system/framework/com.scalado.util.ScaladoUtil.jar:/system/framework/com.orange.authentication.simcard.jar

Optimizing JARs...

A subdirectory or file deodexed_JAR already exists.

Optimizing APKs...

A subdirectory or file deodexed_APK already exists.

and immediately closes...

how to resolve? It seems impossible to use the program this way...

help?
[G1 Android Development] Daneshm90:
Try a different folder for the script

So locate it in say c:\123 and give it a shot
[G1 Android Development] 89luca89:
So many thx problem resolved :D :D
[G1 Android Development] :
Hi All,

Can anyone please refer me to a "Ste by step" for dummies to deodex my 2.3.3 phone?

Thanks alot
[G1 Android Development] rsalib:
The secret to make it work is putting whatever deodexer scripting program's folder, after extracting it from the zip, you want to use in the c: drive of your windows computer.

then put all the apk's with their .odex file from the system/app folder in the app folder

and the jar's with their .odex file from the framework folder of your system/framework drive on your phone into the framework folder and THEN

click deoall

I hope this helps, worked for me. I was rattling my head trying to find out what was wrong forever.

Now I am having trouble rebooting my phone with the new deodexed files. I am trying to replace them using Root Explorer.

Should I be replacing the files in the update.zip file and reflashing my stock ROM?
[G1 Android Development] crzyruski:
I had to figure this one out on my own, but yea putting the auto-deodex folder in the root of C: helps.

But the problem is that errors occur at every APK processed.

The error is about bootclass path and not being able to find core.jar

I will be working on this later today, folks feel free to shoot your suggestions and solutions.
[G1 Android Development] madmack:
great job with this script. I use it to deodex some samsung galaxy s and s2 roms.

i have made one change though. It seems the script is extracting the apk files, and then compressing the whole file again, which results in apk FCs in some ROMs due to resources not being linked correctly.

To fix this, I've patched your seoAPK and deoAPK bat files to add classes.dex (with compression level 9 by default) to the stock .apk files. This way you keep the best of both worlds, max compression level for the deodexed classes file and the stock compression level for the rest.

I'm attaching the two files here for those interested,
[G1 Android Development] kirpeace:
it is not able to deodex all files from system/app and framework in motorola defy getting some command error
[G1 Android Development] stfudude:
how to apply all deodexed apk and jar files? by update.zip method or just manually overwrite all apk and jars files? I'm so confused..
[G1 Android Development] xinfinityoO:
i am trying to deodex SGS2 ro0ms but its giving erros.. can any1 help plizz.. someone who has deodex sgs2 rom

thx
[G1 Android Development] thedr0idboy:
Hi thanks for your work it`s work in ics?
[G1 Android Development] isa.ahmed:
hi..

need full detail how to do this.

i srech every where but no step by step how to do
[G1 Android Development] Turge:
I know this is an old thread and I didn't really want to resurrect it but I felt the need to post the contents of a VBS script I created to retrieve the names of all JAR files in "framework" and "deodexed_JAR" into the clipboard to easily paste into the custom bootclass field when selecting option "2".

Place the code into a vbs file (eg. "bootclass.vbs") into the root folder (eg. same folder as "deoall.bat") and double-click it to execute it (or manually run it from command prompt with cscript or wscript) and it will copy it to the clipboard:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshShell = CreateObject("WScript.Shell")

SourceFolder = objFSO.GetParentFolderName(WScript.ScriptFullName)

For Each FrameworkFolder In Array("framework","deodexed_JAR")
FrameWorkFolderPath = SourceFolder & "\" & FrameworkFolder
If objFSO.FolderExists(FrameWorkFolderPath) Then
For Each File In objFSO.GetFolder(FrameWorkFolderPath).Files
FileExtension = objFSO.GetExtensionName(File.Name)
If uCase(FileExtension) = "JAR" Then
If Not Contains(BootClass,File.Name) Then
If BootClass <> "" Then
BootClass = BootClass & ":"
End If
BootClass = BootClass & File.Name
End If
End If
Next
Else
MsgBox "Can't find " & FrameWorkFolderPath
wscript.quit
End If
Next

CopyToClipboard BootClass
MsgBox "Bootclass copied to clipboard: " & vbCrLf & vbCrLf & BootClass

Function Contains(Text, SearchString)
Contains = InStr(1,Text,SearchString,vbTextCompare) > 0
End Function

Sub CopyToClipboard(Text)
wshShell.Run "cmd /C echo " & Text & "| CLIP", 2
End Sub
[G1 Android Development] Knuffibaer:
it was the first time deodexing an apk.

the thing is it did not work properly on win 7 so i switched to xp. but i could not use it from the beginning because the path's xould not be found. j looked into the batch files and noticed that the path description was wrong so i changed them to ".\".

Then i could run the script. the java scripts gave me some errors but it finished and i did have a deodex file.

i did the other steps and pushed the modified file to the phone. and it is working and i could not see any fault yet.

the thing is that the deodexed file is smaller than the odex one?!

xould this be because of the compressing of 7-zip?
[G1 Android Development] DelsaDj:
this work with cliq apk??

it would be great to unodex messaging app :)
[G1 Android Development] eugene373:
Tired It with Blur / Cliq ) ( LG eve ) & ( Behold 2 ). It has some java issues with some of them.

Most of the apk was left without dex counter part in them.
[G1 Android Development] DelsaDj:
thanks :)

uff... I like that app
[G1 Android Development] yoshitoshi:
so i can run the HTC_PLURK.APK

on Cyanogen ROM?
[G1 Android Development] jubeh:
Better change thread title to "Developer tool only"
[G1 Android Development] Daneshm90:
Interesting i found this other de-odexer on the web. Only diff i found is instead of smali files it decompiles to dxx files. Here check it and would this be better than jf's ?

http://dedexer.sourceforge.net/
[G1 Android Development] eugene373:
That Looks very promising, I'd be willing to test it out if you need.

Not sure if you have in mind of just editing the script, or What you are thinking of changing.

THough, it does look to be a better source for de-odex a file from what I read.
[G1 Android Development] Daneshm90:
Well thing is, certain odex's give error's when i try with jf's deodexerant, where as with this its a hella lot faster, plus we dont need our phones :). We can do it all from our Pc, Yea expect my script to use this method in a day or 2.
[G1 Android Development] kingklick:
dont have time to look extensively

will your next update unodex the framework
[G1 Android Development] Daneshm90:
Well ill need to look into the new deodexing method. From what i've read, it can detect dependencies and do accordingly which is what we need for the framework's.....one way to know is...by tring ;)
[G1 Android Development] kingklick:
hehe yes sir sir
[G1 Android Development] Epoch kW:
Cool, thanks for posting this.
[G1 Android Development] jubeh:
The problem with de-dexer was that there's not much information about re-compling the decompiled files.

I just started my work week, so I won't have too much time to look into the framework problems (though I'm pretty sure by now that it IS related to the deodexing order).

We probably ought to ask JF for a simpler tool that strips all the additional information found inside an odex and turn it back into a dex without the smali middleman.
[G1 Android Development] Daneshm90:
Hey, check my previos post. I found this other deodexer. Its a jar file so no need for phone ne more. Also i find it to be faster than jf's. While ur tryin things out make sure u check it out, it has this dependencies mode.
[G1 Android Development] eugene373:
I so got the new de-odexer running, and so far no issue's with it, was a pain to setup though, ( For me that is ).

Would lover to see you make an update script for people.

Thanks again.

~Eugene373
[G1 Android Development] Daneshm90:
Hey, yea definitely, just for system apps wont b a big deal, frameworks though gonna have to play around with it and get help from jubeh ;) Got exams, but i'll try to squeeze in some android time ;)
[G1 Android Development] eugene373:
Yeah I hear ya. I tried Frameworks and it was a no go, I'm sure I was doing it wrong though. So far I've not had any trouble with apk from app though.
[G1 Android Development] jubeh:
Weird, I keep hitting a snag with the framework.

I can successfully odex the secondary framework, but the core I'm stuck at services.jar (it's only 5 framework core jars to unodex).

I made a linux script to do the de-odexing (very rough at this point, relies on prompts instead of delays, so user-input is necessary). When I get it working automatically and get past that core framework I'll post here.
[G1 Android Development] Daneshm90:
Hey, eugene, were you able to compile the classes.dex from the ddx files u got from using the other decompiler ? i tried renaming the files but upon comparision, theres a lot of stuff missing which jf's compiler seeks for, hence i cannot compile the apps. Ne clues ? :(
[G1 Android Development] jubeh:
jf is working on a fix for the core frameworks that won't recompile or decompile properly. He also suggested that deodexing the framework need not be in order as long as you don't change anything inside the rom, you can do them all at once (as this script does). After giving it some thought it makes sense. I wrote the reason why it makes sense on his blog, and I don't feel like typing it all over again in here :D.
[G1 Android Development] Daneshm90:
Ah sweet !. Awesome work. K so u got ne clues as to how to make deodexing without phone work ? I mean im trying the ddx1.8.jar which doedexes into ddx files as compared to smali files if i use deodexerant. However the dev for ddx did not provide a way to recompile, and just changing the extension of ddx to smali and compiling doesnt work, theres random stuff missing all over the file. So i guess ill stick to (phone-required deodexing)...:(
[G1 Android Development] jubeh:
Writing a decompiler/compiler is sort of (not really, just a tiny bit) like making a programming language. You take the machine code available (it's A LOT easier with java/dalvik bytecode) and then translate the jibbering mess of bytecode into a (slightly) higher level language.

I can't tell what JF's smali or the other decompiler write their instructions into, but it's just a way to make them more human readable.

I think the other decompiler is based on some sort of existing language and you should be able to use a compiler for that language to compile it back, dunno.

The compiled code should be binary compatible, even if it's not source compatible.
[G1 Android Development] kingchris:
jubeh can u pls post your linux smali script here?
[G1 Android Development] david1171:
did you ever get anything going with /system/framework/?
[G1 Android Development] jubeh:
Nope, stopped working on it waiting for the next smali. I know 1.1 is out already, but I haven't tried it. I'm working on another project; morphing the 1.6 browser into the 2.0 browser (as opposed to backporting the 2.0 browser which, according to my testing, is slower than the 1.6 one)
[G1 Android Development] Speeddymon:
I've gotten all of the Droid deodexed including all of the framework/* stuff except for framework/core.* ..

I know this is a thread for a deodex script.. In fact I was working on one myself when I ran into another problem and decided to go ahead and just deodex everything. So I just wanted to ask since this thread has been recently active if anyone can offer some help on getting the core .jar/.odex done.
[G1 Android Development] Daneshm90:
Well, i know that the framework's have to either all be odexed and then pushed at the same time, or need to be odexed in a particular manner. Jubeh had a thread on this very topic, i would wait for him to enlighten us some more on this very topic as im frustrated in deodexing services.jar from Amon_ra's ion rom.
[G1 Android Development] Speeddymon:
Well, like I said, I deodex'ed everything but the core. All of the rest of the framework is deodex'ed and works fine. Apparently xeudoxus from alldroid has been working on this too and has run into the same issue. It seems the stock Droid core.jar won't load when deodex'ed.. He has a hex edit but hasn't been exactly clear on what performing the hex edit does. It only changes 3 bytes and I can't tell from looking at the hex what those 3 bytes are.. :-(