Related
Ok so im a noob when it comes to coding. I want to replace the wallpaper that comes in some roms and from my understanding when I extract the .zip rom to replace them, I have to resign the .zip for it to work. If this is true, how do I resign them?
punkmanj said:
Ok so im a noob when it comes to coding. I want to replace the wallpaper that comes in some roms and from my understanding when I extract the .zip rom to replace them, I have to resign the .zip for it to work. If this is true, how do I resign them?
Click to expand...
Click to collapse
first make sure you grab all the signing tools (do a search and you'll find Stericson's stuff somewhere)
extract the zip of the update.zip
now in the main folder you should see META-INF
go in there and remove the three files that are not folders
now go up one level back to main folder
depending on how they packaged the update, you should see either a system or app folder
if you see system, then go into it and then into app
if you see app, then go into it
now you should see some .apks
the one you want is Launcher.apk
use 7z and open the archive
now navigate to the res/drawable folder and you should find your wallpapers in there
just use the name of a wallpaper thats in there that you dont like and replace it with the wallpaper you want
now navigate to the main directory of Launcher.apk
delete the META-INF folder
now close 7z
resign Launcher.apk
now navigate to the main folder of the update.zip
zip it all up again and resign the new .zip file
sorry if the instructions arent that clear .. its kinda late and been studying for a midterm for some time now .... PM me up if you need any more help
Stericson said:
Note, this will not work if your SDK or the path that you place this in has any spaces in the dir name!
An Example of this is c:\users\Nikki and Stephen\sdk\tools
Try to put the SDK and the contents of the zip in a dir where the names are all together and not like the one above.
Ok, so I have made a batch file that will automate the entire process of setting up to use the signing tool made by JF. This batch file will set the CLASSPATH, set the PATH, install the registries, let you sign the files manually, and let you push/pull files to the phone.
In order to use this you should have downloaded the sdk already. Simply extract all of the files into the tools dir of your sdk, and run autosign.bat follow the instructions and go through the options one by one, starting with 1 working through 4. You can however, put the contents of this zip anywhere on your computer and it will work. It is just better to put them into the tools dir of your SDK. Especially for the consideration of future versions.
Enjoy,
Stericson
Autosign .zip: http://www.fightforthepits.com/Androidstuff/signing.zip
Click to expand...
Click to collapse
there's stericson's OP in the signing made easy thread
Yeah sorry for posting I soulda did a search first. I found the Signing Made Easy post after posting this... Thanks for the quick reply Now I can start doing themes as well. Thanks again.
punkmanj said:
Yeah sorry for posting I soulda did a search first. I found the Signing Made Easy post after posting this... Thanks for the quick reply Now I can start doing themes as well. Thanks again.
Click to expand...
Click to collapse
np .. dont forget to edit your OP with "SOLVED" so mods can start cleaning up
What am I doing wrong if I get the message "java is not recognized as an internal or external command, operable program or batch file."
uansari1 said:
What am I doing wrong if I get the message "java is not recognized as an internal or external command, operable program or batch file."
Click to expand...
Click to collapse
you're missing java ... http://developers.sun.com/downloads/top.jsp .. i think you only need the jre but i always get the jdk
As the title says can someone show me how to do this strictly on a mac!
I have failed miserably at it!
All the tools are for windows..
I have the sdk for mac all set up and I can push an pull files!
but everything I edit on the mac and push to the phone crashes the phone with force closes and stuff...
-kitt050383
I came across this in a google search for the same thing. Can someone post a how-to step by step for modding .apk files with adb commands to push to the phone? Thanks in Advance.
Me as well please, been searching for a good 30 minutes now and cant find any tools to do this on a MAC, especially to edit the .9.png's
I just pull the apk and open it with BetterZip. APKs are pretty much like zip files. Then after I'm done, I sign it and push it back to the phone.
ajones7279 said:
I just pull the apk and open it with BetterZip. APKs are pretty much like zip files. Then after I'm done, I sign it and push it back to the phone.
Click to expand...
Click to collapse
So, i change the extension to .zip double click and it unzips it. Open the folder, edit the files... and then i just switch the extension back to .apk?
I dont get what you are saying.
If you're using the default archiver, you may have to change it to .zip. Since I use betterzip, I just associated the .apk extension with BetterZip so it automatically opens it like an archive. Now, extract the contents of the apk, make whatever changes you please, put the contents back into the archive, sign the apk, then push it back to the phone. I'm typing this from my Hero so I'll try to make a more detailed post when I get off.
ajones7279 said:
If you're using the default archiver, you may have to change it to .zip. Since I use betterzip, I just associated the .apk extension with BetterZip so it automatically opens it like an archive. Now, extract the contents of the apk, make whatever changes you please, put the contents back into the archive, sign the apk, then push it back to the phone. I'm typing this from my Hero so I'll try to make a more detailed post when I get off.
Click to expand...
Click to collapse
Thanks for the tip! I'll give it a shot tomorrow.
Didn't know Betterzip was out there. I'll give it a try later tonight as well.
almost there...
ok i can transform an apk to a zip and unzip for editing, but how do i change it back? i just did a bunch of editing work, and now i am stuck. please help me....
So pretty much we all want to know the same thing...
Once we get the apk open... and we change files around how do we get it back to an apk file.
anyone gonna help?
ipeench said:
So pretty much we all want to know the same thing...
Once we get the apk open... and we change files around how do we get it back to an apk file.
anyone gonna help?
Click to expand...
Click to collapse
someone did.
http://forum.xda-developers.com/showpost.php?p=5849463&postcount=6
Better Zip works great for this. Now, if there was a way to do zero compression like the APK Manager. Without that, the sounds for lock/unlock won't work.
Me too have the same problem. I think installing windows on your mac will work fine with all .exe tools. if you don't wanna do anything o your osx then you can run a virtualbox and run windows without affecting os x.
NO WAY
ajones7279 said:
I just pull the apk and open it with BetterZip. APKs are pretty much like zip files. Then after I'm done, I sign it and push it back to the phone.
Click to expand...
Click to collapse
Hi, I have tried to extract the APK with BetterZip.
I can extract files. But, XML file are like unable to open.
The image files are quite OK.
My purpose is to check out Manifest File and other XML Files.
So, if you can actually do those things after extracting with BetterZip, do let me know.
Thanks in advance.
The most useful way is install Windows via Bootcamp or Virtual Machine...
While I don't have a Mac, I should be able to help. First, rename the extension from .apk to .zip so it can be viewed and extracted from whatever archive manager you use. Doing this won't decompile the apk but it will at least let you modify the images. If you want to modify the xml's in the apk file. You can use Apktool which will decompile and recompile apk's, and sign the apk if it's a non-system app. You will also need to have JDK installed to do this.
JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Apktool: https://code.google.com/p/android-apktool/downloads/list
Hi!
what i try to do is to make my battery icon increase in 1% or 5% increments.
i got my icons and stat_sys_battery.xml from the "HTC Desire" post below
http://208.100.42.21/showthread.php?t=724778
however, after a few days trying it, i found i couldn't just drag and drop the icons to the "drawable-hdpi" folder and also not the XML files to the "drawable" folder.
"i think" this is because my OWN original XML files are all compiled and the XML copy from the HTC Desire post haven't compile, so when i replace the XML files it doesn't know how to locate the new battery PNGs
then further reading i found out "Apktool" which allows me to decompile the framework-res.apk so i can edit the XMLs
now ... my question is when i compile the folder i have the error:
w: could not find sources
i guess it's obvious that it can't find my folder ... so what the command so be?
the decompile folder is c:\apktool\test2
my compile command is apktool b test2
please help ... please explain a bit more your reply ... i am not a programmer/developer ... thanks.
kakyoin said:
Hi!
what i try to do is to make my battery icon increase in 1% or 5% increments.
i got my icons and stat_sys_battery.xml from the "HTC Desire" post below
http://208.100.42.21/showthread.php?t=724778
however, after a few days trying it, i found i couldn't just drag and drop the icons to the "drawable-hdpi" folder and also not the XML files to the "drawable" folder.
"i think" this is because my OWN original XML files are all compiled and the XML copy from the HTC Desire post haven't compile, so when i replace the XML files it doesn't know how to locate the new battery PNGs
then further reading i found out "Apktool" which allows me to decompile the framework-res.apk so i can edit the XMLs
now ... my question is when i compile the folder i have the error:
w: could not find sources
i guess it's obvious that it can't find my folder ... so what the command so be?
the decompile folder is c:\apktool\test2
my compile command is apktool b test2
please help ... please explain a bit more your reply ... i am not a programmer/developer ... thanks.
Click to expand...
Click to collapse
Im not exactly sure what errors you're getting... But heres two things that might help.
1. If you're using an already themed framework-res.apk to decompile/edit/recompile, don't. Apk Tool needs a clean version of your framework-res.apk. So use a clean version, decompile it, edit your xml, recompile, and finally copy/extract the edited xml file and put it into the framework-res.apk of your choosing.
2. Side Note: Sometimes Apk Tool will say something like "resources could not be found". I believe this is because apk tool tries to reverse engineer the apk to source, which it can't exactly do without all of the java resource files that was used to compile the apk. For XML files however, apk tool is sufficient.
I'm using a custom rom,and now that stock rom for my region is published,I want to extract language files (system and dictionaries+keyboards and fonts) from stock rom and inject them to the custom rom that I'm using,so any help is appreciated to find which files do I need to extract from stock rom.
Theoretically, however, reminds you that the app I am not alone but also the framework apk etc. .. must pay attention.. Help to get into a rom, and can for example extract the launcher or gps.conf or apk predefinit of the Rom and then copy them to root through esplorer in our folder system / app . -1.extract the file from system.rfs -2 and install magic iso and go to open the rfs .. app folder you will find the system app .. conf files in the etc etc for gps. APKTool is able to reverse engineer the binaries of Android applications. With it you can de-compile and get an apk files that make up the apk.
Beware though that being a compiled language java bytecode, executable in the case of the Android Dalvik machine, do not get the files. Class with the java code readable plaintext file but. Smali containing assembly code of the virtual machine (assembler / disassmbler smali) . Will be easier to understand and modify resource files in the directory / res, usually they are xml files and png images that you can modify and then recompile the apk...download Apk tool here: http://www.androidlab.it/wp-content/plugins/download-monitor/download.php?id=13 .. 1. Unpack the zip file you just downloaded and APKTool.zip command prompt / shell posizioniamoci within the directory APKtool 2. execute the following command:
apktool framework-if res.apk
we get the result back edge
I: Framework installed to: C: \ Users \ username \ apktool \ framework \ 1.apk. 3. Now we copy the apk in the same folder that we want to de-compile and impart the following command
apk apktool d-name-it-de-compilare.apk
upon completion of the directory APKtool find a folder with the same name of the app that we have de-populated.
We can now go take a look at the file and change where we see fit. 4. To translate the application should modify the files in / res / values-en, if the folder is not present we should create and copy into a folder other values-xx files arrays.xml strings.xml and then edit translating the texts into Italian. 5. after making the changes we should rebuild our apk with the following
apktool b-name-from-complete apk
in the directory with the same name of the app that we previously de-compiled find two new folders
dist / build / ..--- 6. in the / dist find our apk, remember that the resulting file has no signature, to sign our package we can use this. sign or unsign” i file Apk download here: http://goo.gl/9aWVM
not so understandable , but thx anyways.which files do I need to extract for samsung keyboard (AxT9IME) to work??
Re ad this guide: http://forum.xda-developers.com/showthread.php?t=1511730
---------- Post added at 07:30 PM ---------- Previous post was at 07:02 PM ----------
Try this method- Make a backup of the applications that you want to move , the phone will put the apk 'in the path sd>backups>apps, from here you take them and bring them in another rom...
amir_s_m said:
not so understandable , but thx anyways.which files do I need to extract for samsung keyboard (AxT9IME) to work??
Click to expand...
Click to collapse
my question exists!!
Quick Intro :
Let me answer that question, an apk, first of all, is the format of Android apps, as .exe would be for Windows, apk means Android Package by the way.
But what’s the big deal?
Well an apk contain a lot of things into it.
When you open it as an archive, you might get those files:
AndroidManifest.xml
assets
res
META-INF
resources.arsc
classes.dex
AndroidManifest.xml is the file that contains the information about the app itself: the list of all activities, all permissions, the name of the app’s package, and the software/hardware requirements. To be able to read it, you’ll need to decompile the apk file.
Assets and res folders are meant for resources. Most often, you won’t see the assets folder because its usage is limited, (explanations here). We’ll focus on res since asset isn’t used so often.
META-INF contains CERT.RSA and CERT.SF (certificate) as well as MANIFEST.MF (a manifest)
Those files are the app signature, and META-INF is the folder that contains signature.
The resources.arsc file is the file holding most of the resources that were originally in the res folder. After compiling the code, Android Studio (or others software) compile resources into this file. You won’t be able to open it with an archive explorer. We’ll need to decompile the apk to get the resources back into the res folder.
And, finally, the classes.dex file contains the every smali files of the app. A smali file contains the java code for a specific part of the app. To be able to have the smali files (into the smali folder), you’ll have to baksmali your app.
Hopefully, apktool (a reverse engineering tool) does it for you.
Let’s decompile the apk using apktool (a popular tool used to decompile apps):
Once apktool is installed (see the apktool web page to know how to install), you’ll need to use the command prompt to decompile the apk:
Code:
java -jar apktool.jar d [name of the apk].apk
(I advise to create a folder and to put every file needed in it: the apk, the apktool.jar file, and the apktool script).
You’ll have an out folder, and when you browse it, you’ll have most of the time:
AndroidManifest.xml
original (a folder)
res (a folder)
smali (a folder)
The AndroidManifest.xml that you see here is the translated one.
In the “original” folder rest the META-INF folder and the original AndroidManifest.xml file (untranslated). As you can guess by its name, this folder contains unchanged original files.
The res folder is now full, because every resource from the resources.arsc file are now back into the res folder
Same for the smali folder, this folder contains every piece of code contained into the classes.dex file.
We will now focus on the res folder. Now that it’s complete, we can see those folders (it depends on your apk, but here is the list of the most common ones):
anim (other animation stuff, see the links at the end of the thread)
animator (animation properties)
color (color state list: in which condition this color is used for a particular element)
drawable (can be pictures or xml files, it contains a lot of things)
layout (contains the files that define the layouts of the app)
mipmap (icons for different screen densities)
values (xml files that contains values, that will be referenced in other xml files in other folders)
xml (every other unclassified xml files)
Those folders contain files that will be named following their resource ID.
So how does all of this work together?
Well, the java code written in the smali files will call resources with their IDs. This way, the app will show you the write thing at the right moment, following the code. The layouts are already described in the layout folder. What the code really do is analyzing the action of the end user and calling other resources in consequence.
For example, I’m using the XDA Labs app on my phone. I’m in my phone’s section, and I’m about to click on a thread to open it.
I clicked on the thread, so the code loaded the thread layout with every post in it, and other resources such as the little arrows at the top to jump to the end/beginning of the thread, the reply button, its color, … That’s how to work if I want to keep it simple.
I tried, in this guide, to simplify android app basic for beginners. Feel free to ask any question, I’ll be glad to answer.
If you want to go further into it, you can read a very complete guide about app basics by google (it’s a bit complicated to read, assuming you’re just starting to understand).
Here are the links:
https://developer.android.com/guide
If you have any question about that guide, you can also ask me (with the quote you didn’t understood).
Keep at mind that mastering app basics is really important if you ever want to theme/create an app. So, this guide and the google one is a good place to start.
Have fun reading
Hello Raiz,
I decompiled the apk of an androind app from playstore using dex jar and apktool however I can't find the scripts anywhere in the resulting files. Where should I look? Or is there something more that I have to do? I'm trying to edit something for personal use to make the game more enjoyable. I saw a .unity3D file in there so I presume it was made in unity if this helps.
Good tutorial about concepts of APK file. The details you share are so educational. Thanks for sharing