[IDE][5.x] APK Studio - IDE for Reverse Engineering Android APKs
APK Studio is a cross-platform IDE for reverse-engineering (decompiling/editing) & recompiling of android application binaries within a single user-interface. It features a friendly IDE like layout, with a code editor which support syntax highlighting for Android SMALI (*.smali) code files.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Details & Download:
Github
Links:
Homepage
Download
Source
Issue Tracker
I look forward to trying this out I am to the point when I use command line stuff I start to fall asleep lol.
Sent from my immorality and my HTC One V using Tapatalk 2 sponsored by the letter mmm donuts... DOH!
Great one http://forum.xda-developers.com/images/smilies/good.gif
but it lags during compiling
any help ??
Please brief about the problem?
ewa3h said:
Great one http://forum.xda-developers.com/images/smilies/good.gif
but it lags during compiling
any help ??
Click to expand...
Click to collapse
Can you provide me with some sort of brief with what you meant with "it lags during compiling"?
Did it recompile or not?
What you were recompiling (if that ain't confidential)?
That would help me recreating the issue so that I can check with it & fix the issue when I get back at home!
Lastly, thanks for your feedback! :cyclops:
Thank you!
I wanna try it!
THANK YOU
This is a great TOOL! I tried this out and it works great. I didnt experience any LAG what so ever... Love the features! Been looking for a apktool like this forever. Cant stand typing all the freaking cmds... NICE JOB!!!! and for the negative feed back about the lag..... I think its your lame computer thats lagging not the app:good:
can someone give a little how to use guide? I'm a noobie
Thanks man!
XxTeXx07xX said:
This is a great TOOL! I tried this out and it works great. I didnt experience any LAG what so ever... Love the features! Been looking for a apktool like this forever. Cant stand typing all the freaking cmds... NICE JOB!!!! and for the negative feed back about the lag..... I think its your lame computer thats lagging not the app:good:
Click to expand...
Click to collapse
Actually you know what, I's waiting for such response!
Easy man!
harveyr4 said:
can someone give a little how to use guide? I'm a noobie
Click to expand...
Click to collapse
Hey harveyr4! It's quit easy & self-explanatory! You go to File > Open APK > browse to your APK file & select it..., wait & watch the status bar! You will then be presented with the real thing inside You can double click any smali file from package (use package explorer on the left), edit it then you can recompile it from the Build menu!
i love develper i try and i poste :laugh:
Error during decompile process
Is it possible to log the decompile process, so that we know where possible errors occur?
I've tried some apk's from the CM10.1 ROM (Settings, SystemUI) and some others like Apollo, Effem and it hang on "Unexpected error occured when extracting"
EDIT: It seem that there is a problem with backing up the original apk, because there is no dist folder in Settings-apkstudio folder
Hmm hmm! I will add it...
lahmizzar said:
Is it possible to log the decompile process, so that we know where possible errors occur?
I've tried some apk's from the CM10.1 ROM (Settings, SystemUI) and some others like Apollo, Effem and it hang on "Unexpected error occured when extracting"
EDIT: It seem that there is a problem with backing up the original apk, because there is no dist folder in Settings-apkstudio folder
Click to expand...
Click to collapse
Hmm, I see! maybe some wrong permissions or something is there. I'll try to reproduce it on an XP machine & will check on it. Also, thanks for the suggest. I'll implement a debug console in upcoming Java/SWT version for logging batch output.
Error on Extracting
Why does it show "Unexpected occurred error when extrating"
vaibhavpandeylive said:
APK Studio is the first IDE (don't know If I should call it like that ) that allows out of the box decompiling, editing & then recompiling of android binaries easily (editing of .smali files with Syntax Highlighting). No need to configure Notepad++ for bit of changes.
You can use it for editing ,decompiling, recompiling, rebuilding APKs or just have a look at How Did They Do It? . I tried to make it as promising as it could be in 4 days of design & development.
So that every piece of code is visible and a well developed editor which allows editing of codes. It comes with more than bunch of features in it.
If you are tired of using command line tools (still appreciate them APKOneClick, APKTOOL & DCompiler as they form the foundation of this one too), this is the tool for you.
This software will ease the way of reverse engineering APKs from now.
Download it & post your suggestions.
Click to expand...
Click to collapse
great work mate, looking forward to trying it! does it also allow you to decompile .jar files?
also feel free to check out my qiuckmodtool for features!
ewa3h said:
Great one http://forum.xda-developers.com/images/smilies/good.gif
but it lags during compiling
any help ??
Click to expand...
Click to collapse
whats the specs of your pc?
apktool needs to parse all the lines in the smali code, then needs to convert it, then convert the XML files, then build resources.arsc then pack..
on a pc like mine(1.8GHZ 512MB ram) takes atleast a 2 minutes to compile anything, to compile setings.apk takes 12 minutes.
Working on it, under development.
ricky310711 said:
great work mate, looking forward to trying it! does it also allow you to decompile .jar files?
also feel free to check out my qiuckmodtool for features!
whats the specs of your pc?
apktool needs to parse all the lines in the smali code, then needs to convert it, then convert the XML files, then build resources.arsc then pack..
on a pc like mine(1.8GHZ 512MB ram) takes atleast a 2 minutes to compile anything, to compile setings.apk takes 12 minutes.
Click to expand...
Click to collapse
I am working on an SWT/JFace cross-platform version (especially crafted because no GUI tool for the purpose on linux). I already added the functionality of decompiling from APK/JAR. You can even open individual .smali files in it's syntax highlighted editor. It will be announced soon right here.
As for the specs, I develop on AMD 64-Bit machine 3.6 GHz, 8GB Corsair XMS3, WD Green 1TB 6GBPs SATA-3. Everything just goes fine with it. But I don't think waiting time is an issue we should bother about. I needed a GUI & made one. Didn't care about that. When I use APK_OneClick, it takes almost same. Mine just takes some extra time to decompile the JAR into individual Java source files while jDecompile (APK_OneClick uses) reads from JAR directly. So it might be faster.
Hey man,
Just decided to give your app a go. A couple of things that I would like to bring up (and these may or may not be unique to me?
some back ground info on my rig. Windows 7 64Bit release, I am running 8GB of HyperX RAM, Core Duo Quad OC 3.8Ghz installed on Intel 3 gen 180GB SSD and running as fast as lightning! Java version is 1.8.0 64Bit. Windows env is set correctly also. Latest SDK. I am running apktool version apktool_2.0.0b9.jar
1). Man talk about lag!!! It took more than 10min (close to 15 actually) to decompile a simple app like PasswordSafe? Any clues or indications as to why?
2).Does not inform the user if it is still decompiling or not? i.e no progress bar? Yes it lists the files in the GUI in the bottom bar, but when an app is pause
3) Now that it's decompiled....now what? This application does seem to do anything more after it has completed decompiling? It cannot detect any valid apk in any directory I pointed it at, source code or no source cute?
4.) What is the idea/ place behind it? I see both APKTool and dex2jar decompilers.....output is in java class files (suggesting only dex2jar was executed?)...no smali files?
5).If the results ARE only meant to produce the java class output, then has this been tested with the Android IDE development environment?
No manifest has been produced? To date I have yet to find any application that can decompile to java and recompile the application either as a standalone or inside of Android Studio /Eclipse IDE's? So if your claim is correct that you can indeed recompile from decompiled java resources then I EAGERLY WAIT FOR YOU TO RESPOND
Man I have tried EVERYTHING, and I mean everything with exception of JEB noteably because of its heft $1000 price tag and nothing has been able to do this successfully has been able to do this :-|
Hmm
Jarmezrocks said:
Hey man,
Just decided to give your app a go. A couple of things that I would like to bring up (and these may or may not be unique to me?
some back ground info on my rig. Windows 7 64Bit release, I am running 8GB of HyperX RAM, Core Duo Quad OC 3.8Ghz installed on Intel 3 gen 180GB SSD and running as fast as lightning! Java version is 1.8.0 64Bit. Windows env is set correctly also. Latest SDK. I am running apktool version apktool_2.0.0b9.jar
1). Man talk about lag!!! It took more than 10min (close to 15 actually) to decompile a simple app like PasswordSafe? Any clues or indications as to why?
2).Does not inform the user if it is still decompiling or not? i.e no progress bar? Yes it lists the files in the GUI in the bottom bar, but when an app is pause
3) Now that it's decompiled....now what? This application does seem to do anything more after it has completed decompiling? It cannot detect any valid apk in any directory I pointed it at, source code or no source cute?
4.) What is the idea/ place behind it? I see both APKTool and dex2jar decompilers.....output is in java class files (suggesting only dex2jar was executed?)...no smali files?
5).If the results ARE only meant to produce the java class output, then has this been tested with the Android IDE development environment?
No manifest has been produced? To date I have yet to find any application that can decompile to java and recompile the application either as a standalone or inside of Android Studio /Eclipse IDE's? So if your claim is correct that you can indeed recompile from decompiled java resources then I EAGERLY WAIT FOR YOU TO RESPOND
Man I have tried EVERYTHING, and I mean everything with exception of JEB noteably because of its heft $1000 price tag and nothing has been able to do this successfully has been able to do this :-|
Click to expand...
Click to collapse
Greetings!
1) The long decompilation time is because of the decompilation of JAR produced by dex2jar to individual .java files. Unlike others, I didn't want to just fire up jDecompile with the JAR path to browse sources. I wanted individual files so that I (atleast) could open & compare smali & java files for same class in two tabs while editing smali code.
2) There is a progress bar at bottom with current file status being updated each time on the label (in status bar) to keep the user informed.
3) After SUCCESSFUL decompilation, loads up the tree on left with apk-directory structure & opens up found AndroidManifest.xml. Then you can browse smali code from the tree edit & recompile.
4) There MUST NOT be any class files at all. Procyon decompiler directly outputs .java files from the .jar. It should not spit out the OP code.
5) The java source output IS NOT MEANT from recompiling from it. It is just to COMPARE & CHECK what we are editing in SMALI code.
i tried to run your apkstudio to decompile apk, but it always stuck at this stage, do you know why?
I Am Working On It
rbnkho said:
i tried to run your apkstudio to decompile apk, but it always stuck at this stage, do you know why?
Click to expand...
Click to collapse
I've been getting a lot of messages saying people stuck at decompilation. I've decided to discontinue Procyon's decompile as at most times, it fails to decompile obfuscated code.
If editing the application & recompiling is your intention, then you can restart APK studio, and this time choose Open Directory from File menu. Navigate the browser to the extracted folder location & it will show up the files, and yes..., you can recompile back after edits from there.
The decompiler is producing errors when converting from OP to Java code from JAR produced by dex2jar.
Sorry for it is taking long, but this time in new version..., I'm developing it precisely taking care of each 'n every bug reported yet.
Thanks mate. I am looking forward to it I like the concept of this.
I didn't see any real clear step by step instructions on how to use it correctly but for now I will just hold off till you have something a bit more concrete.
Also I don't mean to burst your bubble hear where I say this but you do realise that Dex2JAR is extremely limited in its functionality! You won't get even half the classes that are needed. I have proven this many times.
I am looking to port across Android DARE. If you haven't checked it out already maybe you should take a look at it? it Does heaps more classes, almost to the point where I can set up a project in Eclipse, but not quite.
There are two other applications that do similar things to yours on XDA. One by broodplank called APKtoJava and another is a very popular studio called VirtuousTen Studio. APKtoJava is really focussed on Decompiling and setting up an apk project ready for eclipse whilst also allowing the user to edit smali code. VirtuousTen is aimed at a similar approach to yours and looking at the code side by side next Java classes and smali.
All use Dex2JAR so all are very very limited in their methodology. The best I have found so far is to decompile in Linux using Android DARE and then bring the results back into Windows and decompile again in VirtuousTen, then delete the Java results only keeping the directory structure and then dumping the Android DARE Java files in the directory. Side by side it is perfect.
Only problem is I absolutely hate the Windows 8 interface force fed to us. I don't have Windows 8 and the version I do have in a VM I have made it look like 7 cause I hate the look so much lol!
So if you can withstand that about VirtuousTen then it pretty much does what yours does.
Have a look and check them out
Related
This is my attempt to get some more creativity, innovation, and roms here on xda. alot of people here have incredible skills but they cant be harnessed because they dont know what to do. if you are an artist we need you make icon packs. you have made 30 roms but you cant sign them. blah blah.
so no one abuse this but i attached a toolkit to do anything and everything with android on windows. im pushing this to be used for creating themes. hopefully it can help. but i thought it would be nice if everyone had this and the opensource community could start to grow even more.
i like this idea because it can help fellow Devs and even the watchers. everyone can get involved and give something to the community.
And now i present the Avabox
Any questions post them up.
OUTLINE------------------------------------------------------------
unyaffs-you have the ability to take system.img and data.img from you nandroids and get specific items from them.
Autosign- sign anything and everything. name your zip update.zip and follow the readme. roms themes, apps, anything.
Baksmali- put in apk in the folder. read readme. edit any icons wallpapers, anything. close it up and enjoy.
Perlscripts- this opens the boot.img for you.
Read the readme on all of these programs.
So this is going to be a quick tutorial Im gonna put up a video soon on how i got this to work on my computer
First things first download Avabox and unzip it in your C folder (same place you put androidsdk).
then get the java runtime from here not to be confused with the java development kit but since your there might as well grab it as well.
Install the java runtime then reboot
then open up avabox and click on autosign and place the zip you want signed in that folder and name it update.zip (dont add the .zip part it should already be a zip file).
then open up command prompt and type:cd\
cd Avabox/auto-sign
java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip
After that last enter give it a second and look in your avabox/update file and you'll notice a new file called update_signed.zip
I know that this is almost word for word from the read me but a few differences can go along way expect a video shortly..... well around wednesday or whenever i can get someone to help with this
porting
im interested in learning how to port and combine different aspects of themes and other mods. will this do it or is there other software i need. I can do the work if shown the way. I read all the post everday with peopl;e asking for this and that and i do it myself. If shown I would help with requests as much as possible. HELP PLEASE
Thank you Avalaunch!!
so with this software, can i take a signed theme mod (like launcher or taskbar) and it will grab the images for me to edit, and then repack and sign to a flashable zip?
Everyone that knows how to use bak/smali, I have a question.
The modifications I made to the extracted pngs aren't getting transferred back to the original apk when I close it back up. Any Ideas? I'm getting really close to a breakthrough for 2.1. Any help would be appreciated
regaw_leinad said:
Everyone that knows how to use bak/smali, I have a question.
The modifications I made to the extracted pngs aren't getting transferred back to the original apk when I close it back up. Any Ideas? I'm getting really close to a breakthrough for 2.1. Any help would be appreciated
Click to expand...
Click to collapse
hm ill have to check into it. it should be making a new classes.dex too. i never really used it on edits.
Avalaunchmods said:
hm ill have to check into it. it should be making a new classes.dex too. i never really used it on edits.
Click to expand...
Click to collapse
It changes the classes.dex and resigns it it looks like, but doesn't copy the mods of the pngs to the apk.
regaw_leinad said:
Everyone that knows how to use bak/smali, I have a question.
The modifications I made to the extracted pngs aren't getting transferred back to the original apk when I close it back up. Any Ideas? I'm getting really close to a breakthrough for 2.1. Any help would be appreciated
Click to expand...
Click to collapse
What do you mean? Baksmali and Smali are for decompiling classes.dex and opening it up for the .smali files that are inside. Smali takes that output and recompiles it back into classes.dex for your .apk or .jar file.
You need to update the baksmali and smali .jar's. You have older versions and that will cause issues with certain .jar and .apk's when decompiling. baksmali-1.2.1.jar and smali-1.2.1.jar are the latest versions and will not require the BOOTCLASS PATH to be included...
Does the autosign work windows 7 (64 bit)? I've heard issues with other autosigns on 7. If it doesn't, no biggie I got xp in a VM... lol
obannvi said:
What do you mean? Baksmali and Smali are for decompiling classes.dex and opening it up for the .smali files that are inside. Smali takes that output and recompiles it back into classes.dex for your .apk or .jar file.
Click to expand...
Click to collapse
Yeah I get it now, after playing with it for a while.
Avalaunch, you should change the first post.
Baksmali- put in apk in the folder. read readme. edit any icons wallpapers, anything. close it up and enjoy.
Click to expand...
Click to collapse
that description is a little confusing to a person that NEVER used smali/baksmali before. It makes it seem like after you edit the unzipped files, you could just run smali and it will put al the changes in the new apk. I figured out that's not how it works lol I feel pretty stupid now looking back at my last question haha
regaw_leinad said:
Yeah I get it now, after playing with it for a while.
Avalaunch, you should change the first post.
that description is a little confusing to a person that NEVER used smali/baksmali before. It makes it seem like after you edit the unzipped files, you could just run smali and it will put al the changes in the new apk. I figured out that's not how it works lol I feel pretty stupid now looking back at my last question haha
Click to expand...
Click to collapse
What im trying to figure out is why would you even need to use baksmali/smali to edit .png's inside an .apk. All that needs to be done is opening of the .apk with 7zip, modify whats in /res/drawable etc then close...No need to sign .apks or anything. If anything, the script needs to contain something to extract /res/ * from the .apk to edit.
obannvi said:
What im trying to figure out is why would you even need to use baksmali/smali to edit .png's inside an .apk. All that needs to be done is opening of the .apk with 7zip, modify whats in /res/drawable etc then close...No need to sign .apks or anything. If anything, the script needs to contain something to extract /res/ * from the .apk to edit.
Click to expand...
Click to collapse
I'm actually doing more than that. I am changing the code to look for instead of <name of file>.jpg to <name of file>.png
While also putting the new png in the apk. Think that's possible? I changed all of the locations where that file comes up in the smali code.
regaw_leinad said:
I'm actually doing more than that. I am changing the code to look for instead of <name of file>.jpg to <name of file>.png
While also putting the new png in the apk. Think that's possible? I changed all of the locations where that file comes up in the smali code.
Click to expand...
Click to collapse
I gotcha. So you're looking in blah.smali for any reference to .jpgs and changing that reference to look for .png instead??
obannvi said:
I gotcha. So you're looking in blah.smali for any reference to .jpgs and changing that reference to look for .png instead??
Click to expand...
Click to collapse
yeah, not working too well atm, but working on it.
I think this is what I've been looking for. Downloading now.
Just noticed that ActivePerl was for 64bit. I am downloading 32bit as I have only have 32bit Vista Pro installed and not the 64bit.
regaw_leinad said:
Yeah I get it now, after playing with it for a while.
Avalaunch, you should change the first post.
that description is a little confusing to a person that NEVER used smali/baksmali before. It makes it seem like after you edit the unzipped files, you could just run smali and it will put al the changes in the new apk. I figured out that's not how it works lol I feel pretty stupid now looking back at my last question haha
Click to expand...
Click to collapse
i guess i need to explain more. i use baksmali to make apks easier to search through. for me at least. instead of changing the type and everything i just put it in the folder and baksmali then do changes and create a new archive. sign and change .apk. if you smali it back to apk then it wont save edits. sorry about that anyways has this helped people so far? i love showing that windows can be a dev platform
&RoidRage said:
I think this is what I've been looking for. Downloading now.
Just noticed that ActivePerl was for 64bit. I am downloading 32bit as I have only have 32bit Vista Pro installed and not the 64bit.
Click to expand...
Click to collapse
yes just google active perl i use win 7 64bit and when this toolbox was made, it was only made for certain people who had 64bit.
Sorry for the n00b question, but I have searched and haven't had much luck. Hopefully, this is the best place for this question. I just started editing .png's and updating some apk's files to customize some things on my phone for looks. However, I am really interested in modifying the taskbar and notification screen, but I have no clue where to start. Is there a guide somewhere I could follow to learn how to change them? What programs, if any additional ones will I need etc..?
Thanks for your help!
Figured it out on my own. framework.apk and resources.apk
First of I want to say that I am not a developer. I don't have programming experience nor do I know a whole lot about this particular subject. I hope that sharing what I have found so far will help anyone else who wants to do something similar. With the help of voodoo55 I have successfully created and compiled APKs for use with the TMobile theme engine. Although this appears to be a great idea for the experienced developer because it will make themes cross device compatible it probably isnt going to be such a big hit with the normal joe blow themer such as myself for a few main reasons.
1. You have to be running linux and tapped into the CyanogenMOD github.
2. You're probably going to need to know a bit of xml coding (which I didnt when I started).
3. You're going to have to know how to decompile and edit .9 PNGs.
4. You're going to have to know how to compile APKs un linux as well
None of these in themselves are all that complicated or hard for that matter, just tedious and very time consuming for the average themer. I am not going to get into specifics or xml code details here. As I am not a developer and dont know much about this stuff all I am going to do is tell you how these APKs function and what files need to be changed in order to compile them. Also, you'll find out the time consuming problem with compiling these APKs and how to fix it. Im just too lazy to sit here and manually fix hundreds of images.
Please remember these instructions are not very detailed but give a general idea on the direction you will need to take to make this happen. Also, for anyone who knows more about this than I do, please, feel free to correct me.
Step 1 - You are going to need to have a working linux distro running.Step 2 - You need to follow the instructions located here minus the last step to get the source from Cyanogen's github.Step 3 - Once #2 is complete and you have downloaded the source to the ~/android/system directory, you will find the current uncompiled source for the TMobile themes "Androidian" and "Cyanbread" in the ~/android/system/vendor/tmobile/themes directory.Step 4 - The experienced Dev would probably start completely from scratch here but I didn't so I'm not going to tell you how. As template, make a copy of the Cyanbread folder and renamed to your theme name.Step 5 - Here we are going to want to edit some files to make the compile possible with. In "your theme" directory there is a filed named Android.mk. In a txt editor you will need to change the following line:
Code:
LOCAL_PACKAGE_NAME := Cyanbread
to
Code:
LOCAL_PACKAGE_NAME := yourthemename
Step 6 - Edit the following lines in AndroidManifest.xml by replacing Cyanbread with your theme name.
Code:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:pluto="http://www.w3.org/2001/pluto.html"
package="com.tmobile.theme.Cyanbread"
android:hasCode="false">
<uses-feature android:name="com.tmobile.software.themes" />
<theme
pluto:themeId="Cyanbread"
pluto:styleId="@style/Cyanbread"
pluto:name="@string/theme_name"
pluto:preview="@drawable/preview"
pluto:author="@string/author"
pluto:copyright="@string/copyright"
pluto:wallpaperImage="@drawable/wallpaper"
pluto:styleName="@string/style_appearance_name"
pluto:ringtoneName="Shocking"
pluto:ringtoneFileName="media/audio/ringtones/Shocking.mp3"
pluto:notificationRingtoneName="Teleport"
pluto:notificationRingtoneFileName="media/audio/notifications/Teleport.mp3">
Step 7 - Open up the res/values folder. There are two files in this particular template that need to be edited, strings.xml and themes.xml.
In the themes.xml you will need to change this line of code
Code:
<style name="Cyanbread" parent="@android:style/Theme" />
to this
Code:
<style name="yourthemename" parent="@android:style/Theme" />
and in the strings.xml you are basically doing the same thing by replacing "Cyanbread" everywhere with "yourthemename"
Code:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Cyanbread Theme</string>
<string name="theme_name">Cyanbread</string>
<string name="style_appearance_name">Cyanbread</string>
<string name="author">T-Mobile MSD</string>
<string name="copyright">T-Mobile</string>
</resources>
it should look similar to this when edited
Code:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">youthemename Theme</string>
<string name="theme_name">yourthemename</string>
<string name="style_appearance_name">yourthemename</string>
<string name="author">You are the author</string>
<string name="copyright">there is no copyright on open source</string>
</resources>
Ok, so far this isn't to complicated but from here on out it gets a little more tricky for the average joe. Let me try to explain how these APKs work. Basically the xml files in the theme APK tells android to look in its own folders for, basically, substitute PNG images for the ones currently in the your framework and system/app packages on your phone. Pretty simple, no big deal. There are numerous xml files located in the various folders within the APK but I'm only going to talk about the two main ones need. In the res/xml there is a file named redirections.xml and android.xml. The redirections.xml basically tells the Tmobile theme picker thingy what other xml files to look at to find the source for the replacement PNGs. The main one being android.xml. Android.xml tells the OS on your phone what replacement PNGs to use for the theme. This will replace images that would normally be used from the framework-res.apk. There are other xml files in this directory as well, each one is correspondent to any APK in /system/app on your phone that you wish to theme. For instance com_android_systemui.xml will correspond to /system/app/SystemUI.apk. It works the same was that the android.xml file does and can be edited in the same way as well.
Hope that wasn't to confusing.
Step 8 - Now you will notice there are res/drawable-hdpi and res/drawable-mdpi folders in here as well. Here is where you will add new PNGs for your theme. Personally I deleted the entire contents of the folder and started over. Im not going to get into the specifics of what PNGs to replace as any themer should be ok with doing this. You can place images from any /system/app/*.apk as well but for now I am referring to the framework-res.apk. Once you replace your PNGs you are going to have to create an associated link in the android.xml.
Please note: Any .9 PNGs you replace will HAVE, IT IS A MUST, to be decompiled and the borders edited correctly for the APK to compile correctly.
Step 9 - Open the android.xml file. Initially you will see lots of code but since you are starting over you will want to delete everything between these two lines.
Code:
<resource-redirections>
</resource-redirections>
Once this is complete we will now add the code you will need so it will find the PNG you replaced. For instance, if you placed an edited stat_sys_battery_40.png in the res/drawable-hdpi folder you are going to need to add this line of code the the xml file inbetween the <resource-redirections> code
Code:
<item name="drawable/stat_sys_battery_40">@drawable/frameworks_res_stat_sys_battery_40</item>
I hope you can see how the code corresponds to the PNG name as well. You can basically name the image anything you want as long as the code above is told to where to look.
The same this would apply to any other xml file for their associated APKs as well.
Step 10 - Here you will want to edit the res/xml/redirections.xml file. You will see it has tons of stuff in it but again you will want to remove anything are not using. If you are only using say, the android.xml and the com_android_systemui.xml it would look similar to this:
Code:
<theme-redirections
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:pluto="http://www.w3.org/2001/pluto.html">
<package-redirections android:name="android"
android:minSdkVersion="7"
android:resource="@xml/android" />
<package-redirections android:name="com.android.systemui"
android:minSdkVersion="7"
android:resource="@xml/com_android_systemui" />
</theme-redirections>
Step 11 - Now for the final test of whether or not you edited everything correctly you will need to compile the APK. Open a terminal window and type
Code:
cd ~/android/system
and then type
Code:
make yourthemename
If you have edited everything correctly you APK will be compiled and can be found in the ~/android/system/out/target/product/supersonic/system/app folder. If it doesnt compile it will give you pretty specific errors in the terminal window that you could can go by to correct your problems.
And now for the BAD NEWS !!! The troubles I had while doing this was mainly with .9 PNGs. It seems that a ton of the .9 PNGs us normal themers use have been in some way corrupted d/t being edited incorrectly. Most of the borders are not done correctly. One of two things will happen: 1. They will not decompile correctly or 2. the will not compile correctly with the theme due to faulty editing. This is a simple fix but is extremely time consuming. And I, like most of us, simply don't have the time to fix each .9 I use in my themes for build each APK. Normal PNG changes are no problem however. I hope people will experiment with this as I have and will continue to do in my free time but for now I am going to stick to creating themes the old fashioned way. I do sincerely hope Cyanogen plans on placing his "UI Tweaks" section back into "CM Settings" as well for those of us who dont plan on building theme APKs.
Once again, I AM NOT a developer, so I probably couldn't answer any more advanced questions but feel free to ask. I'm sure there are plenty of people here who can. I just wanted to share my findings and what I did to make these APKs. The "Androidian" theme varies slightly if plan on using it as a template.
Hi! Thankk you so much for your tutorial, all works fine and apk is ok and properly installs on my N1, but if i try to upload the apk on market, it says me "The icon for your application is not valid. Please use a 48x48 PNG.".
Obviously, i checked twice my icons, and searched for a solutions on the net, and for the most of people with this problem it was due by a "\n" in the app name, and not from the icon. But i have not "\n" in my app name, and icons are right, so i can't figure out what is the error due to...
Can you give me some help?
Regards and sorry for my english!
do you happen to know how this would be done on windows?
Currently I have the CyanBread template / source off t-mobiles github page and have a working SDK and eclipse plugin. I am capable of making unsigned or test signed apps and have compiled a few simple apps myself, which worked fine.
Now when I Run As or export unsigned app (as done previously) the theme manager say that the theme was NOT compiled correctly.
I have done this with an unedited version and a minimalist version containing only a few of the SystemUI and framework-res files and removed from the xml correctly, the images in use are the ones which came with the template and so should not be the problem.
I must say that I would not have been able to edit this much without your explainations, so TYVM! truely awesome! And when this works I have an awesome theme half developed , I'm itching to finish.
I've read something about a modified appt.exe to allow the theme manager to assign res images differently or something, this i cannot seem to find. or figure how to bypass. I understand that in linux, you can just pull the whole repository and get it as you stated above, but surely its possible in windows???
any and all help welcome! I'm no dev, but I'd love to be able to theme like this! no more update.zips!
------
p.s. I don't want to do it in Linux virtual box fyi, and even if i did repo/adb (in VM only) currently seem to be broken at my end.
Maybe this links are useful too:
http://code.google.com/p/tmobile-themes/
http://code.google.com/p/android-theme/w/list
From "haxzamatic":
I also have a theme template on github with all AOSP graphics so you can start with stock graphics. I put a ton of work in behind the scenes so we can see some awesome themes for this system.
Click to expand...
Click to collapse
http://github.com/haxzamatic/Templatebread-
Ganii said:
Maybe this links are useful too:
http://code.google.com/p/tmobile-themes/
http://code.google.com/p/android-theme/w/list
From "haxzamatic":
http://github.com/haxzamatic/Templatebread-
Click to expand...
Click to collapse
thanks alot for taking the time to reply, but i have read the first 2 links before and it only has instructions for getting the full repository in linux, as for the templates they are all quite similar, althought that one by haxzamatic is one of the "fullest" ones I've seen. This I'm sure is not the problem, as i can compile the template after importing it as a project in eclipse but it will NOT apply.
I have even made a signed apk and installed it off the SD, it installs fine, but wont apply.
I suppose i should get repo working in my linux box.... but i do think its silly the appt wasn't released for windows and linux.... any more advice?
I compiled my theme this morning, and it finished with no errors but when i go to install it doesn't work. The apk looks good, so Idk.
trock79 said:
I compiled my theme this morning, and it finished with no errors but when i go to install it doesn't work. The apk looks good, so Idk.
Click to expand...
Click to collapse
You have to be using the AAPT from T-Mobile git to support the theme resource IDs in resources.arsc. The stock AAPT will not generate the IDs expected by the theme manager.
weareallkosh said:
You have to be using the AAPT from T-Mobile git to support the theme resource IDs in resources.arsc. The stock AAPT will not generate the IDs expected by the theme manager.
Click to expand...
Click to collapse
That is the method I used. When I go to install the apk it fails.
trock79 said:
That is the method I used. When I go to install the apk it fails.
Click to expand...
Click to collapse
Where did you get the modified AAPT from?
NickHu said:
Where did you get the modified AAPT from?
Click to expand...
Click to collapse
From here http://code.google.com/p/android-theme/wiki/TMobileThemeEngine
and here http://pastebin.com/3i7xLBTU
If the instructions in this thread are followed everything works and applies correctly. I am getting the code from the cyan github.
Sent from my PC36100 using XDA App
t3project said:
If the instructions in this thread are followed everything works and applies correctly. I am getting the code from the cyan github.
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
That is fine if you want to work with the png's that are included with cyanbread theme, but I have more than what is included that theme and do not want to add all the commits just shy of a thousand more png's.
Anybody know how to change the color of the text on [just] the pulldown? I've been fiddling with no luck so far...
Thanks!
Hi t3project, I made a script following your instructions that may help on build apk theme:
http://forum.xda-developers.com/showthread.php?p=12050403#post12050403
trock79 said:
That is fine if you want to work with the png's that are included with cyanbread theme, but I have more than what is included that theme and do not want to add all the commits just shy of a thousand more png's.
Click to expand...
Click to collapse
you can use any png you want and as many as you want as long as you add the resource the the appropriate xml. they just have to be decompiled pngs and correctly edited for compiling. same thing goes for template them xml. just add the appropriate resource to the xmls and you can use whatever or howmany ever you want.
i did have a script that did this in about 2 seconds for you but i cant find it at the moment
You dont need a linux box for it to compile, install the windows android sdk, eclipse + eclipse adt, git clone the androidian theme, create a new android project in eclipse, choose create from source and select the androidian folder, build and enjoy.
How can I just download the t-mobile bit (and gingerbread, or whatever is the barebones minimum for this)? Its downloading all the devices cyanogen supports, and thats just a waste of my time/disk space/internet connection (which is particularly slow)
items name
This is about /res/xml/android.xml.
how to do so that we can know where the drawable position located? I'm confused what the name of the image that I would change.
examples where the position of the image and name in the /res/xml/android.xml.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
no longer supported visit http://forum.xda-developers.com/showthread.php?t=1310151
Can this be used to change the main icon of an app?
Also can it be used to theme an app?
Thanks for this!
Sent from my GT-I9100 using Tapatalk
jameslfc5 said:
Can this be used to change the main icon of an app?
Also can it be used to theme an app?
Thanks for this!
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
yes and yes
the script in v5.0 the command numbers are the same as in 4.9 ie, to read log it's still option 21 in 5.0, but under the about option it says v5.0 is this correct, or should the command numbers be different...
I keptthe options the same there is some more tweaking that needs to be done and not being the original guy who wrote this I am reluctent to change it much. This is basically a unofficial release of his script until he decides to make more updates to this but feel free to report anything that does not work or if you see a patch I might of missed or over looked a change needed
Sent from my Droid using XDA Premium App
Wow! I was looking at APK Manager 4.9 just last night but didn't download it since I noticed it hadn't been updated since last year.
I just happened to Google again right now, and noticed this 5.0 that was just released this morning.
Thanks for updating this. I'll be playing around with it tomorrow...
I'm stumped...I'm trying to run this on Vista. I have Java installed, but when I run the script I get:
Java was not found, you will not be able to sign apks or use apktool
Press any key to continue . . .
I realize this is probably not a problem with your tool, but I'd appreciate any help offered to get it working.
***Edit*** Found my problem. When I set my path for Java I used a : instead of a ; it's working perfectly now.
I have yet to be able to decompile an app with dependencies using option 10, the managers says to drag the dependee apk in this window or type its path, I can't drag and drop anything to the manager and I don't understand type in its path, do I type the path of the location of the apk on my computer or what? Also where should the framework-res be installed, in the other folder? I didn't install apk manager in my Android folder where my SDK is located it's just on my computer under a general file/folder, does it matter where it's installed? Please help, I've asked this question on the 4.9 thread but got no response...
oh yeah I forgot to mention that the apps I'm trying to decompile using option 10 are non system apps like the ones that you get from the market that can't be decompied using option 9...
has the linux version script been updated to include the option for installing resources for dependecies
adude247 said:
I have yet to be able to decompile an app with dependencies using option 10, the managers says to drag the dependee apk in this window or type its path, I can't drag and drop anything to the manager and I don't understand type in its path, do I type the path of the location of the apk on my computer or what? Also where should the framework-res be installed, in the other folder? I didn't install apk manager in my Android folder where my SDK is located it's just on my computer under a general file/folder, does it matter where it's installed? Please help, I've asked this question on the 4.9 thread but got no response...
oh yeah I forgot to mention that the apps I'm trying to decompile using option 10 are non system apps like the ones that you get from the market that can't be decompied using option 9...
Click to expand...
Click to collapse
realy no one...
This is perfect. I've been finding myself playing with quite a few apk's lately and going through a bunch in order to test them. This will save me quite a few steps. Thanks.
Great update. Thanks
Here is a log of the error when decompileing an apk. It works fine in 4.9 with apktool 1.3.1 but gives this error in your 5.0. I have seen this where one version of apktool will decompile the apk but the newer version will not.
+1
Sent from my SCH-I500 using XDA Premium App
adude247 said:
I have yet to be able to decompile an app with dependencies using option 10, the managers says to drag the dependee apk in this window or type its path, I can't drag and drop anything to the manager and I don't understand type in its path, do I type the path of the location of the apk on my computer or what? Also where should the framework-res be installed, in the other folder? I didn't install apk manager in my Android folder where my SDK is located it's just on my computer under a general file/folder, does it matter where it's installed? Please help, I've asked this question on the 4.9 thread but got no response...
oh yeah I forgot to mention that the apps I'm trying to decompile using option 10 are non system apps like the ones that you get from the market that can't be decompied using option 9...
Click to expand...
Click to collapse
First you need to make sure the path has no empty parts
C://androidfiles/apk_manager_5.0 is fine, C://android files/apk_manager_5.0 would create issues.
You only need to install new framework`s in the following cases:
1. You decompile a system apk from a different Android platform then before (Froyo, Gingerbread eg.) - in that case you install a new framework-res.apk
2. You decompile a system apk with dependencies to a 2nd framework like in Sense ROM`s or Samsung ROM`s - in that case you will in case of Sense install a new com.htc.resources.apk
You can install these with 10 option and just drag the framework in the bottom of the script window. In the rare case this fails (never happened to me), you can manually install frameworks in apktool:
open a terminal/command prompt
cd into the folder, where your apk is located
(in this example sensation)
now type this:
apktool if framework-res.apk sensation (sensation will be a tag name of the framework)
and then after type this:
apktool if com.htc.resources.apk sensation (sensation will be a tag name of the framework)
You don`t need the tags, but in case you are working on multiple projects with apktool, it makes sense. In any case I doubt you will have issues, if you drag framework to the correct area.
zelendel said:
Here is a log of the error when decompileing an apk. It works fine in 4.9 with apktool 1.3.1 but gives this error in your 5.0. I have seen this where one version of apktool will decompile the apk but the newer version will not.
Click to expand...
Click to collapse
1.3.1 is always good to have, since sometimes new apktool versions create issues (and vice versa). For that reason I always have several versions on hand so I can just drag them in "other" folder when needed.
Exactly how do I change the path to include adb.exe, which in Android SDK 12 is in the C:\Program Files (x86)\Android\android-sdk\platform-tools path.
Because Every time I launch the script in APK Manager, I get this message "Adb was not found. You will not be able to manipulate the files on your phone". I would really like to get this working. Thanks guys.
Hi.
I would have preferred to have figured this out for myself but I'm stumped here. An unmodified framework decompiles ok but any other apk fails.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I've attached the log and the unmodified apk I'd like to mod.
Hi
Im trying to edit the framework-res.apk from my rom, to change the battery icons.
Im using APK manager to decompile the apk, then i replace the stat_sys_battery pngs with 30 custom ones. after that i edit the stat_sys_battery.xml and zzzstat_sys_battery.xml to include my pngs at specific battery percantages.
that all goes well, but when i try to compile the .apk i get some errors.
first i have to type y or n i its a system app.
i press y and enter
after that it says to navigate to /apkmanager/keep and delete all files i edited.
but all files in this folder is the stock ones (IE unedited)
i have tried a bunch of things:
1. do nothing and continue
I end up with a 4 KB unsignedframework-res.apk containing onlt meta info
2. I delete the stock versions of the files I edited
I end up with exactly what was in the keep folder, an .apk without the files which I deleted
3. I delete the stock versions of the files I edited, and replace them with my modified files
I end up with what seems to be what i need (when i open the .apk in 7-zip i see all of my pngs and xmls) but when i flash it i end up with the battery unknown icon
Can anyone enlighten me??
Ok, I have no more Java or adb.exe issues. The problem is, once I choose 9 to decompile, the cmd window closes and nothing gets decompiled. Any workaround for that? I tried to change the compatibility to XP sp3 but no help.
Hey guys iv had trouble discovering a version of apktool that would actually work on Samsung stock firmware !
Although I think I may have just found one which can decompile: HERE
This is confirmed working on CM9 .apk files.. Samsung on the other hand has been troublesome im hoping one of the dev's can offer some sort of explanation.
CRASH COURSE FOR NOOBS
First things first, you can to extract your "framework-res.apk" from "system/framework" of your rom.
You will then have to set your framework file in apktool.. Two ways of doing so:
If you have apktool installed in C:\Windows open a CMD window and type the following command: "apktool if framework-res.apk".
or
You simply rename your framework-res.apk to "1.apk" and place it in "C:\Users\<YOURUSERNAME>\framework".
You then want to extract "Apk Manager ICS" from the zip you downloaded & then place the apk you want to modify in "place-apk-here-for-modding" folder.
At this stage you can open up "Script.bat" which will execute a CMD window with a bunch of different options..
Enter "22" to set your target project, then "9" to decompile. Once the decompile completes you can then navigate to the "Apk Manager ICS/projects" folder where you will see the decompiled source of the apk.
Make your modifications to the apk and take note of the files you have edited, this is important.
To recompile select option "11". If errors persist this may be due to a incorrect commands/functions you have used in your modifications, review the log..
Navigate to "Apk Manager ICS\place-apk-here-for-modding" where you will now find a "unsigned<APKNAME>.apk". This is a recompiled version of the original apk! Or semi depending on the errors you received.
Open this file with 7zip/Winzip or what ever you use and extract the files which you had modified from the apk.. eg. SecContacts.apk\res\layout-ar-rAE\call_detail_delete.xml
You then want to open up the original apk in "Apk Manager ICS\place-apk-here-for-modding" just named "<APKNAME>.apk" in 7zip/Winzip overwrite the files with the ones you have just extracted from the unsigned version. By using this tactic you will keep the original signatures on the .apk..
Post back your results.. If anyone can add any information to this post please feel free too ! I just though id share my experiences so far.. Hopefully someone can shed a little more light!
Good luck !
God dam it, cant get it compiling anymore.. Someone figure this out please..
Well my experience with Apk Manger has been that the same one I've been using for Gingerbread works just fine on ICS, so no need for a new one necessarily. But I did find that sometimes Apk Manager could not decompile certain apks...where APKTOOL could. I do like to use Apk Manager, so I found success by decompiling them with APKTOOL, then transferring the files over to the projects folder of Apk Manager, then the rest you just do normal.
As for your instructions on how to use Apk Manager,
you did a good job describing the fundamentals of how to decompile, and recompile but I find the major flaw in your instructions is when you say "I had recieved errors when doing so.. ignore this for now." DON'T ignore that! That is saying you have an error
So if you get that error when it asks you yes or no, choose "no" and it will abort. Then type "21" and a red CMD screen will popup and run and error log. Its not real easy to read, but if you do it you will find your mistake in your edits. Correct these mistakes until you DO NOT get any errors, then proceed.
If you do this correctly and receive no errors then the "unsigned<APKNAME>.apk" that will be created in the "place-apk-here-for-modding" folder is done. Pull it out and remove the unsigned part.
The copy and paste method just leaves room for more errors, IMO. Ones that are not logged.
Good Luck!
X
EXPERIMENT said:
Well my experience with Apk Manger has been that the same one I've been using for Gingerbread works just fine on ICS, so no need for a new one necessarily. But I did find that sometimes Apk Manager could not decompile certain apks...where APKTOOL could. I do like to use Apk Manager, so I found success by decompiling them with APKTOOL, then transferring the files over to the projects folder of Apk Manager, then the rest you just do normal.
As for your instructions on how to use Apk Manager,
you did a good job describing the fundamentals of how to decompile, and recompile but I find the major flaw in your instructions is when you say "I had recieved errors when doing so.. ignore this for now." DON'T ignore that! That is saying you have an error
So if you get that error when it asks you yes or no, choose "no" and it will abort. Then type "21" and a red CMD screen will popup and run and error log. Its not real easy to read, but if you do it you will find your mistake in your edits. Correct these mistakes until you DO NOT get any errors, then proceed.
If you do this correctly and receive no errors then the "unsigned<APKNAME>.apk" that will be created in the "place-apk-here-for-modding" folder is done. Pull it out and remove the unsigned part.
The copy and paste method just leaves room for more errors, IMO. Ones that are not logged.
Good Luck!
X
Click to expand...
Click to collapse
Thanks for the input, I agree with you 100% about the error section.
My question is tho how are people decompiling camera.apk & contacts.apk to make these great mods we see.. there MUST be a way to successfully compile a sammy .apk.
Works perfectly fine with AOSP/CM9 you can decompile & recompile no problems..
I just use this great tool for decompiling samsung apks
http://forum.xda-developers.com/showthread.php?t=1053227
Sent from my GT-I9300 using xda premium
firefds said:
I just use this great tool for decompiling samsung apks
http://forum.xda-developers.com/showthread.php?t=1053227
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
Any luck recompiling tho ?
I also use apkmanager i got two sets of apktool i use..
also some apk's like secsettings.apk you need to raise the heap size
for good decompile and recompile..
No problems decompile and recompile on any file cm9 or sammy roms
if you want i help you sort your prob PM me
Greets
Dragon
Wanam has provided a working APK Manager which can be found in the OP of this thread.
And also I created a batch script method for simple decompiling and recompiling but only for framework-res.apk.
I havent used any of the other repacks. I could modify it to use any apk if there is a need.
Its in my sig anyway and definitely works with framework-res.apk
fOmey said:
Any luck recompiling tho ?
Click to expand...
Click to collapse
Yep.
There is a bug in apktool.jar though.. there are problems with the decompiling of some plurals.xml which you need to fix manually
Sent from my GT-I9300 using xda premium
firefds said:
Yep.
There is a bug in apktool.jar though.. there are problems with the decompiling of some plurals.xml which you need to fix manually
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
Could you provide a quick start guide to these manual fixes?
Framework-res.pk is the only file I can't recompile.
So i had a strange problem.
I do everything like this manual.
But every Time when i want to replace the framework-res.apk after it hangs in bootprocess. Its the same when i do nothing in the .apk, Just decompile and recompile.
I had this Problem on every Tool.
I want to mod the framework from CM9 on my Galaxy S2.
So what can i do? Whats the Problem?
nobnut said:
Wanam has provided a working APK Manager which can be found in the OP of this thread.
Click to expand...
Click to collapse
I confirm : working for me
I followed the instructions in the first post and got up to running Script.bat, but then I got the dreaded "Java not found" even though I have the latest java installed.
I read that the environmental variables need to be edited. Could someone give me an idea as to what the PATH should look like? Thanks in advance.
D1358531 said:
I followed the instructions in the first post and got up to running Script.bat, but then I got the dreaded "Java not found" even though I have the latest java installed.
I read that the environmental variables need to be edited. Could someone give me an idea as to what the PATH should look like? Thanks in advance.
Click to expand...
Click to collapse
Copy the path to /bin folder inside the java directory..usually c:\program files\windows\java_jdk7\bin...and then right click on computer shortcut and select properties..click on advanced and then environment variables..in the pop up box..click a new path and paste the path to the bin folder..apply it and the save it..
Sent from my iPad using Forum Runner
zoot1 said:
Copy the path to /bin folder inside the java directory..usually c:\program files\windows\java_jdk7\bin...and then right click on computer shortcut and select properties..click on advanced and then environment variables..in the pop up box..click a new path and paste the path to the bin folder..apply it and the save it..
Sent from my iPad using Forum Runner
Click to expand...
Click to collapse
So, I should type "PATH" for the variable name? This will replace the PATH value that is already there, correct? Can there be any spaces in the path?
D1358531 said:
So, I should type "PATH" for the variable name? This will replace the PATH value that is already there, correct? Can there be any spaces in the path?
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
zoot1 said:
Click to expand...
Click to collapse
Ok, thanks...I'll try it ina bit. Will I.need to reboot?
D1358531 said:
Ok, thanks...I'll try it ina bit. Will I.need to reboot?
Click to expand...
Click to collapse
I don't think so..
Sent from my iPad using Forum Runner
zoot1 said:
I don't think so..
Sent from my iPad using Forum Runner
Click to expand...
Click to collapse
OK, that didn't work...I think I have to include the Apk Manager ICS in the path somewhere, maybe even the Script.bat?
Hi everyone,
Alokbina and I have created a tool which allows users to very easily deodex apks from a rom. This tool is very useful for Rom developers too. For now only windows is supported but we will try our best to make the same tool for linux too and make the tool as user friendly as possible. And, please don't forget to thank alokbina too.
NOW EVEN ON XDA PORTAL - http://www.xda-developers.com/android/deodex-all-the-things-with-universal-deodexer/
NOW WITH A BEAUTIFUL NEW GUI
Requirements:-
--->Java installed on your PC
--->system/framework folder from your rom
--->apks from that SAME ROM with the respective .odex file
--->Patience and a calm head (common sense included)
Instructions :-
1. Download and extract the zip. You will get a folder called "Universal_Deodexer_VX"
2. Open the folder and place your framework files [/system/framework] in the "framework" folder.
3. Place all your apks or jars in the "source" folder. No need to manually check if a apk has the corresponding .odex file or not. Apks or Jars which do not have .odex files are automatically deleted.
4. Double click on Launcher.bat to start the tool.
5. Select the various options (android version, compression level).Then chose the deodex option. The deodexing process can be seen in the cmd window, and the log for the process can be found in the "working" folder.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
6. Deodexed files will be found in the "done" directory. This is how the window looks after the process is complete :-
Download link -
V5 - http://www.mediafire.com/download/dz5z7oa3mbmwwom/Universal_Deodexer_V5.zip
V4 - http://d-h.st/bMp
V3 [FIXED] - http://d-h.st/QGo [MIRROR OF V3 - https://dl.dropboxusercontent.com/s...rxa7Thm9776KkEFAN87WMgcsF5NwDgiQ8CpkUFA&dl=1]
V2 - http://d-h.st/MZR
V1 - http://d-h.st/jGf
Source Code - https://github.com/abcdjdj/Universal_Deodexer
To do:-
--->Add JAR support for deodexing
--->Make linux version
--->Make it more of a "one-click deodexing"
--->Multiple apk support
Credit:-
---> iBotPeaches (apktool)
---> Google and all the guys who wrote tutorials on creating batch files
---> My teachers who teach me Java
import java.iForgotYou.*;
Changelog
Code:
V5
-->Re-wrote the entire tool from scratch (improved code, more efficient and professional code)
-->Added KitKat support
-->Updated to latest Smali and Baksmali (2.0.3)
-->Fixed the logging mechanism. Now everything gets logged properly in the file.
-->No more annoying windows opening and closing. Everything gets done in one window silently.
-->Added a verification check to see if the deodexing is successful
-->Added an option to reset tool to default (clears all files, makes it just as it was when downloaded)
-->Using a single script to deodex jar and apk files
-->Removed the flashy multi-coloured background. Switched to a simple Holo blue background
-->Lots of other small fixes and changes
V4
--->Made the tool a GUI based tool/software!:D
--->Lightweight Java Swing API is being used.
--->Added option to set compression level from the GUI.
--->Added option to set api level from the GUI.
--->Added a debug mode which can be easily enabled from the GUI. Debug mode prevents the deodexing window from closing
automatically so that it is easier to diagnose any errors if present.:)
--->Moved the framework files to a separate "framework" folder. It looks much cleaner now:)
--->Apks/Jars which do not have .odex files are now automatically deleted. No need to manually go through the files and delete anything.
--->Randomly assign a colour to each button on every run.
--->Fixed some other minor bugs.
--->As this has become a big project with a big source code, I will be uploading the source code on Github:D
V3
---> Added option to deodex JAR files.
---> Added option to pull framework files from phone.
---> Fixed a very important logical error in the Java code
V2
---> Built from scratch again.
---> Added multiple apk deodexing support. Deodex all apks at once.
Completely one-clickish!
---> No need for apktool now. 7z is used instead
---> Updated some Java code and added "clear framework" and logs option
---> Java source code is now open source!:)
V1
---> Initial Release
FAQ -
Q1) I could see some kind of errors while
deodexing but the cmd window closes very
quickly and automatically..
A - Before starting the doedexing process, be
sure to check the debug mode option. Now
the cmd windows won’t close automatically,
so you can post a screen shot here.
Q2) After following all the instructions, I
double clicked on Universal Deodexer VX.jar
but nothing happens.
A- Open up a cmd window by holding shift
and right clicking anywhere in the folder and
chose open command window here. Then
type this command –
Code:
Java –jar “Universal Deodexer VX.jar”
Now you will be able to identify the problem.
Q3) After typing the above command, I get
this error -
Exception in thread "main"
java.lang.UnsupportedClassVersionError:
Control : Uns
upported major.minor version 51.0
at
java.lang.ClassLoader.defineClass1(Native
Method)
at java.lang.ClassLoader.defineClassCond
(Unknown Source)
at java.lang.ClassLoader.defineClass
(Unknown Source)
at
java.security.SecureClassLoader.defineClass
(Unknow n Source)
at java.net.URLClassLoader.defineClass
(Unknown Source)
at java.net.URLClassLoader.access
$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown
Source)
at
java.security.AccessController.doPrivileged
(Native Method)
at java.net.URLClassLoader.findClass
(Unknown Source)
at java.lang.ClassLoader.loadClass
(Unknown Source)
at sun.misc.Launcher
$AppClassLoader.loadClass(Unknown
Source)
at java.lang.ClassLoader.loadClass
(Unknown Source)
Could not find the main class: Control.
Program will exit.
A- Please uninstall all previous versions of
java and download the latest version of Java
for your OS.
Q4) During the deodexing process, I get
some error like this –
UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext:
regCount does not match the number of
arguments of the method
at
org.jf.dexlib.Util.ExceptionWithContext.withContex
t(ExceptionWithContext.java:54)
at
org.jf.dexlib.Code.InstructionIterator.IterateInst
ructions(InstructionIterator.java:92)..
A – Before starting the deodexing process,
be sure to select the correct Android Version
in the list on the right side of the screen.
That should solve the problem. If it still
persists then please provide us with the rom/
device/android version etc.
Q5) My apks and jar files got deodexed
properly but my phone is stuck in a
bootloop.
A- Try deodexing the apk with a lower
compression level. If this does not help then
fix permissions in your recovery. If nothing
helps in please post a logcat.
Q6) One or two applications are force
closing after deodexing them.
A- Deodex those particular apks with the
compression level as 0.
Q7) I get this error while my files are getting
deodexed –
‘xcopy’ is not recognized as an internal or
external command, or operable program or
batch file.
A- Your environment variables are not set
properly. Check this - http://
developer.appcelerator.com/qu...ternal-
command
Q8) The deodexing process has got stuck..
A- Leave it for some time. It takes some
time to convert the .odex file into smali and
then into classes.dex. If nothing happens
after some time, please let us know by
leaving your comment below along with your
device name/rom/android version etc.
Click to expand...
Click to collapse
Nice maddy. Keep up the good work.
Re: [TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]
Great
Keep it up
Sent from my GT-S5360 using HYPERION 8 via XDA app
Me Likey:good:
Great work.. Thank you..
Very nice! Im porting it to linux - easy work once I remember how bat files works haha long time since im a bash rat.. i still miss using .bat files anyway, but sticking to the subject, i'll try to port it
Source Code..? (The Slow.class)
Re: [TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]
Good work guys. :thumbup:
Peteragent5 said:
Source Code..? (The Slow.class)
Click to expand...
Click to collapse
Well uh um, is it compulsary to make it open source?(I don't know much about those GPL licenses but I thought that was only for the Linux kernel) Anyway, I will provide it with the V2 update.
@everyone - V2 will be much much more user-friendly.
Thank you for using our tool guys.
Hi guys!
V2 is completely ready. Completely one click to deodex now. No need to enter anything extra. Just click on one button and deodex all apks. Support for deodexing multiple apks has been added. No need to use apktool at all now. Will update OP very soon..
Thank you,
abcdjdj
abcdjdj said:
Hi guys!
V2 is completely ready. Completely one click to deodex now. No need to enter anything extra. Just click on one button and deodex all apks. Support for deodexing multiple apks has been added. No need to use apktool at all now. Will update OP very soon..
Thank you,
abcdjdj
Click to expand...
Click to collapse
That's great. Can't wait as I'm actually using the tool right now.
Stealyourface said:
That's great. Can't wait as I'm actually using the tool right now.
Click to expand...
Click to collapse
OP updated. V2 has been released!!
Peteragent5 said:
Source Code..? (The Slow.class)
Click to expand...
Click to collapse
Source code has been added in the first post.:good:
Thanks for the tool! I´m deodexing apks now, works fine, but is slowly...
Why not select a folder and deodex the folder? 1 to 1 is more slowly, is better select a folder CCCC:
Jaizu said:
Thanks for the tool! I´m deodexing apks now, works fine, but is slowly...
Why not select a folder and deodex the folder? 1 to 1 is more slowly, is better select a folder CCCC:
Click to expand...
Click to collapse
I think that you are using V1. Please use V2 because you can deodex multiple apks at once and it is completely one clickish. Please check the OP for more info.
Thank you for using my tool.
Sent from my LT26i using xda app-developers app
Awesome!
Anyone tried V2?
Sent from my LT26i using xda app-developers app
Hey there. I'm trying to use your deodexer as we speak and a couple issues I've had with it were fixable by me, namely a pathing error regarding java. However, I am getting this:
Deodexing apk..
Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core
.odex
at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.jav
a:218)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:14
6)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(Cla
ssPath.java:111)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:94)
at org.jf.baksmali.main.main(main.java:308)
C:\Users\blarg\Downloads\Compressed\Deodex_V2\apks\AccuweatherDaemon.apk
1 File(s) copied
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Cannot find file or directory "out/"
at org.jf.smali.main.main(main.java:180)
File not found - classes.dex
Any idea what I can do to fix this?