[GUIDE]Deodex An Application - XPERIA X8 General

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?

Related

[HELP]How can I odex file to .apk and .odex?

Anyone can help me odex this attachment 'services.jar' to 'services.jar' and 'services.odex'?
I have read many articles, but it seems really complicate for me to make it work.
thx in advance!!
merckey said:
Anyone can help me odex this attachment 'services.jar' to 'services.jar' and 'services.odex'?
I have read many articles, but it seems really complicate for me to make it work.
thx in advance!!
Click to expand...
Click to collapse
Deodex:
Code:
java -Xmx512m -jar /usr/bin/baksmali-1.2.2.jar -d ./framework -x services.odex -o services.odex-new
Extract services.jar with unzip tool.
Create a classes.dex from the services.odex-new directory:
Code:
java -Xmx512m -jar /usr/bin/smali-1.2.2.jar services.odex-new/ -o ./classes.dex
Put the classes.dex into the root dir of the extracted services.jar and zip it up. Rename it to .jar. Sign it. Good to go.
I think he wants the other direction.
Basically, you can use dexopt-wrapper to generate the odex file again. I assume that you have an odex ROM, which is a big problem, because if you change one ODEX file you need to rebuild them all (they rely on the "signatures" of others).
You should try to find a deodexed ROM and apply your change there, because working with the odex files is a lot of work.
Btw, If you really want to change the odex file, and running the dexopt-wrapper is not too complicated for you, there is a work around for the odex signatures problem - let me know if you are interested.
erasmux said:
I assume that you have an odex ROM, which is a big problem, because if you change one ODEX file you need to rebuild them all
Click to expand...
Click to collapse
That is not true, as long as you're not touching the framework.
Well, in this particular case, since this IS framework (services), he DOES need to do it.
You can try an express method:
cd /system/framework
for x in *.jar;do dexopt-wrapper "$x" /sdcard/"$x".odex;done
Mount your sdcard and copy over your odex'; remember to strip the .jar with sed from the filename.
thanks for all your help, guys!
I just noticed that there's no attachment uploaded
This is a file I extracted from an deodex Rom. I am trying to apply it in an odex rom to change the color of the front on the status-bar.Don't know if it works, but I just wanna try it.
I am really a newbie here haha, and these codes makes me Crazy~
So... wish you can odex it for me! thanks!
I really have to study some basic knowledge about java and linux.
Maybe odex/classes.dex is the problem too,which I posted
here http://forum.xda-developers.com/showthread.php?t=716506
why some apps don`t work
But for Deodex,I found this:
http://code.google.com/p/smali/wiki/DeodexInstructions
I get a error message that reads no odex file found. what's up with that

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.

Help with compiling apk for framework-res

I am trying to create a custom theme, by modifying the framework-res.apk. I have been successful in porting some really cool .png files, but my problems start with the de-compiling & recompiling the .apk so I can modify the .xml & .9.png files. It seems every time I recompile my .apk it sends me in to a boot loop. I have used both APKTool and APK Manager with no luck. Here are my steps:
APK Manager:
1. Use a root explorer to copy the framework-res.apk.
2. Paste the file on my sd card.
3. Copy the file and paste it in the "place-apk-here-for-modding" folder.
4. Choose option 9 for compile.
5. Open the .xml file with Notepad++.
6. Recompile .apk using option 11.
7. Yes to "is this a system file?"
8. Yes to "keep original files & signatures"
9. Delete the files I modified from the "keep" folder and the resources.ascr file.
10. Finish the build of the .apk.
11. Copy & paste the modified .apk back to my sd card.
12. Rename the file from unsigned-framework-res.apk to framework-res.apk.
13. Use root explorer to cut & paste the modified to my /system/framework folder.
14. Reboot.
I now end up in a boot loop what am I doing wrong??
Rockstar52 said:
I am trying to create a custom theme, by modifying the framework-res.apk. I have been successful in porting some really cool .png files, but my problems start with the de-compiling & recompiling the .apk so I can modify the .xml & .9.png files. It seems every time I recompile my .apk it sends me in to a boot loop. I have used both APKTool and APK Manager with no luck. Here are my steps:
APK Manager:
1. Use a root explorer to copy the framework-res.apk.
2. Paste the file on my sd card.
3. Copy the file and paste it in the "place-apk-here-for-modding" folder.
4. Choose option 9 for compile.
5. Open the .xml file with Notepad++.
6. Recompile .apk using option 11.
7. Yes to "is this a system file?"
8. Yes to "keep original files & signatures"
9. Delete the files I modified from the "keep" folder and the resources.ascr file.
10. Finish the build of the .apk.
11. Copy & paste the modified .apk back to my sd card.
12. Rename the file from unsigned-framework-res.apk to framework-res.apk.
13. Use root explorer to cut & paste the modified to my /system/framework folder.
14. Reboot.
I now end up in a boot loop what am I doing wrong??
Click to expand...
Click to collapse
You have to sign it with 12
Lenn said:
You have to sign it with 12
Click to expand...
Click to collapse
Tried it, still boot loops at the Archos screen. I then have to do a complete format & wipe reinstalling the SDK, firmware, and the root files. I don't get it.
Lenn said:
You have to sign it with 12
Click to expand...
Click to collapse
Do not sign frameworks! How many time do I have to say this! System apps do not get signed...
Now, as far as the framework, there's two things to check. First, what XMLs have you edited? Second, instead of using root explorer to copy the framework, connect to a pc and use adb to perform these commands:
Code:
su
stop
cp /system/framework/framework-res.apk /system/framework/framework-res.old
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk
sync
start
If it continues boot-looping, you will still be connected through adb, so you just
Code:
stop
cp /system/framework/framework-res.old /system/framework/framework-res.apk
sync
start
and it will come back up without having to reformat or anything.
If it's bootlooping even when you use the adb method to copy, then your XMLs must be reencoding incorrectly. Post a list of all XMLs you have changed.
msticninja said:
Do not sign frameworks! How many time do I have to say this! System apps do not get signed...
Now, as far as the framework, there's two things to check. First, what XMLs have you edited? Second, instead of using root explorer to copy the framework, connect to a pc and use adb to perform these commands:
Code:
su
stop
cp /system/framework/framework-res.apk /system/framework/framework-res.old
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk
sync
start
If it continues boot-looping, you will still be connected through adb, so you just
Code:
stop
cp /system/framework/framework-res.old /system/framework/framework-res.apk
sync
start
and it will come back up without having to reformat or anything.
If it's bootlooping even when you use the adb method to copy, then your XMLs must be reencoding incorrectly. Post a list of all XMLs you have changed.
Click to expand...
Click to collapse
I do have my system set up for adb, but for some reason it don't read my A101, it works fine for my phone. The device manager shows my A101 listed as a Gen8 ADB Device, but it don't show up when i use the command: adb devices.
With your help I did manage to replace all of the stock .png's. I also found that I don't need to edit the .xml files to do what I want to. Thanks, for so much of your help! Although I would like to replace the .9.png's also and I understand that you must de-compile the .apk in order to do so. this way I could build a custom theme.
Rockstar52 said:
I do have my system set up for adb, but for some reason it don't read my A101, it works fine for my phone. The device manager shows my A101 listed as a Gen8 ADB Device, but it don't show up when i use the command: adb devices.
With your help I did manage to replace all of the stock .png's. I also found that I don't need to edit the .xml files to do what I want to. Thanks, for so much of your help! Although I would like to replace the .9.png's also and I understand that you must de-compile the .apk in order to do so. this way I could build a custom theme.
Click to expand...
Click to collapse
Have you done this yet(from the archos support site):
Windows: echo 0x0e79 >> "%USERPROFILE%\.android\adb_usb.ini"
Macos: echo "0x0e79" >> ~/.android/adb_usb.ini
Linux: echo "0x0e79" >> ~/.android/adb_usb.ini
And disabled/reenabled debugging on the tablet?
msticninja said:
Have you done this yet(from the archos support site):
Windows: echo 0x0e79 >> "%USERPROFILE%\.android\adb_usb.ini"
Macos: echo "0x0e79" >> ~/.android/adb_usb.ini
Linux: echo "0x0e79" >> ~/.android/adb_usb.ini
And disabled/reenabled debugging on the tablet?
Click to expand...
Click to collapse
No but I will give it a try and report back.
None of my changes are taking effect??!
Still not working, just a question. I am running Win7 64bit could this be the problem?? Do I need to be on a 32bit system to do the decompiling, compiling?
Tried on my wife's 32bit system still the same. For some reason it's not compiling the .apk right.
Rockstar52 said:
I am trying to create a custom theme, by modifying the framework-res.apk. I have been successful in porting some really cool .png files, but my problems start with the de-compiling & recompiling the .apk so I can modify the .xml & .9.png files. It seems every time I recompile my .apk it sends me in to a boot loop. I have used both APKTool and APK Manager with no luck. Here are my steps:
APK Manager:
1. Use a root explorer to copy the framework-res.apk.
2. Paste the file on my sd card.
3. Copy the file and paste it in the "place-apk-here-for-modding" folder.
4. Choose option 9 for compile.
5. Open the .xml file with Notepad++.
6. Recompile .apk using option 11.
7. Yes to "is this a system file?"
8. Yes to "keep original files & signatures"
9. Delete the files I modified from the "keep" folder and the resources.ascr file.
10. Finish the build of the .apk.
11. Copy & paste the modified .apk back to my sd card.
12. Rename the file from unsigned-framework-res.apk to framework-res.apk.
13. Use root explorer to cut & paste the modified to my /system/framework folder.
14. Reboot.
I now end up in a boot loop what am I doing wrong??
Click to expand...
Click to collapse
With ApkManager did you delete the 'public.xml' folder in ..\res\values ?
waterpolo said:
With ApkManager did you delete the 'public.xml' folder in ..\res\values ?
Click to expand...
Click to collapse
No, I did not. Was I supposed to?
EDIT: Ok I did some digging and what I have found is that the file size of the original framework-res.apk is 9.32mb. Once I rebuild it whether I modified anything or not the rebuilt .apk is only 7.34mb. Upon further inspection it seems to leave out all of the "value" named folders from the newly built .apk, and it does this whether I use APKTool or APK Manager(even though I say keep files). Has anyone else had this problem?
IM having the same problem,no solution though ! i edited bools.xml but after recompiling its not there ! Anyone solution ?

[Q]decompile settings.apk [SOLVED}

Hello,
Yesterday night I was trying to decompile Settings.apk with apktool...
Bt it was being unsuccessful on every try...
Showing errors, see attachments.
plz guide..
LINK: http://d-h.st/mk9
Try with another apk decompiling tools.
aniket.lamba said:
Try with another apk decompiling tools.
Click to expand...
Click to collapse
tried with apkmanager... not wrking..
EDIT: Can I give u the apk to decompile.. as im noob in these things
Did you import "framework-res.apk" and "twframework-res.apk"?
If yes then are you using the same framework from the same rom of the "settings.apk" or your using settings.apk of other rom?
Sent from my GT-S5360 using Tapatalk 2
just load it up,together with your framework-res.apk and twframework-res.apk,so we can help i hope.
-CALIBAN666- said:
just load it up,together with your framework-res.apk and twframework-res.apk,so we can help i hope.
Click to expand...
Click to collapse
WTF, giving error while uploading zip.. :/
your first screenshot shows that you have not placed framework-res.apk in the location your command prompt is at
in other words you did not place framework-res.apk in the location c:\new folder
just as a tip - when working with dos prompt - never put a space in folder or file names - it doesnt like it
marcussmith2626 said:
your first screenshot shows that you have not placed framework-res.apk in the location your command prompt is at
in other words you did not place framework-res.apk in the location c:\new folder
just as a tip - when working with dos prompt - never put a space in folder or file names - it doesnt like it
Click to expand...
Click to collapse
No, Ive placed two folders named 'apktool' and 'new folder'...
'apktool ' includes apkmultitool and new folder includes PY-APKTOOL, I found that here http:// http://forum.xda-developers.com/showpost.php?p=39697820&postcount=4 respectively.
Ive used apkmultitool as:
I renamed framework-res.apk as apktool if framework-res.apk and tried to decompile it. Bit i ve faced an error.
I could not install framework-res.apk in my computer..
Framework-res.apk:
I followed guide to decompile framework-res.apk from here [URL=" http://caliban666isaddicted.blogspot.in/2013/06/guide-for-change-platlogoeasytextmaybe.html?m=1" ] http://caliban666isaddicted.blogspot.in/2013/06/guide-for-change-platlogoeasytextmaybe.html?m=1 [/URL]
And done my modifications in framework-res.apk and installed it successfully.
While I was trying to decompile settings.apk, the errors were occuring..
crazysuraj said:
No, Ive placed two folders named 'apktool' and 'new folder'...
'apktool ' includes apkmultitool and new folder includes PY-APKTOOL, I found that here http:// http://forum.xda-developers.com/showpost.php?p=39697820&postcount=4 respectively.
Ive used apkmultitool as:
I renamed framework-res.apk as apktool if framework-res.apk and tried to decompile it. Bit i ve faced an error.
I could not install framework-res.apk in my computer..
Framework-res.apk:
I followed guide to decompile framework-res.apk from here [URL=" http://caliban666isaddicted.blogspot.in/2013/06/guide-for-change-platlogoeasytextmaybe.html?m=1" ] http://caliban666isaddicted.blogspot.in/2013/06/guide-for-change-platlogoeasytextmaybe.html?m=1 [/URL]
And done my modifications in framework-res.apk and installed it successfully.
While I was trying to decompile settings.apk, the errors were occuring..
Click to expand...
Click to collapse
I dont understand what you are doing with importing the framework
just do this
create a folder called apktool in the root of c: - in other words create a folder apktool so its location is c:\apktool
place framework-res.apk from the rom zip along with the apk you wish to decompile - in this case settings.apk in the folder apktool you have just created
open a command prompt as admin
type the following
cd c:\apktool
apktool if framework-res.apk
apktool d settings.apk settingsdecompiled
-CALIBAN666- said:
just load it up,together with your framework-res.apk and twframework-res.apk,so we can help i hope.
Click to expand...
Click to collapse
Ive uploaded apks
Google Drive :LINKS REMOVED
UPDATED LINK: http://d-h.st/mk9
Thank You!
crazysuraj said:
Ive uploaded apks
Google Drive :LINKS REMOVED
UPDATED LINK: http://d-h.st/mk9
Thank You!
Click to expand...
Click to collapse
no problems with decompiling that apk
Its user error - make sure you are using apktool correctly - there is no point in uploading any decompiled files because you will not be able to recompile it if you dont learn how to use it including trying anything else in the future
here is a screen shot with all my commands
make sure you put framework-res.apk and twframework-res.apk and settings.apk in the folder to which your command prompt is at - in my case its c:\apktool
marcussmith2626 said:
no problems with decompiling that apk
Its user error - make sure you are using apktool correctly - there is no point in uploading any decompiled files because you will not be able to recompile it if you dont learn how to use it including trying anything else in the future
here is a screen shot with all my commands
make sure you put framework-res.apk and twframework-res.apk and settings.apk in the folder to which your command prompt is at - in my case its c:\apktool
Click to expand...
Click to collapse
Yes Sir,
Here, its my fault and I should have knowledge if I love modding
I have to learn more things about how to use apktool : rolleyes:
Thank You...!
regards.
marcussmith2626 said:
no problems with decompiling that apk
Its user error - make sure you are using apktool correctly - there is no point in uploading any decompiled files because you will not be able to recompile it if you dont learn how to use it including trying anything else in the future
here is a screen shot with all my commands
make sure you put framework-res.apk and twframework-res.apk and settings.apk in the folder to which your command prompt is at - in my case its c:\apktool
Click to expand...
Click to collapse
What is this ??
crazysuraj said:
What is this ??
Click to expand...
Click to collapse
it means you havent installed apktool correctly and/or not got java jdk installed as well
Java development tools (JDK)
http://www.oracle.com/technetwork/ja...ads/index.html
Apktool
http://code.google.com/p/android-apktool/downloads/list
Place both apktool files in C:\Windows\
see my thread here for a full picture guide to using apktool
http://forum.xda-developers.com/showthread.php?t=2206938
also why have you renamed your apks to apktool if framework-res and so on in your screenshot thats a big no - do not rename your apk files
they should just be called framework-res.apk settings.apk and twframework.apk
you have renamed them to commands you type into a command prompt and I dont understand why you have done that!
you type in the command prompt apktool if framework-res.apk - you do not rename any files
marcussmith2626 said:
it means you havent installed apktool correctly and/or not got java jdk installed as well
Java development tools (JDK)
http://www.oracle.com/technetwork/ja...ads/index.html
Apktool
http://code.google.com/p/android-apktool/downloads/list
Place both apktool files in C:\Windows\
see my thread here for a full picture guide to using apktool
http://forum.xda-developers.com/showthread.php?t=2206938
also why have you renamed your apks to apktool if framework-res and so on in your screenshot thats a big no - do not rename your apk files
they should just be called framework-res.apk settings.apk and twframework.apk
you have renamed them to commands you type into a command prompt and I dont understand why you have done that!
you type in the command prompt apktool if framework-res.apk - you do not rename any files
Click to expand...
Click to collapse
OMG!
crazysuraj said:
OMG!
Click to expand...
Click to collapse
well done you have decompiled settings.apk to a folder called settings
make sure you use notepad++ to edit any xml files (different from windows notepad)
http://notepad-plus-plus.org/download/v6.6.3.html
to recompile just type
apktool b settings newsettings.apk
and it will recompile the folder to an apk called newsettings.apk (assuming no errors have been made in modding files)
you can then rename this apk back to settings.apk and sign it if required (if you have edited the androidmanifest you need to sign the apk) - you can use zipsigner from the playstore to sign apks if you need to - use a testkey for non system apps and a platform key for system apps

Edit the SystemUI_ZTE.apk?

Hi,
I want to edit the SystemUI_ZKE.apk, but when I use "APK Editor Pro" for instance the apk crashes after a reboot.
What would be the right way to do this? My goal is to delete the charging.ogg file that wakes my wife as I plugin a charger when I go to bed
Any other solution to *that* problem is welcome too.
I'm on a A2017G B06 btw.
Thanks in advance,
Cheers,
/Cacti
Edit: Sorry, wrong forum, should be posted in the Questions & Answers. @mods: please move it, thanks.
le_cactus said:
Hi,
I want to edit the SystemUI_ZKE.apk, but when I use "APK Editor Pro" for instance the apk crashes after a reboot.
What would be the right way to do this? My goal is to delete the charging.ogg file that wakes my wife as I plugin a charger when I go to bed
Any other solution to *that* problem is welcome too.
I'm on a A2017G B06 btw.
Thanks in advance,
Cheers,
/Cacti
Edit: Sorry, wrong forum, should be posted in the Questions & Answers. @mods: please move it, thanks.
Click to expand...
Click to collapse
You need to use apktool on Windows or Linux instead: https://ibotpeaches.github.io/Apktool/. You'll need Java already installed.
Your device also needs to be rooted and have TWRP recovery installed.
Put the apktool.jar and wrapper script in the system directory (C:\Windows on Windows)
Pull frameworks and SystemUI from your device with
Code:
adb pull /system/framework/framework-res.apk
adb pull /system/framework/framework-zte-res.apk
adb pull /system/priv-app/SystemUI_ZTE/SystemUI_ZTE.apk
Install frameworks to your computer:
Code:
apktool if framework-res.apk
apktool if framework-zte-res.apk
Decompile SystemUI_ZTE.apk:
Code:
apktool d SystemUI_ZTE.apk
Make whatever changes you want to make then recompile with:
Code:
apktool b SystemUI_ZTE
Use signapk.jar to sign the apk then put the apk into a flashable zip and flash to your device in TWRP.
If you want to make changes to smali you'll need to pull the SystemUI_ZTE odex file and deodex the apk with oat2dex and then use 7-zip or WinRAR to paste the classes.dex file into the apk before decompiling.
Gr8 tutorial. I'll try that tomorrow, hope I get it fixed. Thank you!
Cheers,
/Cacti
Sent from my ZTE A2017G using XDA-Developers Legacy app
Hi,
*
Earlier I tried with APK Editor Pro (https://play.google.com/store/apps/details?id=com.gmail.heagoo.apkeditor.pro)
What happened was (after replacing the SystemUI_ZTE.apk with the modified APK) after a reboot the system booted with parts of the UI nog working. Navigationkeys didn't work except for the home button, and I had no status bar at all. After rebooting again it only showed my wallpaper, and no matter what I did it wouldn't show me anything else. So I had to restore.
*
Modifying the APK with the APKTool gave me the exact same result. Only thing i did differently as to bkores guide was I signed it using ZipSigner (but that never failed me before) and I just replaced the file using TWRP, instead of flashing it through an installer zip. But I can't imagine that being the problem?
*
Anyways, anybody able to modify the SystemUI_ZTE.apk? All I need is the B06 (A2017G) with a replaced charging.ogg (with only silence).*Any tips are welcome.
*
TIA,
*
Cheers,
/Cacti
Sent from my ZTE A2017G using XDA-Developers Legacy app
le_cactus said:
Hi,
*
Earlier I tried with APK Editor Pro (https://play.google.com/store/apps/details?id=com.gmail.heagoo.apkeditor.pro)
What happened was (after replacing the SystemUI_ZTE.apk with the modified APK) after a reboot the system booted with parts of the UI nog working. Navigationkeys didn't work except for the home button, and I had no status bar at all. After rebooting again it only showed my wallpaper, and no matter what I did it wouldn't show me anything else. So I had to restore.
*
Modifying the APK with the APKTool gave me the exact same result. Only thing i did differently as to bkores guide was I signed it using ZipSigner (but that never failed me before) and I just replaced the file using TWRP, instead of flashing it through an installer zip. But I can't imagine that being the problem?
*
Anyways, anybody able to modify the SystemUI_ZTE.apk? All I need is the B06 (A2017G) with a replaced charging.ogg (with only silence).*Any tips are welcome.
*
TIA,
*
Cheers,
/Cacti
Click to expand...
Click to collapse
Try copying META-INF folder from old apk to new apk. If that doesn't work try copying resources.arsc from new apk to old apk and flash the old apk. Don't sign
Can it have anything to do with the .odex file?
I'll try the meta-inf thingy and see if that works
Cheers,
/Cacti
Sent from my ZTE A2017G using XDA-Developers Legacy app
Actually try this instead. I think the apk needs to be deodexed before it can be modified like you said.
Pull the odex file
Code:
adb pull /system/priv-app/SystemUI_ZTE/oat/arm64/SystemUI.odex
Get smali folder from the odex file with oat2dex.jar here: https://github.com/testwhat/SmaliEx/releases/tag/snapshot
Open command window in directory of odex file
Code:
java -jar oat2dex.jar smali SystemUI.odex
Decompile the apk and then copy and paste the smali folder into the directory of the decompiled apk.
Make your charging.ogg change and then recompile the apk. Copy and paste the META-INF from original apk to new apk.
Push apk to your device and delete the "oat" folder in the SystemUI_ZTE folder on your device.
Hi,
Thank you for your support so far, but that didn't work out eighter....
bkores said:
Code:
adb pull /system/priv-app/SystemUI_ZTE/oat/arm64/SystemUI.odex
Click to expand...
Click to collapse
Assuming you made a typo (since there is no SystemUI.odex) I used this instead:
Code:
adb pull /system/priv-app/SystemUI_ZTE/oat/arm64/SystemUI_ZTE.odex
bkores said:
Get smali folder from the odex file with oat2dex.jar
Click to expand...
Click to collapse
After the oat2dex command I don't have a smali folder, just 5434 smali files scattered over serveral folders, so I don't know how to proceed from there.
Cheers,
/Cacti
le_cactus said:
Hi,
Thank you for your support so far, but that didn't work out eighter....
Assuming you made a typo (since there is no SystemUI.odex) I used this instead:
After the oat2dex command I don't have a smali folder, just 5434 smali files scattered over serveral folders, so I don't know how to proceed from there.
Cheers,
/Cacti
Click to expand...
Click to collapse
Well then create a folder called smali in the directory of decompiled apk and paste the folders into smali
Can someone help me, i want to change framework.jar but there is no classes.dex in jar nor framework.odex in /system/framework/oat/arm64 (also arm). Because of it i can't decompile it with smali/baksmali tool. I want to change volume steps in AudioService exactly what VolumeSteps+ do but without Xposed. Any help? I'm on Nougat B10 Rom.
SkaboXD said:
Can someone help me, i want to change framework.jar but there is no classes.dex in jar nor framework.odex in /system/framework/oat/arm64 (also arm). Because of it i can't decompile it with smali/baksmali tool. I want to change volume steps in AudioService exactly what VolumeSteps+ do but without Xposed. Any help? I'm on Nougat B10 Rom.
Click to expand...
Click to collapse
Perhaps this can help a bit : https://forum.xda-developers.com/axon-7/themes/a2017-volume-steps-enabler-call-media-t3745747
If you want a decompiled framework, I can send you. Just pm me.
If you want I'll implement your mods and recompile again. Up to you to test
raystef66 said:
Perhaps this can help a bit : https://forum.xda-developers.com/axon-7/themes/a2017-volume-steps-enabler-call-media-t3745747
If you want a decompiled framework, I can send you. Just pm me.
If you want I'll implement your mods and recompile again. Up to you to test
Click to expand...
Click to collapse
I solved a problem, AudioService is not in framework.jar anymore, it's on services.jar. Check my post on your mentioned thread.

Categories

Resources