Looking for some clarity on odexed apps for noob - Nexus 6P Q&A, Help & Troubleshooting

I'm trying to get into modding apks and have a simple question. When i look up what odexed apks are, it looks like each apk has its own odex file and deodexed apk don't but they have a classes.dex inside the apk instead. Im running 7.1.1 stock with root and have odex file in each app folder but when i look inside the app itself with 7zip it too shows a classes.dex file as well. My question i guess, is do all apps have classes.dex but only deodex apk have the odex file missing in their respective folder? When following a tut they say to decompile the odex file to get the classes.dex file to then put inside the apk then decompile the apk with classes.dex file to get decompiled smali folder.

Related

how do i deoxed single apks?

iv been looking but cant figure it out, no one gives instructions on how to use there deodex tools
Download AvaboxV2 Here
Unzip the download somewhere, open up the 'De-odexer' and view the readme.
I think you just put the apk and odex file inside the "de-odexer" folder and double-click the ''deodexall.bat" or "deall.bat", something along those lines.
Can't check right now since I'm on my phone
i down loaded an used but its not creating a Classes.dex
DubsideWICKED said:
i down loaded an used but its not creating a Classes.dex
Click to expand...
Click to collapse
AvaboxV2 won't do that, it will take both the APPNAME.apk & APPNAME.odex files and make it into a single de-odexed APPNAME.apk
If you want the classes.dex file check out smali tools I believe that should do it for you. It may decompile as out.dex, if it does just rename it back to classes.dex
Edit: instructions for it are HERE
I think apk manager will let you deodex files as well.... I think....
theimpaler747 said:
I think apk manager will let you deodex files as well.... I think....
Click to expand...
Click to collapse
if it does i have never seen it
i thought when u de-odexed a file that it created a classes dex. im still having problemswith all methods mentioned
attach the apk and the odex files in a zip so I can download them. when I have time I'll see if I can get the classes.dex file for you and let you know what I did to get it
kyouko said:
attach the apk and the odex files in a zip so I can download them. when I have time I'll see if I can get the classes.dex file for you and let you know what I did to get it
Click to expand...
Click to collapse
i think its the systemUI he is trying to deodex everything i have tried to deodex it errors out.
however i have circumvented it and i am excited
ya im tryin to do what kyle said. i just wanna edit the signal bars. is it possible to make a odex file for a apk.

[Q]When we need copy file/folder from original apk after modified?

Sometime in mod guide.. we need to copy file/folder in original apk after modified... like androidmanifest.xml/classes.dex/etc.. so my question is when we need to copy it?
I only copy meta-inf and androidmanifest to the build folder (you need to compile the folder to get the build folder and then recompile again after placing files there) if im not resigning the apk
marcussmith2626 said:
I only copy meta-inf and androidmanifest to the build folder (you need to compile the folder to get the build folder and then recompile again after placing files there) if im not resigning the apk
Click to expand...
Click to collapse
so you want to say that if copy meta-inf and androidmanifest to modded apk, we dont need sign apk.. that what you mean?
EpullSalvatrucha said:
so you want to say that if copy meta-inf and androidmanifest to modded apk, we dont need sign apk.. that what you mean?
Click to expand...
Click to collapse
you only have to resign an apk if you edit the adroidmanifest
marcussmith2626 said:
you only have to resign an apk if you edit the adroidmanifest
Click to expand...
Click to collapse
But in this guide forum.xda-developers.com/showthread.php?t=2018688 the additional instruction said copy classes.dex from original unmodified apk and paste it in modified apk.. when this step is necessary?
EpullSalvatrucha said:
But in this guide forum.xda-developers.com/showthread.php?t=2018688 the additional instruction said copy classes.dex from original unmodified apk and paste it in modified apk.. when this step is necessary?
Click to expand...
Click to collapse
its not with apktool - iv never touched classes.dex
just resign the apk if it doesnt install

[Q] How to remowe old lib.so files?

question is,if i want to remove lib files from system apk,how should i know what lib is from removed apk? i know to find lib files from regular apk(unpack apk file and look path of lib.so files),but system apk does not contain lib files when i unpack them,and there are no all lib files start with lib(name of apk).so

deodex or odex?

If this is the wrong thread then apologies.
I used joeldroid to deodex my systemui and all was marked as successful howvwer in the /priv-app folder the app folders are all there with the apk's but there is also another folder named 'arm' which contains 2 files, the odex file and a odex.art file?
I'm really confused as to whether this is actually deodexed or not? Ive noticed in other custom TW roms these arm folders are missing
any ideas
It means your apk in priv app folder is not deodexed
Sent from my SM-N910G using xda premium
yep everytime i tried to replace the deodexed files they would replace fine but then when i look on my root explorer all the arm folders etc are back.. Just trying an app called zipme to get my deodexed files onto my phone
thanks for ansering
so i made flashable zips of my deodexed priv-app, framework and app folders and there was not a single arm folder or odex file in sight. I flash the zips fine but when checking the folders under root all the arm folders and odex files are back????

Can't modify systemUI.apk on SM-G900F Lollipop 5.0

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

Categories

Resources