[TUTORIAL]Guide to resizing apps to QVGA[STEP BY STEP] - Wildfire Themes and Apps

Ok so a lot of you guys have been requesting a resizing tutorial so you can all help out on the new fresh roms like thenextsense and senseonfire.
Everyone gets directed to http://forum.xda-developers.com/showthread.php?p=6739512#post6739512 and get all confused because it doesn't actually explain much so I decided to post one written by me (I resize things in my rom, senseonfire)
Note: I am using linux Operating System and resizing to my HTC wildfire.
First off you are going to want to download apktool and the dependences for your operating system. It runs on windows, linux and mac OSX so it won't matter what OS you are running, you will be able to use it.
Once you have got apktool installed you are going to open terminal (or command prompt on your windows)
You are then going to navigate to the directory you installed apktool into:
Code:
cd /install...dir../apktool
Once that is done you are going to look at the rom that contains the app you are about to resize. You are going to open the rom archive and navigate to the framework
Code:
/system/framework/
and extract any files ending in .apk to the apktool dir
You are going to go back to the open terminal and type in
Code:
./apktool install-framework extracted_framework_filename.apk
or if you are on a windows computer
Code:
apktool install-framework extracted_framework_filename.apk
This will install the framework file/s so apktool can decompile stock apps correctly.
Once it installs correctly you are then going to choose the app you are going to resize. For the sake of this tutorial I am going to resize HtcMusic.apk
Navigate to the app folder in the rom archive
Code:
/system/app
and extract HtcMusic.apk to apktool dir
Then you are going to decompile the app to start resizing
In the still open terminal you are going to type
Code:
./apktool d HtcMusic.apk
This will decompile the htcmusic to a folder in the apktool dir called HtcMusic
To make resizing easier you should grab your phone and open HtcMusic and see what needs resizing. Now this is where the trial and error comes in.
Navigate to the layout folder in HtcMusic
Code:
/res/layout
or
Code:
/res/layout-mdpi
and choose the .xml file you believe you are looking at on your phone screen. For example on the HtcMusic app if you are resizing the playback screen it would be audio_player.xml that you would have to edit.
Play with things that have sizes (y.y px) especially things that say layout_width=y.y px... change the y value to something smaller.
If there is something that has a value @dimen/... it means that the value is in the dimens.xml in the /res/values folder
If there is something that has a value @com.htc:dimen/... it means that the value is in the dimens.xml in the com.htc.resources.apk
Once you finish the changes you are going to have to recompile the app
Go back to the terminal app that you still should have open (if you don't you will have to open it and cd to the apktool dir)
type in this code (make sure you delete the HtcMusic.apk out of the apktool directory prior to doing this)
Code:
./apktool b HtcMusic HtcMusic.apk
if you get an error and you are on linux try this
Code:
sudo ./apktool b HtcMusic HtcMusic.apk
sudo chown [your username] HtcMusic.apk
Once you finish this you will have to sign your apk. The easiest way to do this is to use dsixda's kitchen's signing tool.
Once this is done you can either push the app to your phone using adb (this never works for me)
Code:
./adb push HtcMusic.apk /system/app
if that doesn't work
Code:
./adb remount rw
./adb push HtcMusic.apk /system/app
But if that causes HtcMusic to disappear like it did to mine you will have to use dsixda's kitchen to open the rom, add htcmusic, sign all apps, and cook the rom again, then flash it on your phone.(I will not type out how to do this, there are lots of threads on how to use the kitchen)
Actually you can do it a lot easier than flashing the whole ROM again. I will post how to do this soon [28/6/12]
Open the app and look what has changed (if any) and then try again till you get it right. Trust me it takes a long while to get it right so don't expect for it to be right on your first go
Oh and if this helped you hit thanks!

APK Manager
There is an app called APK Manager that will make this easier i think it is just for windows but i don't know there might be a linux version
if this is helpfull remember to THANK

linux too http://forum.xda-developers.com/showthread.php?t=695701

Nice ! (ADB works never for me to )

THanks for the tutorial Vigidroid
I am new to this followed your steps perfectly but couldn't find any file with extension xml
I am on windows 7 all files are .smali extension
Can you elaborate a little ...Thanks
Edit :weird but works now

hey guys i'm a complete noob
i did follow all of d above steps and i'm stuck on d "AndroidManifest.xml" ... i'm not able 2 open d xml !!!!! it gives me a phrasing error( in mozilla) and an "encoding error"(in jedit)
could some 1 pls help me out !!!
thankya in advance

You must be trying to open up a .xml file that hasn't been decompiled yet. Try using apktool again to decompile all the contents of the app and then you should be able to open all .xml files correctly.
Opening the android manifest that has been decompiled:
{
"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"
}
Opening the android manifest that hasn't been decompiled:

hi VigiDroid,
thanks for all the work you do for our wildfires. ive tried, unsuccessfully to use apktool a few times so i can learn how to resize apps. i cant even get to open apktool.
i downloaded the apktool1.4.3.tar.bz2 and apktool-install-wind...,tar.bz2 and unpacked them onto a folder on my desktop (windows xp). in the tut you say to install apktool, i assume you mean to open the tar files to a folder?
when i open a command and try and run apktool i keep getting a syntax error message. i have the apktool ms-dos batch file and executable jar file with the aapt file in a folder on my desktop called (not very originally ) "apktool" so i typed into the command box
cd/C:\Documents and Settings\KnK\Desktop\apktool/apktool
as instructed in your tut ie cd /install...dir../apktool. install directory being C:\Documents and Settings\KnK\Desktop\apktool.
any help would be appreciated. ive attached a screen shot of the command promt

Here's a couple of guides I followed in the beginning. First one is for setting up java, adb http://forum.xda-developers.com/showthread.php?t=879701
Second is for apk multi tool, it used to be apk manager, install this after setting up java and the Android-sdk, its basically apktool but with a gui. Great tool for beginners.http://forum.xda-developers.com/showthread.php?t=1310151
There is another one I used for just setting up apktool but I can't find it so have a crack with the multi tool.
Sent from my HTC Wildfire using xda premium

Nice 1 Scratch, as always there with a helping hand for our little wildfire community. Thanx m8
Sent from my Wildfire using xda premium

... on the learning progress , my dream is to be a chef and share my work here ... thx for the tutorial it really help me a lot ..
Sent from my Wildfire using Tapatalk 2

Does anyone know why do I always get errors on compiling with apktool ? I have java installed for sure, I installed the framework , got no problems with the decompiling and then it just wouldn't build up :X
P.S. I was trying to edit one layout xml in this apk ,but no success. Would be really grateful if someone can compile it for me :S

Related

[TUTORIAL] How to unpack Android ROMs on Windows

{
"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"
}
As all of you well know, Android is an open source operating system and as such the development and modding are the bread and butter for devices with this OS.
In this thread I'll explain how to extract the firmware partition containing the operating system and programs with a Windows PC.
The purpose of this thread is to share knowledge, so feel free to help me to dump device such as Acer, Samsung and Sony Ericsson, expecially I need someone that help me with Acer's .bin
1. Unpack the system partition from an HTC ROM
What you need:
UniExtract: http://legroom.net/software/uniextract (freeware)
ZipScan: http://www.zipscan.co.uk/ (shareware)
Cygwin: http://cygwin.org/setup.exe (freeware)
Unyaffs for Windows: http://goo.gl/z6yI
Download and install all the tools (Unyaffs it's a prompt executable, so it isn't installable)
Now you need an HTC ROM, download one at your pleasure from Conflipper's site: http://www.shipped-roms.com/shipped/
Once you have downloaded it, right click on the ROM executable and select Extract with UniExtract in the subfolder (v.fig1), select Isxunpack extraction and then clik on the OK button (v. fig2)
Now in the subfolder you have the various files which make up the executable, including data1.cab which is the file that we are more interested in (do not delete other files).
Open ZipScan, go to File -> Open Archive File... and browse until select the data1.cab. You should see something like this:
Extract from the cab only the ROM.zip and open this file with any archives extraction software (eg WinRAR or the same ZipScan). Inside you have various .img files which make up the ROM, but for the purposes of this guide, we need only the system.img.
Copy in a blank folder this file, unyaffs.exe and cygwin1.dll (you'll find it in C:\Cygwin\Bin).
Now open Cygwin from Start -> All Programs to ensure that its functions are integrated to the Windows Prompt and close it.
Open the Windows Prompt (Start -> All Programs -> Accessories) and position yourself in the folder containing the files using the cd command or alternatively install this .reg which allow you to open the Windows Prompt in the chosen folder by command in the context menu (Right click on the folder -> Command Prompt Here).
Now the last thing that you have to do is to give the extraction command: unyaffs system.img
Et voilà, now you have the folders containing the extracted system.
Enjoy
2. Unpack the system partition from a Motorola ROM
°°°Coming Soon°°°
°°°reserved°°°
°°°2nd reserved°°°
°°°3rd reserved°°°
Thank you! I had found a different way but this will save some steps.
mark
i will see
!!!!!!!!!!!!!!!!111
Someone once told me you can just run the .exe file, let it open, use windows to search for the rom.zip that would have been extracted into a temp folder, drag&drop to another location, then cancel the .exe again.
Haven't tried this myself though.
What else can you show us in windows?... Is it at all possible to extract ramdisc thingies from kernels so we can apply one custom kernel to other roms ourself?
... or should I bite the bullet and install/learn how to use ubuntu?
Nice initiative. Finish the guides and I'll see to it that it's stickied.
ddotpatel said:
Is it at all possible to extract ramdisc thingies from kernels so we can apply one custom kernel to other roms ourself?
... or should I bite the bullet and install/learn how to use ubuntu?
Click to expand...
Click to collapse
There are simple perl scripts kicking about to unpack/pack boot.img, so you can use them on Windows as long as you install perl first - say either via Cygwin or Active State.
I just used WinRAR to do everything that UniExtract and ZipScan can do.
...so basically you showed me that system.img can be unpacked using the linux command-line utility UnYaffs.exe, which can be run through CygWin. Thanks.
Why doesn't someone make a UnYaffs.exe for windows command line?
After I change things, how to I ReYaffs it to system.img? ...and when I re-zip it don't I have to sign it or something? If I modify an apk do I have to deODEX it first? Do I reODEX after?
I would love a quick tutorial on, say, how to change an icon for an app. Something that shows people who already know how to do this type of stuff a brief step-by-step guide to taking a [ROM], adding and deleting a few apks inside it, making a graphical change to an apk inside it (skinning), and then recooking those changes in to a new [ROM] to be shared with all.
rpmccormick said:
I just used WinRAR to do everything that UniExtract and ZipScan can do.
...so basically you showed me that system.img can be unpacked using the linux command-line utility UnYaffs.exe, which can be run through CygWin. Thanks.
Why doesn't someone make a UnYaffs.exe for windows command line?
After I change things, how to I ReYaffs it to system.img? ...and when I re-zip it don't I have to sign it or something? If I modify an apk do I have to deODEX it first? Do I reODEX after?
I would love a quick tutorial on, say, how to change an icon for an app. Something that shows people who already know how to do this type of stuff a brief step-by-step guide to taking a [ROM], adding and deleting a few apks inside it, making a graphical change to an apk inside it (skinning), and then recooking those changes in to a new [ROM] to be shared with all.
Click to expand...
Click to collapse
No ****... I was wondering why he's making it all so complicated with all these extra tools when I can click the file in Winrar (extract to...) and be done. All in ONE step for me.. LOL
For me it was more than one step because using WinRAR on system.img didn't get all the files out. Using unyaffs did. But now I have a system.img from a new Android tablet and I can't get anything out of it other then the META-INF directory using WinRAR, Unyaffs, or UniExtract. Anyone have any clue how to get in to those?
...and I still want an easy tutorial on how to re-assemble a flashable system.img / update.zip once I change some stuff in there.
I really hope one of those reserved spots is for the newer Samsung phones. What really cheeses me, though, is that I had that explained to me once, and I can't find it, and didn't write it down
I've compiled both unyaffs.exe, mkyaffsimage and mkyaffs2image for cygwin, with the DLL you can use them on Windows too. Sadly, I don't know too much about C and C++, so I can't make it work, but maybe I will try to compile them for Windows, and with some bugfixing, MAYBE it will run.
Samsung did not use the usual yaffs image (for Galaxy S at least), but their own format, what can be easily extracted. I will post some more about it as soon as I get back to windows, recompile the executables and upload them.
i wana extract boot.img , but i have some error
$ gunzip -c boot.img | cpio -i
bash: cpio: command not found
gzip: boot.img: not in gzip format
Click to expand...
Click to collapse
I had some problems with unyaffs. This version posted on 1st page is bugy, if you have same problem try...
hmmm i have i more problem: To prevent spam to the forums, new users are not permitted to post outside links in their messages.
so sry guys i can't help you right now
rpmccormick said:
i just used winrar to do everything that uniextract and zipscan can do.
...so basically you showed me that system.img can be unpacked using the linux command-line utility unyaffs.exe, which can be run through cygwin. Thanks.
Why doesn't someone make a unyaffs.exe for windows command line?
After i change things, how to i reyaffs it to system.img? ...and when i re-zip it don't i have to sign it or something? If i modify an apk do i have to deodex it first? Do i reodex after?
I would love a quick tutorial on, say, how to change an icon for an app. Something that shows people who already know how to do this type of stuff a brief step-by-step guide to taking a [rom], adding and deleting a few apks inside it, making a graphical change to an apk inside it (skinning), and then recooking those changes in to a new [rom] to be shared with all.
Click to expand...
Click to collapse
+1000
.
WinImage can extract the .img.
Unfortunately, I don't think it can repack them properly.

[Q] White Border around .9.png

I've done a heavy search on the problem and can't seem to find a solution so here goes. I created a file through Adobe Photoshop for the status_bar_close_on.9.png. Pictured below. I created it in the exact dimensions the file was which is 480 x 48. I then ran cmd for draw9patch. I dropped my .png file into draw9patch to make it a .9.png.(Also, made a border on the bottom and right side even though there's no words in the final .9.png.)
I then placed the file into SystemUI.apk>deleted META-INF> then resigned the apk. Placed the APK back into a flashable zip> Flashed.
My problem is a white border shows around my image now. From the recommendation of another forum member, I tried putting the apk into apkTools and ran unPack.bat and quickPack.bat which didn't work either.
What am I doing wrong?
{
"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"
}
EDIT: I think I may have found my problem. I wasn't using Eclipse to compile the image.
Reference: http://www.nexus-nation.com/root-your-nexus-one/9pngs-figured-out
EDIT: This wasn't easy to figure out. I don't want anyone to go through what I went through so I've added what I've found and posted some nice pictures for you visual people.
*You first need to read the page I referenced above. After you have installed Eclipse, you'll need to install the google plugin shown below.
Possible errors you'll run into when starting an Eclipse Project
When you start a new project>File>New Project>Android>Android Project> and the build target is not listed you'll need to do the following on Eclipse. You'll know you have to do this if it says, "An SDK project must be specified."
If your screen looks like this, it means you haven't specified your SDK directory for Eclipse.
Step 1. Open Eclipse>Windows>Preferences
Step 2. Find the location of your SDK
Your Eclipse should then look like the following image, which now displays your build target.
Possible Error 2: While setting up a new project in Eclipse, you get the error: "
Package Name must have at least two identifiers
Click to expand...
Click to collapse
You need to enter the package name as: com.android.newproject and the project name must be one word only.
Reference:http://blog.gbinghan.com/2010/05/android-eclipse-package-name-must-have.html
Reference:http://www.nexus-nation.com/root-your-nexus-one/9pngs-figured-out
Quote:
When you open a .9.png you do not see the guides, that is because they are hidden. When you want to add the guides to an image, you have to drag it into the draw9patch tool. Now the tool has a hidden secret i figured out.(not really hidden, but not well described) If you open an image with the .9.png extension it just opens it. But if you open an image without the .9.png extension, it adds 2 pixels to its width and height. These 2 pixels are for the hidden guides. For example the btn_default_normal_disable.9.png in framework is 44x48. But if you remove the .9 from the file name and drag it into the draw9patch tool it changes to 46x50. Which you will notice after you save the image from the draw9patch tool. Also it will add the .9 to the file name.
Howto: draw9patch
The idea of the draw9patch tool is very simple, you drag an image into it you create the guides and you save the image. But the guides are very specific and if you do not do them properly your image will look strange. So follow these few rules about the tool.
Remove the .9 from image name before you drag it into the tool.
The top and left side guides set where the image can be stretched. Where ever you put a guide is where the image will stretch. Do not put more then 2 next to each other.
The bottom and right side guides set the content area(where the text will go). Now you can only put the guides in the outer border, once the image is compiled this border will be hidden. The tool will not let you put any guides anywhere but the outside border. Now usually you will put a 1x1 guide on the top and left sides, on the right and bottom you want to draw a full line. I have tried putting multiple guides on the top and left but the aapt tool seems to stress out and crash before compiling.
Once you save the image the draw9patch tool should of added the .9 to the name. That is all to adding the guides to the image.
So now your saying ok, i have the image and i still see the guides. To get rid of these lines we need to compile them with Eclipse. Basically we add them to a project in Eclipse and create an apk. During the compile the aapt tool from the sdk will set the image back to its original resolution and hide the guides.
(I am hoping to figure out some command lines for the aapt tool so we can skip this step. But until then editing these .9s are a big pain in the arse!)
Howto: Compiling in Eclipse.
I am assuming you followed the link above for setting up Eclipse and can create a new Android project.
Once Eclipse is open you want to go to "File\New\Android project". Select "Create project from existing source". It should default to the path of the samples in your SDK directory, but if it doesn't just browse to them. I have been using my own project but any sample should be fine. Choose "Finish" and on the left hand side under Project Explorer, you will see the name of the project you opened. Expand the project, then Res and you will see the Drawable folder. You will want to drag your edited .9s here. Once all of the images are in the drawable folder you want to right click the top level folder(Project name) for your project and choose "Android Tools"(second from botom) then "Export Unsigned Application Package..." Save the apk where ever you'd like, just remember where you put it. Cause you will want to open it and take the images out of the drawable folder. You will notice now that the guides are gone and the resolution is back to the normal size. Drag the images into your theme and you are done.
Click to expand...
Click to collapse
What's unPack.bat and quickPack.bat? As I told you on a PM, you have to compile that 9.png file. You can do that:
using apktool: decode apk using apktool, then add your 9.png and build apk back
creating new Android project: create it, add your 9.png, build, unpack, copy compiled 9.png - that method was described in a guide quoted by you.
or using aapt tool directly
Brut.all said:
What's unPack.bat and quickPack.bat? As I told you on a PM, you have to compile that 9.png file. You can do that:
using apktool: decode apk using apktool, then add your 9.png and build apk back
creating new Android project: create it, add your 9.png, build, unpack, copy compiled 9.png - that method was described in a guide quoted by you.
or using aapt tool directly
Click to expand...
Click to collapse
The aapt came with the unpack and quickpack.bat. Which were in the apktool kit. Unpack.bat. From what it said, decodes the apk file. It looks like it extracts it. Quickpack.bat puts the file back into an apk. Correct me if I'm wrong.
I ran the aapt.exe but it quickly ran cmd then exited before I was able to see what was done. There were no guides I could find on how to use it, which didn't help.
I'd really like to know how to use aapt. I'm sure that's much easier and faster than running Eclipse. Please advise.
**This link is the download page from which you sent me regarding the apktool. Inside it includes those bat files along with aapt.exe.
http://code.google.com/p/android-apktool/wiki/9PatchImages
http://code.google.com/p/android-apktool/downloads/list
raider3bravo said:
The aapt came with the unpack and quickpack.bat. Which were in the apktool kit.
Click to expand...
Click to collapse
Errr.. what? ;-D I'm an author of apktool and I'm pretty sure there are no such files ;-) For Windows there should be: apktool.jar, apktool.bat and aapt.exe .
raider3bravo said:
I ran the aapt.exe but it quickly ran cmd then exited before I was able to see what was done. There were no guides I could find on how to use it, which didn't help.
Click to expand...
Click to collapse
aapt is more advanced tool, but you could try it if you want. Do:
fake AndroidManifest.xml file - simplest manifest is: http://pastebin.com/ck2EPh6U , you can copy it.
create file structure:
Code:
AndroidManifest.xml
res/
drawable/
1.9.png
2.9.png
3.9.png
...
open terminal, cd to a directory with above files
run "aapt p -f -F out.apk -M AndroidManifest.xml -S res"
unpack out.apk and copy *.9.png files to your apk.
Thanks. I'll have to try this out and see if it's faster than Eclipse. You were right on the files not being in the link provided. I somehow got them mixed up. Here's where I downloaded that apktool that included the quickpack.bat and unpack.bat files.
http://forum.xda-developers.com/showthread.php?t=882742
Brut.all said:
Errr.. what? ;-D I'm an author of apktool and I'm pretty sure there are no such files ;-) For Windows there should be: apktool.jar, apktool.bat and aapt.exe .
aapt is more advanced tool, but you could try it if you want. Do:
fake AndroidManifest.xml file - simplest manifest is: http://pastebin.com/ck2EPh6U , you can copy it.
create file structure:
Code:
AndroidManifest.xml
res/
drawable/
1.9.png
2.9.png
3.9.png
...
open terminal, cd to a directory with above files
run "aapt p -f -F out.apk -M AndroidManifest.xml -S res"
unpack out.apk and copy *.9.png files to your apk.
Click to expand...
Click to collapse
I will definitely be putting this thread to use, I am just learning this stuff, so this will be very helpful. Thanks raider, you have been a wonderful help to me so far

[LEARN] modding apks the easy way!

Hi friends of XDA,
today, i present you a easy method (more like a idea) on how to learn about what is actually modified in a apk and help you to
get an idea about creating your own mod by understandig other mods.
first is first!
#include
/*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because of you following this guide.
* do some research if you have any concerns.
* YOU are choosing to make these modifications.
* you cannot point the finger at me for messing up your device.
* yes, i copied this disclaimer from FXP coz itz cool and i am lazy!
*/
okay now let´s get started,
things you need,
1. apktool
2. WinMerge (WinMerge is Open Source software under the GNU General Public License)
3. a modded apk and it's original untouched unmodded apk for your device.
4. A LOT OF PATIENCE (learning modding apks is not so easy).
step by step,
1) apktool part,
1.1) install framework-res.apk, SystemUI.apk, SemcGenericUxpRes.apk in apktool
.
NOTE: below, any apk can be used, i'm using SystemUI.apk as a example.
1.2) decompile and compile both the original SystemUI.apk pulled from your device and the SystemUI.apk from the mod
which you are going to learn what has been changed.
NOTE: step 1.2 is done to make sure that the apktool you are using is comaptible with your apks if it throws errors
while compiling and/or decompiling unmodified system apks then use a different version of apktool which works with your
device and version of android you are going to use (google it).
1.3) after succesfully installing required apks and testing the apktool, clean the apktool folder (remove decompiled apk folders and
remove unwanted apks from the folder).
1.4) copy the pulled original SystemUI.apk from device (or pull it again) to apktool folder and rename it to make you remember that it
is the original apk (i named it as SystemUI_ori.apk).
1.5) copy the modded SystemUI.apk from the mod and rename it to make you remember that it is the modded apk
(i named it as SystemUI_mod.apk).
1.6) decompile SystemUI_ori.apk and SystemUI_mod.apk.
2) winmerge part,
2.1) open winmerge
click open
{
"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"
}
2.2) you'll get the following window (select files and folders)
2.3) in the left and right path box type in your path to the decompiled original and modded apks directory.
as shown below and click ok (ok button will be only visible if you choose two valid directories)
2.4) now the two directories you selected will be opened and their similarities in files and
directories will be displayed in the comparison result column as shown below,
2.5) the comparision result column will display what type of file it is and whether they are different or identical as shown below,
2.5) if the file or directory is only present in one directory of the two selected directories (see 2.3) then the comparision result column
will show as highlited in the below image.
2.6) from 2.4 and 2.6 you can easily determine what files have been edited and/or added by the modder to achieve the corresponding
changes in the mod.
2.7) Now when you double click the file which is present in both the left and right directories, those files will be opened and their
differences will be highlighted.
for example let us open a text file (normally all files are text type in a decompiled apk except images) whose comparison result
show that they are different,
the text file in both left and right opens side by side and the lines which contains the differences will get highlighted in yellow,
the part of the line which is actually different from one another will be highlighted in light yellow as shown below.
NOTE: since the apk is decoded by apktool, the files will be always in human readable source form so just by looking at the differences in the
text we can get a clear picture on what is changed in the file and how does it impact in the final modded apk. If you yourself have a good
knowledge of xml and java it'll be a breeze for you to understand it!
you can also copy the whole changes of one file to another or just copy the changes line by line, to learn more about this see the further
reading part below.
3) PLEASE do not ask me about apktool errors or what to edit in a apk to get this etc., type of questions
i'm still in the nascent phase of learning about modifying apks and theming, i am using this method to learn so i am recommending this
to interested friends.
4) if you have doubts and/or errors in using apktool post here.
FURTHER READING:
5) I HAVE COVERED ONLY THE VERY BASICS OF LEARNING MODDING USING WinMerge.
to learn more about the shortcuts and functionalities of winmerge read winmerge quick guide and complete guide..
CREDITS:
authors of winmerge
authors of apktool
HAPPY LEARNING MODDING!
PLEASE PRESS THANKS IF THIS THREAD IS USEFUL!
fix urls
mv_style said:
fix urls
Click to expand...
Click to collapse
DONE man!
Damn awesome tut bro!!
Was manually comparing both files inside apk to find which file has been modified..
U made it easier for me..
Cheers:fingers-crossed:
ssanjay19 said:
Damn awesome tut bro!!
Was manually comparing both files inside apk to find which file has been modified..
U made it easier for me..
Cheers:fingers-crossed:
Click to expand...
Click to collapse
thanks sanjay
Apktool doesnt open on my pc. It just shows up for a sec and then disappears!
thejkamath said:
Apktool doesnt open on my pc. It just shows up for a sec and then disappears!
Click to expand...
Click to collapse
Install java first,
In win7 open the directory where you placed the apktool.jar , hold shift and right click inside the folder, in the menu click "open command window here" and in the command window type,
java -jar apktool.jar
Click to expand...
Click to collapse
In xp
Open command prompt change directory to the apktool.jar directory and type the above quoted.
Hit thanks if I helped you.
Sent from my ST15i using xda app-developers app
Sir I can't see the pictures u have posted... fix their links please
Thanks

