May be this not a right place to ask, but I have this problem with recompiling an apk with apkmanager.
I'm trying to mod settings.apk and had done few modding in strings.xml. Since I have edited an xml I delete the resources.arsc file from the keep folder and also sign it after recombiling. But when I install the apk in my phone it never opens and force closes.
I've tried again by not deleting that file but that time no modifications where shown, And the next time, I didn't sign it and tried again to install the unsigned apk. But that too fails.
Anyone know why this happn?
Before modifying the APKManager, make sure the framework-res.apk and twframework.apk been set, and don't forget to delete the file resource.arsc and the file you have modified, then enter at apkmanager windows, don't forget to rename Unsigned to system file that you modified
Hey Guys,
This is a small tutorial for those who want to Deodex a Single Application manually.
Deodex And Odex:
The APKs or JARs of Android contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.It will make your faster theoretically even though it would be too small to notice.When deodexing the .odex file is changed to classes.dex file. Deodexing also allows us to theme and install mods.Many of the Stock Roms and CyanogenMod 7 roms are now odexed and to theme them or to add mods we need to have it deodexed. So lets learn how!!
Deodexing:
Preparation:
Hope you have Java Development Kit installed on your computer to run the scripts.Get it from: here.Select you OS from the list and download the suitable package.(We would need the full thing and not the Demo versions.)
Download the Attached .zip File
Extract its Contents to a Folder.(Extracting to a New Folder in the Desktop is Preferred for Ease)
We will name this Folder with the Extracted Contents as Deodex(or any name that you like)
Procedure And Explanations:
First of all copy the Application file that you need to Deodex.A Android Application file is the .apk file found in the system/app directory.Copy the .apk file and the .odex file of the application that you want to Deodex and paste in the Deodex folder(Folder to which the attachment's contents was extracted)
Now go to your system/framework directory and you can see a lot of .jar and .odex files in this folder and copy all its contents to the folder to which the attachment's contents was extracted.
Before doing anything more backup your rom and the application file(If anything goes wrong you can use it then)
To Deodex a application you need to specify its "BOOTCLASSPATH" files. BOOTCLASSPATH are files that contain the classes for an application or in simple language BOOTCLASSPATH files are those files that are required by a android application to run properly. They are actually those files that we have copied from the system/framework directory to our Deodex folder. There are mainly 5 BOOTCLASSPATH files for every android rom.They are: android.policy.jar , core.jar , bouncycastle.jar , ext.jar , framework.jar
All apps are dependent on these files but some apps are dependent on some other BOOTCLASSPATH files.So sometimes the problem is that we actually dont know to which of these files is a particular app dependent to.So we will have to specify all the BOOTCLASSPATH files or the .jar files in the system/framework directory.So problem solved!! Now enough with the theory class,lets proceed to the practical classes!!!!!
Open Command Prompt.
As an example we will Deodex Settings.apk
Type in this command in Command Prompt:
Code:
java -Xmx1024m -jar baksmali.jar -c :am.jar:android.policy.jar:android.test.runner.jar:bmgr.jar:bouncycastle.jar:
com.android.location.provider.jar:com.google.android.maps.jar:sonyericsson.suquashi.jar:
core.jar:corej-unit.jar:ext.jar:framework.jar:ime.jar:input.jar:java.awt.jar:javax.obex.jar:monkey.jar:pm.jar:
:services.jar:sqlite-jdbc.jar:svc.jar -x Settings.odex
Here:
-Xmx says the heap memory needed.In the above command it is given to 1024m. Sometimes deodexing may have errors due to the low heap memory.So set it to 1024m itself.
-jar baksmali.jar says the program to run baksmali.jar file.
-c says that the following files are the BOOTCLASSPATH files of the application we are deodexing.
-x says the name of the application that we are deodexing.It should end with .odex extension.
Note:
When you specify the .jar files just add all those .jar file names in the system/framework folder(only add the .jar files and not the .odex files).Ensure that you have added the .jar extension at the end of each file. Separate the .jar files with colon " : " symbol.
If you have made no spelling errors and have done everything mentioned you will get a folder named "out".
Now we have to smali the out folder into classes.dex file.
So again type in the Command Prompt:
Code:
java -Xmx1024m -jar smali.jar out -o classes.dex
Here:
-o says what the output file should me named to.Dont rename the classes.dex file into anything else.
Now you will have a file in our Deodex folder(Folder to which the attachment's contents was extracted) called "classes.dex".
Finalizing:
Now open the application's .apk file(which you were trying to deodex) with WinRar.
Move the classes.dex file that you got to this .apk file.(Just drag and drop it to the .apk file opened with WinRar.)
Now you will have a deodexed .apk file.
Note: After deodexing you will have to delete the .odex file of the particular application which you had deodexed.
I will make a guide to Odex back a Deodexed application soon!
Hope this guide helps you....
For any doubts or questions please post it here in this forum and I will try to attend to it.........
Re: Deodex A Single Application
Thanks bro..
Good tut..
sent from my phone using hands and brain...
thanks
Re: Deodex A Single Application
Good tut...
But quite long
Sent from my W8 using xda app-developers app
hey...nice tutorial and nice explanation :good:
thanks
Re: Deodex A Single Application
But helpful too...
sent from my phone using hands and brain...
Gogeta said:
Good tut...
But quite long
Sent from my W8 using xda app-developers app
Click to expand...
Click to collapse
I made it long so that everyone understands.Even those who are very new to android
i'm stucked when i try to deodex settings.odex..
any suggestions???
Hidzrie said:
i'm stucked when i try to deodex settings.odex..
any suggestions???
Click to expand...
Click to collapse
you must deodex
settings.apk + settings.odex.....
i've already follow exactly like the tutorial above but cmd just stucked...
in 'out' folder there are \com\android\settings\ folder and these files were in it and nothing more:
AccessibilitySettings$1.smali
AccessibilitySettings$2.smali
AccessibilitySettings$3.smali
AccessibilitySettings$4.smali
AccessibilitySettings$5.smali
AccessibilitySettings$6.smali
AccessibilitySettings.smali
please anyone help..
Credit/thanks: http://forum.xda-developers.com/showthread.php?t=1208320 ?
Hidzrie said:
i've already follow exactly like the tutorial above but cmd just stucked...
in 'out' folder there are \com\android\settings\ folder and these files were in it and nothing more:
AccessibilitySettings$1.smali
AccessibilitySettings$2.smali
AccessibilitySettings$3.smali
AccessibilitySettings$4.smali
AccessibilitySettings$5.smali
AccessibilitySettings$6.smali
AccessibilitySettings.smali
please anyone help..
Click to expand...
Click to collapse
follow the highlighted lines and try again and deodexing takes time according to your computer's ram.so be patient.if you still cant do it then just upload the system=>framework folder and the app you want to deodex and its odex file and Private Message me the links. I will check whats the problem.
L_S said:
Credit/thanks: http://forum.xda-developers.com/showthread.php?t=1208320 ?
Click to expand...
Click to collapse
this can be found in the android sources site but it not so easy to understand for beginners so i made it a little easier to understand and i didnt refer that guide because all is clearly written in the android sources site.
i understood why some of you are making mistakes when trying to deodex a apk or jar file.
its because you are copying exactly the same bootclasspath files that i specified in the guide.
it varies depending on your device and your rom. So I have made some changes in my guide.some lines are highlighted in red.
follow those lines.
Hidzrie said:
i'm stucked when i try to deodex settings.odex..
any suggestions???
Click to expand...
Click to collapse
Specify your device and rom that you use. Are you sure that you followed what i told itself? Try it once more as I have made some more changes in the guide to help you guys.
Still if you cant do it then just copy your framework folder and the apk and .odex file that you want to deodex and pm me. I will try to deodex it.
fotak-x said:
you must deodex
settings.apk + settings.odex.....
Click to expand...
Click to collapse
no fotak we dont need to deodex settings.apk. We only need to deodex the .odex file but we will have to keep the apk file also in the same folder.
Leon1234 said:
Specify your device and rom that you use. Are you sure that you followed what i told itself? Try it once more as I have made some more changes in the guide to help you guys.
Still if you cant do it then just copy your framework folder and the apk and .odex file that you want to deodex and pm me. I will try to deodex it.
Click to expand...
Click to collapse
I'm using samsung gt-s5830i.. Rom simplicity v4..
I've tried like many times..still wont work..
Hidzrie said:
I'm using samsung gt-s5830i.. Rom simplicity v4..
I've tried like many times..still wont work..
Click to expand...
Click to collapse
dont worry,we can figure it our!
what error are you getting in command prompt?
can you give the lines that come up in command prompt?
Leon1234 said:
dont worry,we can figure it our!
what error are you getting in command prompt?
can you give the lines that come up in command prompt?
Click to expand...
Click to collapse
There are no error appear on cmd..
After I insert a command to deodex settings.odex and press enter, it just like nothing happen...
There are no error appear on cmd..
After I insert a command to deodex settings.odex and press enter, it just like nothing happen...
Click to expand...
Click to collapse
you will have to wait for some time when deodexing depending on the ram of your device.
what is the ram of your computer?
and do you have java 7?
I been having serious problems trying to replace a few statusbar images from my recently rooted Samsung Galaxy S5 SM-G900F International Version. Rooting is already done (with CF Auto root). Evertyhing is ok and functional.
The problem is that I want to replace some signal images (only two PNG files) and I've tried 2 times and I always end up with black screen and statusbar gone. The only thing that fix it is restoring original systemUI.apk.
This is what I've done so far:
Copy the systemUI.apk to computer.
Extract it with WinRAR
Replace all the images
Create new systemUI.apk from WinRAR with no compression.
Put systemUI.apk back to original location /system/priv-apps/systemUI folder.
Reboot
But always I get black background and no statusbar e.g. systemUI is GONE.
I've noticed that now apps are no longer individual, they are stored in folders and, for example systemUI, it shows:
Ignore the apk4, it's mine I was just testing.
Any idea how to modify it?
See this thread.....
http://forum.xda-developers.com/showthread.php?p=54852717
The OP takes stock SystemUI apks and modifies them to produce '3D' toggles.
If anybody can help, it'll be him.
http://i.imgur.com/rVnFwJM.jpg
keithross39 said:
See this thread.....
http://forum.xda-developers.com/showthread.php?p=54852717
The OP takes stock SystemUI apks and modifies them to produce '3D' toggles.
If anybody can help, it'll be him.
http://i.imgur.com/rVnFwJM.jpg
Click to expand...
Click to collapse
I've read that thread but it seems too old and 4.4 oriented.
I tried also APKTool but nothing, I just break the whole system and need to do factory reset.
Yeah there is a lot of mention of kitkat in that thread, but the OP does help other members with lollipop. It wouldn't hurt to leave a comment in that thread and see where it gets you.....
Sent from my SM-G900F using XDA Labs
keithross39 said:
Yeah there is a lot of mention of kitkat in that thread, but the OP does help other members with lollipop. It wouldn't hurt to leave a comment in that thread and see where it gets you.....
Sent from my SM-G900F using XDA Labs
Click to expand...
Click to collapse
I will do that! Thank you.
One thing.
I was messing around and testing other system APK.
I edited one small APK (VoiceNote.APK) then did a wipe cache from stock factory and now I only enter to "Process system isn't responding" and nothing else. Do you believe a system wipe data/factoryreset would fix this? I replaced the APK with mine and left the original one inside with different name. Could I use ADB to rename it back? Or nothing and reinstall the whole ROM? I'm kinda soft bricked now.
Manimecker said:
I will do that! Thank you.
One thing.
I was messing around and testing other system APK.
I edited one small APK (VoiceNote.APK) then did a wipe cache from stock factory and now I only enter to "Process system isn't responding" and nothing else. Do you believe a system wipe data/factoryreset would fix this? I replaced the APK with mine and left the original one inside with different name. Could I use ADB to rename it back? Or nothing and reinstall the whole ROM? I'm kinda soft bricked now.
Click to expand...
Click to collapse
Update:
I made a factory reset. Up and running. Just fine. But the app I replaced "VoiceNote" is gone. Any ideas how to recover it? I still have original backup on both S5 and computer.
If you can't get into Android, your choices are fairly limited......even more limited if you have stock recovery.......
With those conditions all you can do is
1) cache wipe
2) data wipe/factory reset
3) start again with a firmware flash
but I have a feeling that you need to replace that app with a working version before you get a successful boot.....which means option 3.
Edit...ah Ok, your comment was posted before I finished my reply.....
If you go to my profile and look for threads I've started, you'll see one which deals with system apps and systen-priv apps. Basically I ripped copies of these from my 4.4.2 firmware. I'm not sure if there will be compatibility issues between apks ripped from 4.4.2 when pushed to a 5.0 firmware, but they're available if you want to try it....
If you *do* try it, remember to change permissions and reboot.....
Edit 2.....
If you still have the original, it's a simple case of copying it to it's original location, deleting the modified version and it's associated odex file (in the same folder as the apk) then setting the permissions of the 'freshly copied apk to rw- r-- r-- and rebooting....
Sent from my SM-G900F using XDA Labs
keithross39 said:
If you can't get into Android, your choices are fairly limited......even more limited if you have stock recovery.......
With those conditions all you can do is
1) cache wipe
2) data wipe/factory reset
3) start again with a firmware flash
but I have a feeling that you need to replace that app with a working version before you get a successful boot.....which means option 3.
Edit...ah Ok, your comment was posted before I finished my reply.....
If you go to my profile and look for threads I've started, you'll see one which deals with system apps and systen-priv apps. Basically I ripped copies of these from my 4.4.2 firmware. I'm not sure if there will be compatibility issues between apks ripped from 4.4.2 when pushed to a 5.0 firmware, but they're available if you want to try it....
If you *do* try it, remember to change permissions and reboot.....
Edit 2.....
If you still have the original, it's a simple case of copying it to it's original location, deleting the modified version and it's associated odex file (in the same folder as the apk) then setting the permissions of the 'freshly copied apk to rw- r-- r-- and rebooting....
Sent from my SM-G900F using XDA Labs
Click to expand...
Click to collapse
Basically I did the replacing, same file, permissions and everything, but still have no app. Voice Note is gone. I'll try a factory wipe reset if that works but I don't think so. What can I do now? Android is still running up and good.
Update:
Did factory reset and everything is good and running. App is back. So I guess I'm same as I started. I won't mess up with system files again until I know a good way to edit the SystemUI.apk. Is there any App I can use? Like Xposed or something? I really just want to replace my data connected icons (3G, H+, 4G, LTE).
Is this the sort of thing you mean?......
If it is, then Android Theme Engine module with xposed.......
That is assuming you can get it working on LP.....
Sent from my SM-G900F using XDA Labs
keithross39 said:
Is this the sort of thing you mean?......
If it is, then Android Theme Engine module with xposed.......
That is assuming you can get it working on LP.....
Sent from my SM-G900F using XDA Labs
Click to expand...
Click to collapse
Basically something like that, but I want to replace the PNG with ones I've created. For example you have your 4G icon there, I want to change it with another PNG I created.
Manimecker said:
Basically something like that, but I want to replace the PNG with ones I've created. For example you have your 4G icon there, I want to change it with another PNG I created.
Click to expand...
Click to collapse
Well, that Android Theme Engine module can change the 'theme' of those icons too. Might it be possible to decompile that, insert your images, recompile it and flash.....that way, if it goes wrong, it should be easier to recover than when you changed that system apk.....
Sent from my SM-G900F using XDA Labs
You can just use apktool, just make sure to get your framework-res and then when done open original systemui in 7zip and drag the META-INF folder and drag it to the new systemui apk you made with apktool, works every time for me.
Sent from my Galaxy S5 using XDA Labs
@Rakuu OP says he's already tried using apktool and it didn't work.....
You obviously know more about this than me, so I guess you're gonna have to take over here fella......
http://i.imgur.com/rVnFwJM.jpg
keithross39 said:
@Rakuu OP says he's already tried using apktool and it didn't work.....
You obviously know more about this than me, so I guess you're gonna have to take over here fella......
http://i.imgur.com/rVnFwJM.jpg
Click to expand...
Click to collapse
Sound like he didn't do last part would be my guess.
keithross39 said:
@Rakuu OP says he's already tried using apktool and it didn't work.....
You obviously know more about this than me, so I guess you're gonna have to take over here fella......
http://i.imgur.com/rVnFwJM.jpg
Click to expand...
Click to collapse
where did he said that he used apktool? he used winrar to extract the systemui.
you have to use apktool in order to replace/modify anything within the apk.
i guess you have to read something about decompiling and recompiling (and signing) apps before you can do your changes. just replacing anything inside the .apk's is not the right way my friend
keithross39 said:
@Rakuu OP says he's already tried using apktool and it didn't work.....
You obviously know more about this than me, so I guess you're gonna have to take over here fella......
http://i.imgur.com/rVnFwJM.jpg
Click to expand...
Click to collapse
Yes, I did use APKTool BUT I didn't do all the other steps here mentioned.
Rakuu said:
Sound like he didn't do last part would be my guess.
Click to expand...
Click to collapse
You are right, I didn't do anything about framework-res or META-INF files. I just unpacked, replaced PNG inside and repack.
mcdachpappe said:
where did he said that he used apktool? he used winrar to extract the systemui.
you have to use apktool in order to replace/modify anything within the apk.
i guess you have to read something about decompiling and recompiling (and signing) apps before you can do your changes. just replacing anything inside the .apk's is not the right way my friend
Click to expand...
Click to collapse
I guess I'm starting to learn how things work inside an 5.0 Android Device. Any more ideas (manual, PDF, guide or something) I can follow from here?
Rakuu said:
You can just use apktool, just make sure to get your framework-res and then when done open original systemui in 7zip and drag the META-INF folder and drag it to the new systemui apk you made with apktool, works every time for me.
Sent from my Galaxy S5 using XDA Labs
Click to expand...
Click to collapse
I don't understand what to do with the framework-res apk file, I do however know where to find it but nothing else. I already have APKTool on Windows up and running, but I can't tell what to do next.
Manimecker said:
I don't understand what to do with the framework-res apk file, I do however know where to find it but nothing else. I already have APKTool on Windows up and running, but I can't tell what to do next.
Click to expand...
Click to collapse
Extract the framework-res and twframework-res apks and put them in the folder with the SystemUI.apk
Open a command prompt in the folder and type apktool if framework-res.apk and hit return, then do the same for the twframework-res.apk file, this will generate the resource files needed.
To unpack an apk type apktool d SystemUI..apk for example hit the return key, to repack type apktool b SystemUI (usually the decompiled apk folder doesn't have the .apk after it), this will generate a new apk
Copy the Meta.inf, Android Manifest.xml and resources.arsc files from the original apk to the new apk , make sure the apk is titled exactly the same as the original apk so SystemUI.apk not systemui.apk and the new apk should work.
One thing you can do if you are just changing the png files is extract the png files from the folders direct from the apk to a working folder, create your new png files so they are the same size and exactly the same name as the originals, drag and drop them from the folder directly back into the folder location in the apk then reinstall the apk on the phone, this just replaces the png's, you only really need to decompile the apk if you are making changes to the xml files.
Use 7zip its better for these than winrar (personal opinion), if you want to male changes to the xml files then use Notepad++
Always keep a copy of your original apk's as a backup unless you want to install the firmware again should something go wrong.
EDIT:-
Thought you should have a bit more info about apktool, the red text is the apktool commands you would type in the CMD window from your working folder
Decompiling should look similar to this
C:\Samsung S7\APKs>apktool d SystemUI.apk
I: Using Apktool 2.1.1 on SystemUI.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
C:\Samsung S7\APKs>
When you recompile an APK it will be located in apk folder your compiling from so you decompile the SystemUI.apk which will become a folder called SystemUI when you re-compile the SystemUI folder to make a new apk then the new apk will be located in your SystemUi folder in a folder called dist.
When you recompile an apk it should look similar to this you can see here also a warning message you can ignore these they wont affect how the apk works provided you copy across the original files from the old to the new apk as mentioned below
C:\Samsung S7\APKs>apktool b SystemUI
I: Using Apktool 2.1.1
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
W: warning: string 'tw_screen_pinning_negative' has no default translation.
I: Building apk file...
I: Copying unknown files/dir...
C:\Samsung S7\APKs>
Using 7zip open this apk and open the original apk and simply drag the META.INF, respources.arsc and Android Manifest.xml from the original apk to your new apk close both apk's, put the new apk on your phone.
If you ever make any changes in the decompiled values folder then when you recompile your apk and copy across the above files from the old apk don't replace the resources.arsc file as thats where the values folders are just replace the Android Manifest and META.INF files.
ag4751 said:
Extract the framework-res and twframework-res apks and put them in the folder with the SystemUI.apk
Open a command prompt in the folder and type apktool if framework-res.apk and hit return, then do the same for the twframework-res.apk file, this will generate the resource files needed.
To unpack an apk type apktool d SystemUI..apk for example hit the return key, to repack type apktool b SystemUI (usually the decompiled apk folder doesn't have the .apk after it), this will generate a new apk
Copy the Meta.inf, Android Manifest.xml and resources.arsc files from the original apk to the new apk , make sure the apk is titled exactly the same as the original apk so SystemUI.apk not systemui.apk and the new apk should work.
One thing you can do if you are just changing the png files is extract the png files from the folders direct from the apk to a working folder, create your new png files so they are the same size and exactly the same name as the originals, drag and drop them from the folder directly back into the folder location in the apk then reinstall the apk on the phone, this just replaces the png's, you only really need to decompile the apk if you are making changes to the xml files.
Use 7zip its better for these than winrar (personal opinion), if you want to male changes to the xml files then use Notepad++
Always keep a copy of your original apk's as a backup unless you want to install the firmware again should something go wrong.
EDIT:-
Thought you should have a bit more info about apktool, the red text is the apktool commands you would type in the CMD window from your working folder
Decompiling should look similar to this
C:\Samsung S7\APKs>apktool d SystemUI.apk
I: Using Apktool 2.1.1 on SystemUI.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
C:\Samsung S7\APKs>
When you recompile an APK it will be located in apk folder your compiling from so you decompile the SystemUI.apk which will become a folder called SystemUI when you re-compile the SystemUI folder to make a new apk then the new apk will be located in your SystemUi folder in a folder called dist.
When you recompile an apk it should look similar to this you can see here also a warning message you can ignore these they wont affect how the apk works provided you copy across the original files from the old to the new apk as mentioned below
C:\Samsung S7\APKs>apktool b SystemUI
I: Using Apktool 2.1.1
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
W: warning: string 'tw_screen_pinning_negative' has no default translation.
I: Building apk file...
I: Copying unknown files/dir...
C:\Samsung S7\APKs>
Using 7zip open this apk and open the original apk and simply drag the META.INF, respources.arsc and Android Manifest.xml from the original apk to your new apk close both apk's, put the new apk on your phone.
If you ever make any changes in the decompiled values folder then when you recompile your apk and copy across the above files from the old apk don't replace the resources.arsc file as thats where the values folders are just replace the Android Manifest and META.INF files.
Click to expand...
Click to collapse
I will try that! I'm gonna get back with update.
Just one question. Do I need to odex or deodex my APK? Should I edit the SystemUI.odex.xz and SystemUI.odex.art.xz, both inside the ARM folder?
Manimecker said:
I will try that! I'm gonna get back with update.
Just one question. Do I need to odex or deodex my APK? Should I edit the SystemUI.odex.xz and SystemUI.odex.art.xz, both inside the ARM folder?
Click to expand...
Click to collapse
No clue on that, always used deodexed roms cause messing with odexed stuff is a pain in the rear, if you deodexed your rom this will be about 5x easier.
Sent from my Galaxy S5 using XDA Labs
Manimecker said:
I will try that! I'm gonna get back with update.
Just one question. Do I need to odex or deodex my APK? Should I edit the SystemUI.odex.xz and SystemUI.odex.art.xz, both inside the ARM folder?
Click to expand...
Click to collapse
As @Rakuu says themeing with deodexed roms is preferred by most people although I never themed with deodexed roms myself, when I used to theme stock roms I just removed the apk made the changes to the png and xml files and replaced the apk, never changed anything with the odex.apk just the apk itself, as you want to do the systemui then just pull that from the rom make a copy of the apk, make the changes in your copy and push that back to the phone., keep an original unchanged version of the apk as a backup.
Do you have a custom recovery like TWRP on your phone and Android SDK installed on your computer as it makes pulling and pushing the apk's much safer than what you appear to be doing as it looks like your just doing copy and paste, although it works its not the ideal or safest way to do it.
The apk should be in the system/priv-app/SystemUI folder