Decompiling/Recompiling Launcher2.apk - Android

Hey everyone. I'd like to decompile/recompile the Launcher2.apk from Paul (MoDaCo)'s rip of the Gingerbread system. I'm trying to fix the annoying fade time on the 2D app drawer for the launcher. However, I'm running into problems.
Here's my process:
apktool d -f com.modaco.android.launchergb-1.apk
Move through the com.modaco.android.launchergb-1 folder to res/values/integers.xml
Change fade in and fade out time to "300" instead of "700".
apktool b -f com.modaco.android.launchergb-1
Copy build/apk/resources.arsc to the original com.modaco.android.launchergb-1.apk using WinRAR.
Attempts to install all fail. When I try "adb install" I get this error: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

It seems to me that you need/forgot to sign the APK.
Beamed from my DroidX

If regularly signing the apk still does not allow you to install the launcher I would try one thing since it's a system app.
Take the original unmodified apk, and find the signature of that file. Make the necessary changes and sign it using the same signature and place it back in /system with the same exact permissions as the original file, thus making Android see an exact copy of the old file. At least with the the Samsung Captivate, all the framework files and such are signed using the same exact signature so changes to any of those files will present a lot of problems on boot.

Related

[GUIDE][HOWTO] theme for the Nook

I've seen it asked quite a few times now, so I thought I would share how I've been creating my own themes for the Nook. This is a quick and dirty guide as I've almost got it down to a science for quick, keyboard shortcut, theming.
Things you'll need
Photoshop or The Gimp for editing files
Android SDK so you can push and pull files to/from the Nook.
draw9patch app in the Android SDK /tools folder for creating 9.png files
APK Manager (http://forum.xda-developers.com/showpost.php?p=6703735&postcount=1)
Notepad++ or some other text editor for editing XML files. After using Notepad++ on this, I'd highly recommend it though
An attention span
Some restraint
This is a rather good guide that helped me get started. My only complaint is that it is almost to complicated and includes more information than what is needed for a basic theme.
http://forum.xda-developers.com/showthread.php?t=916814
​
Getting Started:
Download the Android SDK and get it installed.
Download APK Manager
ADB pull /system/framework/framework-res.apk
Make a copy of the framework-res.apk files as a back-up in case you need to revert
Copy the framework-res.apk file to the /place-apk-here-for-modding folder under the APK Manager folder
Launch the APK Manager Script.bat file
Type in 22 to select the default project
Type in the number next to framework-res.apk in the list to select it as your project
Select 1 to extract the files
Select 9 to decompile (this is what makes the XML files readable)
Go to the /projects/framework-res/res folder under the APK Manager folder to view all the files from the theme
Images are located in the /drawable-mdpi folder. XML files are located throughout, but the files specific to layout are under the /layout folder. To change global settings, such as color codes and strings, edit the XML files under the /values folder.
Creating custom PNG files: If you are using Photoshop, use the Save For Web feature when saving. Save the image as PNG-24. Select None under the Matte option. Select None under Metadata.
A word on 9.png files: 9.png files are files that can be stretched by the OS. There is a 1 pixel border all the way around the image. In that 1 pixel border, you'll notice solid black lines here and there. The black pixels indicate which portions of the image are to be stretched. You can add this border and the black pixels in Gimp or Photoshop, or you can open the file the draw9patch app under the Android SDK /tools folder. The draw9patch app will actually display how the image will look when stretched as you add the black pixels around the border, so it can come in handy and it's what I prefer to use. You can open and edit .9.png files in draw9patch and edit the border even after you save the file.
​
Once you have all your files edited, recompile the APK package with APK Manager
Option 11
y
y
It will tell you to delete the files under the /keep folder that you have edited. Delete any images and XML files, from the /keep folder, you edited under the /projects folder. If you edited XML files, delete the /keep/res/resources.arsc file as well
Press any key to continue and let the script finish
In a separate command line window, mount your Nook's /system folder (adb shell mount -o remount,rw /dev/block/mmcblk1p2 /system)
back in APK Manager, select 8
/system/framework/framework-res.apk
Reboot your Nook
Boot Loop: If you messed something up and are stuck in a boot loop, most of the time you can still mount your Nook, push the original framework-res.apk to it and reboot. Or, you can use an unedited version of the CWM flashable zip file from the link below.
NOTE: it is not smart to push your framework-res.apk file to the Nook. I've learned the hard way that you can only do this about 10 times before you run out of memory and can no longer boot your Nook until you reflash Froyo again.
I'd recommend only a few flashes on a bare bones copy of Froyo until you feel comfortable with working on the framework theme. After that, I'm attaching a base, flashable zip for you to use in CWM so you can flash the theme instead of pushing. This will prevent you from getting stuck in a boot loop (unless you do something wrong yourself).
To add your framework-res.apk file to the zip, just open the zip and replace the /system/framework/framework-res.apk file (I'd recommend 7zip).
​
A Few Goodies
I'm including all of the PSD files I use to edit and create themes. If you want to create your own, custom theme, these will get you started. The only downside to these PSD files is that they are at the MDPI scale. If you want to create an HDPI theme, you'll need to increase the sizes.
Link to PSD files for creating your own theme, plus the flashable CWM zip file:
http://jjis.me/android-theme-templates
​
Hey man, I know you theme the froyo roms, but Im attempting a theme for the Phiremod CM7 and I cant seem to get anything but splash hangs and bootloops. I theme CM7 for the hero so I know my way around that, but Im wondering if theres something about the Nook that I have to do differently. For instance what is the mount.sh file you have in the tools folder on your themes? Is that only for froyo? Any help you could give me would be appreciated.
PMDColeslaw said:
Hey man, I know you theme the froyo roms, but Im attempting a theme for the Phiremod CM7 and I cant seem to get anything but splash hangs and bootloops. I theme CM7 for the hero so I know my way around that, but Im wondering if theres something about the Nook that I have to do differently. For instance what is the mount.sh file you have in the tools folder on your themes? Is that only for froyo? Any help you could give me would be appreciated.
Click to expand...
Click to collapse
CM7 is a little different than the stock builds of Froyo and others. They use the theme manager for it. If you are looking to theme for CM7, I'd suggest learning what it is needed to package it for the theme manager. I spent about an hour one day trying to find documentation, but couldn't. If can, or have it, please let me know where to find it so I can link to it and use it myself.
With that said, it appears that CWM does not flash, or at least mount, the same on the Nook. I'm assuming it's because it's on the external SD card and not internal. The mount.sh file was borrowed from samuelhaff's flashable ROMs. It actually tells CWM to mount the internal memory and flash to it.
If you are flashing without the mount.sh, it could be why you're getting the boot loops.
CWM uses edify language instead of amend. Again, it took me forever to find little to no documentation on it.
If you are using the mount.sh file and you are still getting stuck in a boot loop, I did discover a little issue with it yesterday. I was trying to use it to flash my new theme without the Vending.apk mod and I kept getting stuck in a black screen during start up. I forgot my edify code deletes the Vending.apk file so that was causing my problem. If you know how to edit the file, go for it. If not, I'm planning on updating it to correct this. If you need to, for now, just copy the Vending.apk to your flashable zip file.
It deletes the services.jar file as well. This was a requirement on Froyo since the status bar text is black by default. The services.jar file has to be edited to change the status bar text to white. Since CM7 does not need that change, try pushing just the framework-res.apk file, reboot and see if you boot successfully. If so, that is more than likely your problem.
wretchedlocket said:
CM7 is a little different than the stock builds of Froyo and others. They use the theme manager for it. If you are looking to theme for CM7, I'd suggest learning what it is needed to package it for the theme manager. I spent about an hour one day trying to find documentation, but couldn't. If can, or have it, please let me know where to find it so I can link to it and use it myself.
With that said, it appears that CWM does not flash, or at least mount, the same on the Nook. I'm assuming it's because it's on the external SD card and not internal. The mount.sh file was borrowed from samuelhaff's flashable ROMs. It actually tells CWM to mount the internal memory and flash to it.
If you are flashing without the mount.sh, it could be why you're getting the boot loops.
CWM uses edify language instead of amend. Again, it took me forever to find little to no documentation on it.
If you are using the mount.sh file and you are still getting stuck in a boot loop, I did discover a little issue with it yesterday. I was trying to use it to flash my new theme without the Vending.apk mod and I kept getting stuck in a black screen during start up. I forgot my edify code deletes the Vending.apk file so that was causing my problem. If you know how to edit the file, go for it. If not, I'm planning on updating it to correct this. If you need to, for now, just copy the Vending.apk to your flashable zip file.
It deletes the services.jar file as well. This was a requirement on Froyo since the status bar text is black by default. The services.jar file has to be edited to change the status bar text to white. Since CM7 does not need that change, try pushing just the framework-res.apk file, reboot and see if you boot successfully. If so, that is more than likely your problem.
Click to expand...
Click to collapse
Thanks for the reply! I actually took yours apart and was able to correct my script and I noticed that the delete services.jar line was causing issues as well. If you can I'd like you to take a look at the updater script after I edited it and see if you see any errors. It's attached below. I have gotten the framework and other themed apps to flash fine, but for some reason the themed market will not install. After flash it is in the /system/app folder as vending.apk. but it doesn't actually replace the stock market anywhere else. I actually spent several hours today trying to get the market back because I got frustrated and went all delete happy in root explorer, lol.
As far as Theme Chooser goes, here is a decent tutorial, but I haven't taken the time to really try and change my whole MO to use it. I theme the aospCMod for the heroc without using the chooser app. You can also get some good tips on building themes for the chooser in the #aospbot irc channel. A few of the guys in there build themes for it.
View attachment updater-script.zip
PMDColeslaw said:
Thanks for the reply! I actually took yours apart and was able to correct my script and I noticed that the delete services.jar line was causing issues as well. If you can I'd like you to take a look at the updater script after I edited it and see if you see any errors. It's attached below. I have gotten the framework and other themed apps to flash fine, but for some reason the themed market will not install. After flash it is in the /system/app folder as vending.apk. but it doesn't actually replace the stock market anywhere else. I actually spent several hours today trying to get the market back because I got frustrated and went all delete happy in root explorer, lol.
As far as Theme Chooser goes, here is a decent tutorial, but I haven't taken the time to really try and change my whole MO to use it. I theme the aospCMod for the heroc without using the chooser app. You can also get some good tips on building themes for the chooser in the #aospbot irc channel. A few of the guys in there build themes for it.
View attachment 546902
Click to expand...
Click to collapse
Stupid question, but you are copying the vending file as Vending.apk and not vending.apk, correct?
Also, if you're using my themed market, there are only two icons that are customized. The rest looks stock.
Sent from my SAMSUNG-SGH-I897 using Tapatalk
wretchedlocket said:
Stupid question, but you are copying the vending file as Vending.apk and not vending.apk, correct?
Also, if you're using my themed market, there are only two icons that are customized. The rest looks stock.
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Click to expand...
Click to collapse
Yeah the file is Vending.apk but its my themed market.
Sent from my NookColor using Tapatalk
PMDColeslaw said:
Yeah the file is Vending.apk but its my themed market.
Sent from my NookColor using Tapatalk
Click to expand...
Click to collapse
Sorry for the delay in response. I had too many things to do with the family yesterday.
If you haven't got this working yet, I'd suggest trying to start with removing just the /system/app/Vendind.apk file via the updater-script. If it works, then go back in and add each additional line until you run into problems again. At that point, you'll know what your problem is.
Since everything else (framework-res.apk, services.jar, etc.) gets replaced successfully, leave those lines alone. I'd just start with the basics of replacing the Vending.apk first and then work your way back up from there.

Volume Slider Color

I'm wanting to change the color of the slider when you turn your volume up and down from yellow to another color. I'm running CM7 fascinatemtd ROM by JT, I know which folder it's in and how to do it. My question is, I use Apk Manager to decomplie my framework-res.apk which was pulled from the ROM using 7zip, I've decompiled the apk, edited the XML file, when I went to recompile the framework-res apk using option 11, a error pop up and told me to read the log, I hit enter, answered yes to system question, then went to keep folder and deleted the resources file as instructed, and hit enter, I was left with an unsigned framework-res.apk file, renamed it to framework-res.apk, and pushed it back into ROM with 7zip, rebooted recovery, cleared caches, and installed ROM, but phone wouldn't boot up. So what am I doing wrong...
Obviously not
Sent from my SCH-I500 using XDA App
What color do you want the slider man
Sent from my SCH-I500 using XDA App
Blue would match my theme the HEX code is 11114b...
Sent from my SCH-I500 using XDA Premium App
If apkmanager errors common logic would dictate to read the log and see what is going wrong
Trying to flash a broken apk won't work obviously
I've gotten it to decompile and recompile bit the problem now os the changes I've made don't show up I'm not getting any errors before I was ising a ROM that I themed so I went back and used the original ROM how do I get the changes to stay...
Sent from my SCH-I500 using XDA Premium App
And you're trying to edit progress_horizontal.xml? And changing code to ff11114b leaving the "f's" in?
good day.
Yes
Sent from my SCH-I500 using XDA Premium App
I should rename unsigned framework.res to framework.res right...
Sent from my SCH-I500 using XDA Premium App
And during the compile process, you hit y for "system apk" and hit y for "would you like to copy over any files..............." and from the keep folder delete resources.arsc and continue to compile. And yes rename back to framework-res.apk.
good day.
Answered yes to system app and no to copy over files, didn't delete arsc and changes stayed, but if I install will I get boot loop since I didn't delete arsc....
Sent from my SCH-I500 using XDA Premium App
If I hit y to copy over files the changes don't stay only if I hit n
Sent from my SCH-I500 using XDA Premium App
it worked, by not copying over the files and not deleting the resources arsc file, does anyone know what the XML file name is for the download progress bar color is...and thanks for your help guys...
Here's what I would do if I was on Windows!
Download apktool & dependencies:
http://android-apktool.googlecode.com/files/apktool1.4.1.tar.bz2
http://android-apktool.googlecode.com/files/apktool-install-windows-r04-brut1.tar.bz2
Unpack both archives to your Windows folder. This will make apktool accessible through cmd anywhere.
CD in cmd window to the location of your apk, If you haven't already done so and install the resources by copying or pulling (framework-res.apk, twframework-res.apk for touchwiz) or (framework-res.apk, SystemUI.apk for GB). Once copied to the folder you are cd'd too...
Install the resources
apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
Decompile and make your changes..
apktool d framework-res.apk
Recompile when done
apktool b framework-res
If it built succesfully, then make a copy of your framework-res.apk. Then navigate to framework-res/build/apk! Open your copied apk with 7zip and drag n drop res & resources.arsc from framework-res/build/apk inside! Close it up..
Push and test.. On windows you may need to navigate to your sdk directory if not properly setup!
adb push "your_copied_file"/system/framework/framework-res.apk
If you get a failed to write to system, run this first.
adb shell su -c rw
YES got all progress bar colors changed to blue now my CM7 Fascinatemdt ROM is themed all of my drawable hdpi and XML files are complete I might post this as a theme, thank you for your help...
Sent from my SCH-I500 using XDA Premium App
notta said:
Here's what I would do if I was on Windows!
Download apktool & dependencies:
http://android-apktool.googlecode.com/files/apktool1.4.1.tar.bz2
http://android-apktool.googlecode.com/files/apktool-install-windows-r04-brut1.tar.bz2
Unpack both archives to your Windows folder. This will make apktool accessible through cmd anywhere.
CD in cmd window to the location of your apk, If you haven't already done so and install the resources by copying or pulling (framework-res.apk, twframework-res.apk for touchwiz) or (framework-res.apk, SystemUI.apk for GB). Once copied to the folder you are cd'd too...
Install the resources
apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
Decompile and make your changes..
apktool d framework-res.apk
Recompile when done
apktool b framework-res
If it built succesfully, then make a copy of your framework-res.apk. Then navigate to framework-res/build/apk! Open your copied apk with 7zip and drag n drop res & resources.arsc from framework-res/build/apk inside! Close it up..
Push and test.. On windows you may need to navigate to your sdk directory if not properly setup!
adb push "your_copied_file"/system/framework/framework-res.apk
If you get a failed to write to system, run this first.
adb shell su -c rw
Click to expand...
Click to collapse
will this work also when trying to decompile/recompile a non system app, like one from the market, that has dependencies
adude247 said:
will this work also when trying to decompile/recompile a non system app, like one from the market, that has dependencies
Click to expand...
Click to collapse
It will work with anything provided you have the resources. Some apk's are picky by means of what you can replace.
The method above is using apktool the way it is supposed to be used. That apkmanager thing sounded crazy with the delete this after that, hit y or n before this. Seems like alot of un-needed steps and confusion!
On linux it's even easier, pretty much fully auto!
notta said:
It will work with anything provided you have the resources. Some apk's are picky by means of what you can replace.
The method above is using apktool the way it is supposed to be used. That apkmanager thing sounded crazy with the delete this after that, hit y or n before this. Seems like alot of un-needed steps and confusion!
On linux it's even easier, pretty much fully auto!
Click to expand...
Click to collapse
yeah, I didn't delete anything just decompiled, edited the XML, and recompiled, that was the only way I could get the changes to stay. Any suggestions on what to use if the above resources don't work to get the apk to decompile, an example of an apk that I want to edit but cant get it to recompile after decompiling and editing the XMLs is....
adude247 said:
yeah, I didn't delete anything just decompiled, edited the XML, and recompiled, that was the only way I could get the changes to stay. Any suggestions on what to use if the above resources don't work to get the apk to decompile, an example of an apk that I want to edit but cant get it to recompile after decompiling and editing the XMLs is....
Click to expand...
Click to collapse
I can't and won't explain getting resources for market apps or generally someone else's work. However there are several ways to approach non-building apk's.
For example aapt has the capability to recompile standalone 9's as well as xml's, which can then be injected into the apk with the 7zip method. Especially useful for minor changes.
Another example for stubborn apk's would be the Eclipse or similar project. This is where you would partially build the files you wanted to change.
Thanks for the advice...
Sent from my SCH-I500 using XDA Premium App

[Q] Re-compile framework-res.apk

I am trying to make some minor changes to framework-res.apk in /res/values/bools.xml
I used apktool to decompile and make my changes but I am not sure how to properly re-compile.
Just "apktool b framework-res" errors out with invalid resource names.
Finally got it to re-compile by pasting the resource.arsc. from original apk(Dunno if this is correct way)
Then, after re-compile I paste the META-INF from the original apk.
I am hesitant to push this onto my phone now because to file sizes of the modified and original .apk differ by like 2mb. And theres 100 more files in /res of the modified .apk. (Now shows file I was trying to access by decompiling before)
Can I safely push the .apk? or am I doing it completly wrong?
Thanks!
( I did search forums and web before, but did not find anyone having to copy resource.arsc before re-compiling)
trailblazerz11 said:
I am trying to make some minor changes to framework-res.apk in /res/values/bools.xml
I used apktool to decompile and make my changes but I am not sure how to properly re-compile.
Just "apktool b framework-res" errors out with invalid resource names.
Finally got it to re-compile by pasting the resource.arsc. from original apk(Dunno if this is correct way)
Then, after re-compile I paste the META-INF from the original apk.
I am hesitant to push this onto my phone now because to file sizes of the modified and original .apk differ by like 2mb. And theres 100 more files in /res of the modified .apk. (Now shows file I was trying to access by decompiling before)
Can I safely push the .apk? or am I doing it completly wrong?
Thanks!
( I did search forums and web before, but did not find anyone having to copy resource.arsc before re-compiling)
Click to expand...
Click to collapse
FOr me, APKtool works as ****...
What you can do: pull /system/framework/framework-res.apk ~/backup
and then you can push. If it doesn't work, then boot into recovery, select mount system and push back the old one.
OT: I don't get why you should use original resources.arsc...
offtopic: when I decompile framework-res using apktool, I get other file structure then normal extract. example: my framework-res doenst have a raw-folder, but apktool decompiled has...
mDroidd said:
FOr me, APKtool works as ****...
What you can do: pull /system/framework/framework-res.apk ~/backup
and then you can push. If it doesn't work, then boot into recovery, select mount system and push back the old one.
OT: I don't get why you should use original resources.arsc...
offtopic: when I decompile framework-res using apktool, I get other file structure then normal extract. example: my framework-res doenst have a raw-folder, but apktool decompiled has...
Click to expand...
Click to collapse
This is due to the raw folder being combined into the resources file. Search for apkmultitool it is a far easier tool to use and will do everything you need. That goes for both posts
Before doing that, create a flashable zip containing the framework-res.apk file which you can use in case you get a black screen or something.
So that you don't have to restore.
You do realize that resources.arsc, aka resources directory is the collection of xml and other data. You take it from another ROM, how on earth will your xml edits be preserved?
Sent from my HTC Desire using Tapatalk
I need to edit the bools.xml file in framework-res.apk and an a bit stuck on the apktool. I used the APK Multitool to decompile the framework-res.apk file. I then used notepad++ to edit the bools.xml file. I then recompiled it using the APK Multitool and pushed it to /system/framework overwriting the original (after first making a copy of the original). On reboot the phone is stuck in a boot loop.
I managed to use ADB shell to restore the original file and it now boots (I lost all the synchronise stuff but not a big deal). So I have been searching and have found various posts about the later versions of apktool not working very well.
I have a fairly clean Windows 7 x86 installation with Java 1.6 and am using this to do the work on. Can someone point me in the right direction as to how to edit/recompile the framework-res.apk file?
Andy
I actually also trying to edit bools.xml located in framework-res.apk
I'm using Apk Changer it may be easier.
after some tries (and bootloops) I've managed to do some changes in framework-res : replacing pictures -> It works
after decompiling the apk, when I edit values within bools.xml , & then choose to compile, it creates a folder called "keep" and i have to delete edited files in that folder so as to replace them by my customized files.
BUT I don't find the folder "values" that contains bools.xml . Therefore, the generated apk will not make changes done in bools.xml .
Does anyone has any idea about Editing that xml ?
More details & Tuto :
http://forum.xda-developers.com/showthread.php?t=916814
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showpost.php?p=9978779&postcount=62
@ADB100
Advanced Decompiling
Sometimes, you have that pesky app that just won't decompile correctly. Usually, it's an app related to others, like a proprietary system app based off framework-res.apks.
When this happens, you need to ensure that the frameworks are there to have the app's recourse tables properly compile.
For either apktool or apk manager, find a folder on your computer called "apktool."
The should be a folder in here called "framework," and inside that, a 1.apk.
For an app that is dependent on the framework-res.apk in a specific phone/rom, take the framework-res.apk for that rom and rename it 1.apk.
Replace the default one in the folder with yours.
If there's a second one, like the twframework-res.apk for Samsung phones, rename it 2.apk and place it in the "framework" folder.
Now, decompile like normal, and everything should be good
//By theimpaler747
Click to expand...
Click to collapse
-Yasser-
-yasser- said:
I actually also trying to edit bools.xml located in framework-res.apk
I'm using Apk Changer it may be easier.
after some tries (and bootloops) I've managed to do some changes in framework-res : replacing pictures -> It works
after decompiling the apk, when I edit values within bools.xml , & then choose to compile, it creates a folder called "keep" and i have to delete edited files in that folder so as to replace them by my customized files.
BUT I don't find the folder "values" that contains bools.xml . Therefore, the generated apk will not make changes done in bools.xml .
Does anyone has any idea about Editing that xml ?
More details & Tuto :
http://forum.xda-developers.com/showthread.php?t=916814
http://forum.xda-developers.com/showpost.php?p=9066440&postcount=1
http://forum.xda-developers.com/showpost.php?p=9978779&postcount=62
@ADB100
-Yasser-
Click to expand...
Click to collapse
The values folders get compressed into the resources.arsc file so in the keep folder delete this file and your changes will stick
not sure if you got this figured out yet but if not heres how the whole process should go.
Code:
apktool if framework-res.apk
if on a sense based rom do this too
Code:
apktool if com.htc.resources.apk
change to the directory where your framework-res.apk is
Code:
apktool d -f framework-res.apk out
or something like this if apktool is not in your path
Code:
apktool d -f ~/Desktop/framework-res.apk ~/Desktop/out
easy way to build is to cd to out folder
Code:
cd ~/Desktop/out
to build apk
Code:
apktool b
then just sign apk if needed
if you are on linux you can try this:
http://forum.xda-developers.com/showthread.php?t=1446233
wes342 said:
not sure if you got this figured out yet but if not heres how the whole process should go.
Code:
apktool if framework-res.apk
if on a sense based rom do this too
Code:
apktool if com.htc.resources.apk
change to the directory where your framework-res.apk is
Code:
apktool d -f framework-res.apk out
or something like this if apktool is not in your path
Code:
apktool d -f ~/Desktop/framework-res.apk ~/Desktop/out
easy way to build is to cd to out folder
Code:
cd ~/Desktop/out
to build apk
Code:
apktool b
then just sign apk if needed
if you are on linux you can try this:
http://forum.xda-developers.com/showthread.php?t=1446233
Click to expand...
Click to collapse
Thanks for this. This is what I have done but it hasn't worked for me so far. I am not sure whether I need to sign the file or not - I suspect I do?
Apart from the boot-loop another thing that worries me is the file sizes - the original framework-res.apk is 6,135,120-bytes whilst the new one is 3,319,608-bytes.
My ROM is based on the stock rooted 3.12.405.1 by nitro. The framework-res.apk already had a modification (the default wallpaper was changed) and I changed this back by just replacing the image in the .apk from WinRar and this worked fine. I want to edit the bools.xml file and get it back into the resources.arsc file.
Andy
ADB100 said:
Thanks for this. This is what I have done but it hasn't worked for me so far. I am not sure whether I need to sign the file or not - I suspect I do?
Apart from the boot-loop another thing that worries me is the file sizes - the original framework-res.apk is 6,135,120-bytes whilst the new one is 3,319,608-bytes.
My ROM is based on the stock rooted 3.12.405.1 by nitro. The framework-res.apk already had a modification (the default wallpaper was changed) and I changed this back by just replacing the image in the .apk from WinRar and this worked fine. I want to edit the bools.xml file and get it back into the resources.arsc file.
Andy
Click to expand...
Click to collapse
No you don't have to sign the framework API. System apks are signed. What edits are you trying to do?
zelendel said:
No you don't have to sign the framework API. System apks are signed. What edits are you trying to do?
Click to expand...
Click to collapse
All I want to edit is the bools.xml file so I can enable the SIP client to work over 3G: i.e. change this line in the file and re-cook it
Code:
<bool name="config_sip_wifi_only">true</bool>
This is potentially the 1st step though. If I can sucessfully edit this then I will probably try other things.
Andy
ADB100 said:
All I want to edit is the bools.xml file so I can enable the SIP client to work over 3G: i.e. change this line in the file and re-cook it
Code:
<bool name="config_sip_wifi_only">true</bool>
This is potentially the 1st step though. If I can sucessfully edit this then I will probably try other things.
Andy
Click to expand...
Click to collapse
Ok so here is a step by step that I have used to make just this edit.
Apkmultitool is the one I use.
1. Decompile the apk
2. Change the false to true
3. Compile with option 11
4. In the keep folder delete the resource.asc file and then finish compiling.
5. Put New apk in zip removing the unsigned so it is named properly
6. Flash
zelendel said:
Ok so here is a step by step that I have used to make just this edit.
Apkmultitool is the one I use.
1. Decompile the apk
2. Change the false to true
3. Compile with option 11
4. In the keep folder delete the resource.asc file and then finish compiling.
5. Put New apk in zip removing the unsigned so it is named properly
6. Flash
Click to expand...
Click to collapse
OK - just removed and reinstalled APK Multitool, verified the path environment variable and followed these steps - Step 3 where it asks whether this is a system apk I said yes and when it asks about copying files I said yes. The resulting file is now 5,653KB compared to the original that is 5,992KB. I assume the difference is the lack of signing?
Does this sound right?
Andy
ADB100 said:
OK - just removed and reinstalled APK Multitool, verified the path environment variable and followed these steps - Step 3 where it asks whether this is a system apk I said yes and when it asks about copying files I said yes. The resulting file is now 5,653KB compared to the original that is 5,992KB. I assume the difference is the lack of signing?
Does this sound right?
Andy
Click to expand...
Click to collapse
That and the compression level that is used. It will also change if you optimize the pngs. Nothing to really worry about
I am obviously doing something fundamentally wrong
I followed the instructions to the letter, created the unsignedframework-res.apk, renamed it, pushed it to to my device (adb remount, adb push framework-res.apk system/framework/framework-res.apk) and rebooted - boot loop. Tried signing it with APK Multitool and then pushing this file. This time it booted but I had forced close on all sorts of things. Restored the original file and it is working again but all the sync stuff has screwed up meaning I need to re-flash as my ROM has stuff in /data that will get wiped if I do a factory reset.
Any other pointers or do you want to try editing the file for me and I'll see if yours works? I have attached the original file.
Andy
ADB100 said:
I am obviously doing something fundamentally wrong
I followed the instructions to the letter, created the unsignedframework-res.apk, renamed it, pushed it to to my device (adb remount, adb push framework-res.apk system/framework/framework-res.apk) and rebooted - boot loop. Tried signing it with APK Multitool and then pushing this file. This time it booted but I had forced close on all sorts of things. Restored the original file and it is working again but all the sync stuff has screwed up meaning I need to re-flash as my ROM has stuff in /data that will get wiped if I do a factory reset.
Any other pointers or do you want to try editing the file for me and I'll see if yours works? I have attached the original file.
Andy
Click to expand...
Click to collapse
I've tried to change it for you,
Code:
<bool name="config_sip_wifi_only">false</bool>
The file size is reduced to 3.23 Mb maybe it's bcz of optimizing effect..
check if it works .
-Yasser-
-yasser- said:
I've tried to change it for you,
Code:
<bool name="config_sip_wifi_only">false</bool>
The file size is reduced to 3.23 Mb maybe it's bcz of optimizing effect..
check if it works .
-Yasser-
Click to expand...
Click to collapse
Hi
Thanks for this. Just renamed this and pushed it to my DHD, rebooted and yep it works. I haven't built a ROM with it yet but this tells me something is wrong at my end....
I have a fairly vanilla Dell PC with Windows 7 Ultimate x86 OEM. I have installed the DSIXDA kitchen and have been building ROMs for my DHD for a while. I have some of the Android SDK installed but maybe not all or updated (not sure if this is a problem?) but enough for adb.exe to work? I have installed the APK Multitool (obviously) and some other utilities (Ultimate Multi Tool, HTC Sync)
Other than that its a pretty clean machine - Microsoft Security Essentials and WinRar is all that's installed. This is a spare PC that I wiped recently and installed Windows 7 on and all I am really using it for is making android ROMs.
EDIT: Just built a ROM with this framework-res.apk as swapping this after I have configured account sync seems to screw the accounts up (they sync but aren't displayed in Settings, Accounts & Sync). Anyway the ROM built OK and its all working. I'd really like to know what I am doing wrong with editing the APK?
Andy
OK.
I don't really know what's wrong with your PC, or procedure ..
I'll tell you what I am doing, that may helps.
I'm using apk changer . download it from here
I think It's nearly the same as other tools, although you can try it.
For editing framework-res.apk,
first open cmd : cd <..>\apk_changer\other (folder containing apktool.jar)
then type : java -jar apktool.jar if <PATH To>\framework-res.apk
It should tell you that "framework installed to ..."
Now put your framework-res.apk in "place-files-here-for-modding"
and run apkchanger.bat choose 1 (decompile) and 3 (for sources & resources)
Do your modifications.
then return to bat, type 3 (compile). yes for system apk & yes for replacing original files.
a 'keep' folder will be created, delete resources.asc inside it.
type enter within cmd & you're done . check the new file in "place-files-here-for-modding" (unsignedframework-res.apk)
Yasser
-yasser- said:
OK.
I don't really know what's wrong with your PC, or procedure ..
I'll tell you what I am doing, that may helps.
I'm using apk changer . download it from here
I think It's nearly the same as other tools, although you can try it.
For editing framework-res.apk,
first open cmd : cd <..>\apk_changer\other (folder containing apktool.jar)
then type : java -jar apktool.jar if <PATH To>\framework-res.apk
It should tell you that "framework installed to ..."
Now put your framework-res.apk in "place-files-here-for-modding"
and run apkchanger.bat choose 1 (decompile) and 3 (for sources & resources)
Do your modifications.
then return to bat, type 3 (compile). yes for system apk & yes for replacing original files.
a 'keep' folder will be created, delete resources.asc inside it.
type enter within cmd & you're done . check the new file in "place-files-here-for-modding" (unsignedframework-res.apk)
Yasser
Click to expand...
Click to collapse
Hi
Thanks for replying. I am going to wipe and reinstall Windows 7. I know it seems a bit drastic but its the only way I can eliminate it - plus its just a PC in the corner that has no important stuff (apart from the android stuff) on it.
Andy

[Q] Modifying SystemUI.apk xml file

I am using kyanROM and love it! One little tweak I was looking to make was in the notification it has kyanROM along the bottom. I was looking to replace that with my nickname. I am new to modding Android, so any help or tips would be appreciated.
Here are the steps I took and the issues I encountered:
Using NinjaMorph I extracted/decompiled SystemUI
I copied the files over to my PC
Looking through the files (not an exhaustive search mind you), I found one, tw_status_bar_tracking.xml, that had android:text="@string/kyanROM and android:layout_gravity="bottom". This looked promising to me, so I changed kyanROM to the name I wanted to use.
After saving, I copied this file back to my phone and opened the projected in NinjaMorph and said replace the original xml file with my new xml file.
"Finished" the project and closed out NinjaMorph.
Immediately experienced issues. SystemUI stopped working. Rebooting did nothing. So I restored my nandroid backup in order to start over. Back in NinjaMorph, I extracted SystemUI again and copied all files to my PC. Searching the contents of all files (a more exhaustive search) I found 4 instances of the phrase kyanROM:
First was the original in tw_status_bar_tracking.xml and said android:text="@string/kyanROM"
Second is in values\public.xml and says <public type="string" name="kyanROM" id="0x7f0800cd" />
The last two hits are from the same line in values\strings.xml and say <string name="kyanROM">kyanROM</string>
Now, assuming I'm correct that I need to mod SystemUI, after looking at the search results I'm thinking the change I need to make is to the last hit on my search, thus making it <string name="kyanROM">myName</string>. Then, when tw_status_bar_tracking.xml looks for the string kyanROM, it will display myName.
So, am I correct that in order to make this change I need to be in SystemUI? And If that is correct, is my proposed change correct - modifying the strings.xml file to show <string name="kyanROM">myName</string>?
If I do those, go into NinjaMorph and say to replace the original file with my new file I then should see myName along the bottom of the notification dropdown. Thoughts???
So I started over, this time I pulled the SystemUI.apk using adb. Then using apktool I did "apktook if SystermUI.apk". Then, apktool d SystermUI.apk ./mod". Found the file I *think* I need to modify (\values\strings.xml) and replaced kyanROM with myName. Saved the file.
Now I'm trying to recompile the file. I run the following apktool b -f -d mod. When I run this I get the error: Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml.
1) Am I modifying the correct file to place myName at the bottom of the notification screen?
2) How do I fix the PathNotExist error? I've looked at some solutions, but none seem to have worked.
Actually you need framework-res.apk from /system/framework installed through apk tool.
Pull framwork-res.apk and install it as you did for systemui.
After installing framework,type
apktool d systemui.apk
Now make the necessary changes and type
apktool b systemui
To recompile it back.
Note:after you recompile,you need to add meta-inf folder from original apk to your new recompiled apk to make it work.
Sent from my GT-N7000 using xda app-developers app
OK, I think I'm with you.
I need both SystemUI and framework-res in order to modify SystemUI
Install both (apktool if NameOfApk.apk)
decompile (apktool d SystemUI.apk)
make changes
recompile (apktool b SystemUI) but not the framework-res since I made no changes to it
And thanks for the tip about adding the meta-inf folder. I knew this, but since I never gotten that far to test, I'd probably forget to do that.
cyberpac9 said:
OK, I think I'm with you.
I need both SystemUI and framework-res in order to modify SystemUI
Install both (apktool if NameOfApk.apk)
decompile (apktool d SystemUI.apk)
make changes
recompile (apktool b SystemUI) but not the framework-res since I made no changes to it
And thanks for the tip about adding the meta-inf folder. I knew this, but since I never gotten that far to test, I'd probably forget to do that.
Click to expand...
Click to collapse
Installing framework-res.apk alone is enough if you have Samsung phone and have the latest apktool...
Sent from my GT-N7000 using xda app-developers app
vijai2011 said:
Installing framework-res.apk alone is enough if you have Samsung phone and have the latest apktool...
Sent from my GT-N7000 using xda app-developers app
Click to expand...
Click to collapse
OK, I installed both - no harm I guess. So I have made all my changes, updated the apk with the meta folder, etc. I'm ready to push this over to my phone. Using adb, do I need to remount or can I just do the following: adb push S:\apk\SystemUI.apk /system/app/
Well, I took a shot and just did the adb push without remount. I think it worked. We'll see if there are any issues moving forward. Yay! Many thanks....
edit: I noticed it reset my wallpaper, easy fix. Wonder if anything else would've been reset by this change?

[Q] Adding more languages to MOTO E and How to edit the boot.img ?

So I bought this little phone and I was baffled that there are so few language options to select.
The phone is for my father (the english evades him) therefore I need my mother language on it.
Phone Version XT1021
OS:
Android 4.4.2 Blur_Version.20.11.14.condor_retaildsds.retaildsdsall.en.03 Updated to 4.4.4, rebuilt in a deodexed ZIP file, and a system.img file
Ho needs it, I can upload it, I have either the update.zip or system/boot img files.
What I tried:
I tried to recompile the framework-res, system and other 15~20 apps, on some it worked on some it did not.
I am using the Nexus 5 translations files
On those that worked I managed to activate them by using a morelocale app from market and the translations work just fine.
On systemUI.apk I am getting force close
On framework-res.apk the phone freezes.
How I decompile/recompile and test the apps.
1) Decompile the app
2) Add the new values
4) Recompile
5) Copy the new app created app and the original one in a folder.
6) Open both apps
7) Drag and drop the resources.asrc file in the original apk and when you are asked how would you like to compress the file, I select STORE (I use winrar)
So if anyone managed to edit the framework app, systemUI and he is kind to share how he did it without getting any bootloops and force close, I would be very appreciative.
Now, regarding the boot.img
I tried to unpack it, using the classic method, it unpacks ok, the problem is on repacking,
Is there a special tool to do it or what ?
Why do i need
I need the adb.secure to be 0, and also the security off, so I can be able to use ADB REMOUNT and monitor adb logcat since the device starts. and also to be able to push apps to system using adb.
So, ho has the information and he is kind to share ?
here is the proper way to decompile and recompile the apk in a proper way
1. Make sure you have the latest version of the apktool
2. install the framework (try using 4.4.2 framework if 4.4.4 one gives error)
3. Decompile make changes
4. Choose option compile system app in apktools
5. now when it asks to delete all the things you have modified then delete the res and resources.arsc file and if you have made any smali changes delete the classes.dex too
6. go back to script and press enter
7. now open both MODIFIED APK and UNMODIFIED APK and then DRAG AND DROP androidmanifest.xml and meta inf from UNMODIFIED TO MODIFIED APK
8. push it and set rw-r-r permission
and if you are getting the error unable to remount then install adb insecure app by chainfire
thats it
happy modding
any help comment below by quoting or mentioning my name(i get notification so that i can give quick responce )
Prashanth Meesara: said:
here is the proper way to decompile and recompile the apk in a proper way
1. Make sure you have the latest version of the apktool
2. install the framework (try using 4.4.2 framework if 4.4.4 one gives error)
3. Decompile make changes
4. Choose option compile system app in apktools
5. now when it asks to delete all the things you have modified then delete the res and resources.arsc file and if you have made any smali changes delete the classes.dex too
6. go back to script and press enter
7. now open both MODIFIED APK and UNMODIFIED APK and then DRAG AND DROP androidmanifest.xml and meta inf from UNMODIFIED TO MODIFIED APK
8. push it and set rw-r-r permission
and if you are getting the error unable to remount then install adb insecure app by chainfire
thats it
happy modding
any help comment below by quoting or mentioning my name(i get notification so that i can give quick responce )
Click to expand...
Click to collapse
I will try like this, thx for the input.
globula_neagra said:
I will try like this, thx for the input.
Click to expand...
Click to collapse
Anytime bro . if you get any errors I will help you on Teamviewer
Sent from my Moto E using XDA Free mobile app
I managed to add the language using your method, only with one mention, I think on framework you have to select STORE when you add the file to the archive.

Categories

Resources