[TUTORIAL] How to Decompile and Recompile ICS .Apk Files][Easy ONE]

This is an Easy Tutorial, How to Decompile .apk and Recompile .apk Files​If u like this Tutorial, Hit THANKS Button​CREDITS
Memnoc - For Gud Ideas.
Xavierjohn22 - the amazing author of AutoApktool go Here, Hit thanks to Him Too.
Sandy7-For Motivation.
Requirements
Java (last version)
JDK (last version)
JDR (last version, usually included in JDK or Java)
Auto_Apktool 2.0.0 (DOWNLOAD THIS ONE NOT OTHERS)
HOW TO DO
NOTE: before start, select Apktool version with option 21, YOU MUST CHOOSE 1.4.1 version
1) Download and simply unpack Auto_ApkTool
2)Click on "autoapktoolmain.bat", prompt will open
{
"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"
}
3)put the apk you want to EDIT, in "_INPUT_APK"
4) Nw u Should Choose "option 6" for 'decompiling .apk
5) when option 6 is being selected, drag the apk from _INPUT_APK folder into the windows prompt and click enter
6) A Note window will appear, and will show IF the decompiling process has been done properly. Once you close that window, you will see the decompiled folder in _INPUT_APK folder
7) do your edits (xml, smali, or png, WHATEVER)
8) recompile with option 7 (NOTE: this time you MUST drag all the FOLDER, NOT the apk)
9) Once recompiling finished, u will Get a Dcompiled NOTE window that Shows your apk is sucessfully Compiled, Close that Window, Once open the decompiled folder, go to "dist" folder, and here you got your edited apk
10) NOW this is the Last step, since u cannot Sign System app, u will have to Copy the META-INF foldrer frm the Orginal apk to the edited apk, for more Info See the "Screen"
11) Rename the apk if Needed, and push it.
Reserved, HOW to decompile .jar file and recompile it, Soon.
Reserved 2, If i get Time, All in one Video Tutorial.
FAQ's​Why can't we use Apktool???
Well, you can, but it's more difficult, that's it.
Why do you say "must use 1.4.1 apktool version"??
The reason why is that since 1.4.2 version, apktool generate java code while recompiling process is going on, and this lead to errors that 9/10 makes decompile process fail
good job my friend.
One little suggestion to add.
if you install jdk leaving its custom destination directory you might get "java not found" error (even if there's the jdk file in system32 folder).
To solve this (on win 7) you need to:
- open start menu and type system in search bar
- Select "advanced system settings" from menu on the left
- Open the "system variables" on the bottom of the page
- Go to the PATH value and add the path to the jdk bin folder
- Create a new variable named JAVA_HOME and give it the same path as above.
Cheers.
Rudjgaard said:
One little suggestion to add.
if you install jdk leaving its custom destination directory you might get "java not found" error (even if there's the jdk file in system32 folder).
To solve this (on win 7) you need to:
- open start menu and type system in search bar
- Select "advanced system settings" from menu on the left
- Open the "system variables" on the bottom of the page
- Go to the PATH value and add the path to the jdk bin folder
- Create a new variable named JAVA_HOME and give it the same path as above.
Cheers.
Click to expand...
Click to collapse
Bro, in this Apktool u Wont have tis Problem, Jst need to install java acoording to ur system, Ex 64 or 32 bit, and also install the Java rutime environment, tool will work perfet..!
stanlin salu said:
FAQ's​Why can't we use Apktool???
Well, you can, but it's more difficult, that's it.
Why do you say "must use 1.4.1 apktool version"??
The reason why is that since 1.4.2 version, apktool generate java code while recompiling process is going on, and this lead to errors that 9/10 makes decompile process fail
Click to expand...
Click to collapse
While i have apktool 1.5 by iBotpeaches , nothing is wrong with that.Im saying that because ibotpeaches is actively developing apktool. Its faster to get updates from him. Autoapktool may still need to wait for source codes from ibotpeaches not trying to spoil your thread. Just siggesting you to add one more additional info.
And there are just simple codes. I suggest you to add them too. Its just a framework code. And two commonly used codes to decompile and recompile. And yes i do know the codes. Hard to even forget.
Personally i make batch files for commonly decompiled apk for faster decompiling.
Sent from my WT19i with Real Xperia r1
kokzhanjia said:
While i have apktool 1.5 by iBotpeaches , nothing is wrong with that.Im saying that because ibotpeaches is actively developing apktool. Its faster to get updates from him. Autoapktool may still need to wait for source codes from ibotpeaches not trying to spoil your thread. Just siggesting you to add one more additional info.
And there are just simple codes. I suggest you to add them too. Its just a framework code. And two commonly used codes to decompile and recompile. And yes i do know the codes. Hard to even forget.
Personally i make batch files for commonly decompiled apk for faster decompiling.
Sent from my WT19i with Real Xperia r1
Click to expand...
Click to collapse
If so, jst PM me the codes, I wil look to it , and wil add it .
Sent from my WT19i using xda premium
And guys, tis too, is faster, easy and userfriendly , try and report to me guys! :beer:
Sent from my WT19i using xda premium
stanlin salu said:
Bro, in this Apktool u Wont have tis Problem, Jst need to install java acoording to ur system, Ex 64 or 32 bit, and also install the Java rutime environment, tool will work perfet..!
Click to expand...
Click to collapse
I had this issue, that's why i reported it. it happens when you install sdk on a partitioned hd without putting it in the C:\ directory, it then goes in %appdata% and gives the java not found error, talking out of experience not my a$$
Rudjgaard said:
I had this issue, that's why i reported it. it happens when you install sdk on a partitioned hd without putting it in the C:\ directory, it then goes in %appdata% and gives the java not found error, talking out of experience not my a$$
Click to expand...
Click to collapse
No offence bro, any how tat was a gud tip, I wil look to it, thanks!
Sent from my WT19i using xda premium
Can you link the JAVA required and JDR req pls .......I'm not sure about which one should i dl ?
Sorry for the Noob question.
Ghostfreak NB said:
Can you link the JAVA required and JDR req pls .......I'm not sure about which one should i dl ?
Sorry for the Noob question.
Click to expand...
Click to collapse
Bro, u can download the java frm 'java.com' and jst search in google for EX: 'JRE for windows 7 - 32 or 64 bit' wich u r running jst install both these ten u r ready to go!
Sent from my WT19i using xda premium
Ty,bro... Will try tonight!
Btw you could just link it to that page in your OP
It could avoid such noob questions!
Sent from my MT11i using xda premium
Ghostfreak NB said:
Ty,bro... Will try tonight!
Btw you could just link it to that page in your OP
It could avoid such noob questions!
Sent from my MT11i using xda premium
Click to expand...
Click to collapse
Ok!
Sent from my WT19i using xda premium
stanlin salu said:
7) do your edits (xml, smali, or png, WHATEVER)
Click to expand...
Click to collapse
would you please create some tutorial for it? like deleting some message dialog?
superderon said:
would you please create some tutorial for it? like deleting some message dialog?
Click to expand...
Click to collapse
Alread there are many great tutorial how to edit xmls and stuffs to modifiy the apk, I can do a help my adding all the thread links to the OP, so u can easily get wat u want!
Sent from my WT19i using xda premium
Trying to use your tool here, but when I try to recompile - #7 - I get this:
[*] C:\auto-apk\AutoAPKTool2.0.4\_INPUT_APK\AngryBirdsSeason
recompiling C:\auto-apk\AutoAPKTool2.0.4\_INPUT_APK\AngryBirdsSeason...
I: Smaling...
I: Building resources...
I: Copying libs...
I: Building apk file...
The system cannot find the drive specified.
I followed your instructions closely, though when I ran the decompile and hit return after dragging and dropping the .apk onto the Command window, it showed the whole path to the .apk file; I hit return, and the word "test" came up. The decompile went well - the Notepad popped up and all that - but then after I edited one .png file and went to recompile, I couldn't drag the folder onto the Command window, so I had to kill the notepad and the Command window and restart, in order to select #7. That's when I got the above error.
Any ideas here? Win 8, 64-bit, BTW. Java 1.6.0.4
Thanks! My ONLY goal is to make hi-res icons for my Kindle Fire HD, 7". If you know a simpler way, I'd love to hear it!
Eric
ClarkSt said:
Trying to use your tool here, but when I try to recompile - #7 - I get this:
[*] C:\auto-apk\AutoAPKTool2.0.4\_INPUT_APK\AngryBirdsSeason
recompiling C:\auto-apk\AutoAPKTool2.0.4\_INPUT_APK\AngryBirdsSeason...
I: Smaling...
I: Building resources...
I: Copying libs...
I: Building apk file...
The system cannot find the drive specified.
I followed your instructions closely, though when I ran the decompile and hit return after dragging and dropping the .apk onto the Command window, it showed the whole path to the .apk file; I hit return, and the word "test" came up. The decompile went well - the Notepad popped up and all that - but then after I edited one .png file and went to recompile, I couldn't drag the folder onto the Command window, so I had to kill the notepad and the Command window and restart, in order to select #7. That's when I got the above error.
Any ideas here? Win 8, 64-bit, BTW. Java 1.6.0.4
Thanks! My ONLY goal is to make hi-res icons for my Kindle Fire HD, 7". If you know a simpler way, I'd love to hear it!
Eric
Click to expand...
Click to collapse
The above process, is nt an error, jst go to the 'dist' folder u wil find the recompiled apk.
Sent from my WT19i using xda premium

Is it possible to change the default TimePicker dialog in Android?

I'm currently using Android Oreo (RevolutionRemix) and I really don't like the circular TimePicker dialog that's presented to me when I create an alarm in the default clock or when I make a new event in my calendar (Nine).
Currently I get a dialog like this:
{
"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"
}
But I really would like it more like this:
I found this link https://android--code.blogspot.com/2015/08/android-timepickerdialog-theme.html (where I got the above screenshots), and it seems like this is something that can be changed with a theme.
Is this a default that can be changed (or forced) system-wide? If so, how? FYI, I have root and I'd rather edit an XML file somewhere to get this done than download a whole theming app or something.
Thanks in advance!
raphidae said:
I'm currently using Android Oreo (RevolutionRemix) and I really don't like the circular TimePicker dialog that's presented to me when I create an alarm in the default clock or when I make a new event in my calendar (Nine).
Currently I get a dialog like this:
But I really would like it more like this:
I found this link https://android--code.blogspot.com/2015/08/android-timepickerdialog-theme.html (where I got the above screenshots), and it seems like this is something that can be changed with a theme.
Is this a default that can be changed (or forced) system-wide? If so, how? FYI, I have root and I'd rather edit an XML file somewhere to get this done than download a whole theming app or something.
Thanks in advance!
Click to expand...
Click to collapse
You should be able to do this easily by editing the theme in res/values/styles.xml. If you know how to decompile apps with apktool, this should be an easy ordeal. You will need to decompile framework-res.apk and edit Theme. Material.Light and Theme.Material
To avoid bootloop, do not resign the app once edited and recompiled! Open the new apk with winrar or 7zip and add in the original manifest and meta folder located in the "originals" folder when using apktool.
Sent from my LG-Q710AL using Tapatalk
RealWelder said:
You should be able to do this easily by editing the theme in res/values/styles.xml. If you know how to decompile apps with apktool, this should be an easy ordeal. You will need to decompile framework-res.apk and edit Theme. Material.Light and Theme.Material
To avoid bootloop, do not resign the app once edited and recompiled! Open the new apk with winrar or 7zip and add in the original manifest and meta folder located in the "originals" folder when using apktool.
Click to expand...
Click to collapse
I don't know how, but I'm going to learn it Where is this apk normally in the filesystem, in the same location as installed apps? And would it be in the same location on a custom ROM as RR, or would it possibly be a custom theme with a different apk? Also, I thought apk files were just renamed zip files, what needs to be decompiled exactly (if that has an easy answer, otherwise I'll google it)? Thanks!
You will need some tools. Apk files are similar to zip files, but there are some things that are hidden. You will need apktool, adb, Notepad++, and java jdk installed. Adb and apktool are simple files that I can provide for you. They run on the command line in windows. What I do is put the files associated with adb and apktool in the C:\Windows directory so that they are installed system wide, meaning you can open the command prompt from anywhere and use the tools. Java jdk you will have to download and install.
I'm pretty sure on remix it will be framework-res.apk and it will be located in /system/framework/ directory. Apktool you will use to decompile and recompile the app. Adb is just to make things faster. You can use it to push or pull files from computer to phone and vice versa, reboot the phone, etc. You will have to enable USB Debugging in the developer options. You can also use adb to open a shell. (Like terminal in linux) but for our purposes we probably won't get into that.
Here is a link to my basic modding tools. Extract the files out and copy them to C:\Windows\.
https://drive.google.com/file/d/1Ywa3SWd_420uO-nyi2-iqVWp1vu0V_D9/view?usp=drivesdk
You'll need to copy any app that might be in /system/framework. I'm not super familiar with remix but we will get through it. Most likely it will be framework-res.apk unless remix uses something like RRframework-res or something. You can check that out with a root file manager. You may also need your SystemUI.apk located in /system/priv-app/. This is just to install the frameworks into the apktool.
Once you get all of your tools in place, create a folder named workspace on your desktop or somewhere easy to get to. Copy the above mentioned apk files into that folder. Next hold shift and right click the mouse. You want to open a command window here. In the command window type
apktool if framework-res.apk (then hit enter)
This is how you install the frameworks for apktool the if means install framework. You may also have to do this with SystemUI.apk.
Now were ready to decompile our framework! Lol. In cmd type
apktool d framework-res.apk
This will decompile the app. After you make your edits, you will use
apktool b framework-res
To build the app. (If you have any errors decompiling/recompiling report here)
At this point hopefully your app is decompiled and we can make our edit. Open /res/values/styles.xml with Notepad++ (a great computer program for coding) You will want to scroll down to Theme.Material.Light and find the TimePickerDialog. Then scroll down to Theme.Holo.Light and find TimePickerDialog. Copy the attribute from Holo theme to Material theme. Save. Recompile app. The new app will be located in the "dist" folder. Open the app with 7zip and add in the AndroidManfiest.xml and meta folder from the originals folder to retain the app's stock signature. Now we need to move our new apk to the phone. Type
adb push (drag and drop apk into cmd window) /sdcard/
This should push the app to the phone.
You can also use
adb pull (path and file)
to pull files from the phone to your workspace.
Once you get your new apk file ready and pushed onto the /sdcard/, open root file explorer and rename it to framework-res1.apk. This is so we can copy it into /system/framework/ without immediately overwriting the original. Next use root file explorer to change app's permissions to 0644. Once the permissions are changed correctly you can rename it to framework-res.apk and overwrite the original. Then reboot and enjoy.
Sent from my LG-Q710AL using Tapatalk
RealWelder said:
(snip instructions)
Click to expand...
Click to collapse
Thanks for the detailed instructions, really appreciated! Seems clear enough that I won't have any problems, I'll try it tomorrow or so and report back.
Just one question remaining: how can one retain the original signature by copying manifest files back into the apk? Isn't the whole idea of a signature to prevent changes to the files in the package? Or is it a different kind of "signature"?
raphidae said:
Thanks for the detailed instructions, really appreciated! Seems clear enough that I won't have any problems, I'll try it tomorrow or so and report back.
Just one question remaining: how can one retain the original signature by copying manifest files back into the apk? Isn't the whole idea of a signature to prevent changes to the files in the package? Or is it a different kind of "signature"?
Click to expand...
Click to collapse
It prevents you from modifying the AndroidManifest.xml. If you changed anything in it you would have to resign... But then it's signature won't match the rest of the signatures in the OS, which causes bootloop. Copying the original manifest and meta folder is just a workaround to keep it's signature in tact.
Sent from my LG-Q710AL using Tapatalk
RealWelder said:
It prevents you from modifying the AndroidManifest.xml. If you changed anything in it you would have to resign... But then it's signature won't match the rest of the signatures in the OS, which causes bootloop. Copying the original manifest and meta folder is just a workaround to keep it's signature in tact.
Click to expand...
Click to collapse
OK, that makes sense, thanks! I noticed that a wrong signature can cause a boot loop, I'm guessing that other problems with this file can also cause a boot loop? If so, is there an easy way to bypass this file should that happen (safe more or something)?
Just FYI, I'm using full-disk encryption and TWRP can't decrypt the data partition, but I assume I can just put the original file back to the /system filesystem if necessary?
raphidae said:
OK, that makes sense, thanks! I noticed that a wrong signature can cause a boot loop, I'm guessing that other problems with this file can also cause a boot loop? If so, is there an easy way to bypass this file should that happen (safe more or something)?
Just FYI, I'm using full-disk encryption and TWRP can't decrypt the data partition, but I assume I can just put the original file back to the /system filesystem if necessary?
Click to expand...
Click to collapse
It could, but generally the signature issue is the main reason for bootloop. The xmls and png images are safe to edit. Be careful with images, if one has a .9.png extension it is a nine-patch file. They have a one pixel border around the image that lets android know where to stretch said image. They are black dots/lines. Make sure they stay black and not opaque at all.
Sent from my LG-Q710AL using Tapatalk
raphidae said:
OK, that makes sense, thanks! I noticed that a wrong signature can cause a boot loop, I'm guessing that other problems with this file can also cause a boot loop? If so, is there an easy way to bypass this file should that happen (safe more or something)?
Just FYI, I'm using full-disk encryption and TWRP can't decrypt the data partition, but I assume I can just put the original file back to the /system filesystem if necessary?
Click to expand...
Click to collapse
I would make a fresh backup with TWRP before doing any of this, just in case. It is pretty safe though. I've been tinkering with rooted phones for a few years doing this. My latest venture is in a way even more impressive. With the newer LG phones, they have a built in theme system. I've been able to create my own theme and apply it to the phone all without root.
Sent from my LG-Q710AL using Tapatalk

Categories

Resources