*Thanks to sleshepic for pointing out this fix!*
Download (apktool.jar modded for ICS):
https://docs.google.com/file/d/0B5fEJ4OaoRriNTk0Y2VkYTMtYWVmMy00ODQyLWI3ZmYtOTUyM2FlYWFiNzg4/edit#
Replace the original one in your ApkTool or APK Manager with the one above
You should be good to go!
Ok now, I know FB17 is far from a production state but simple things need to be changed such as xml edits for CRT, Clock Color, and SystemUI edits.
So far I have tried using both APKTool & APK Multi Tool (APK Manager) and updating the apktool.jar & aapt.exe in all of them with no luck. I have tried these methods on both AOSP ICS ROMS & our FB17 TW Rom so it is not Samsung related.
With APK Manger I am able to edit framework & twframework and recompile but you always end up with this result no matter what you change, big or small.
{
"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"
}
With APKTool I can decompile both frameworks but the compile just errors out:
Code:
Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:\Windows\system32>cd C:\apktools
C:\apktools>java -jar apktool.jar b framework-res.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:142)
at brut.androlib.Androlib.build(Androlib.java:159)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:
103)
at brut.androlib.Androlib.readMetaFile(Androlib.java:138)
... 4 more
C:\apktools>
So I am at a loss there.
With the SystemUI it is another story, I am unable to get it to decompile at all.
Code:
C:\apktools>java -jar apktool.jar d SystemUI.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
I: Baksmaling...
Exception in thread "main" java.lang.RuntimeException: bad magic value: 64 65 78 0a 30 33 36 00
at org.jf.dexlib.DexFile.<init><DexFile.java:377>
at org.jf.dexlib.DexFile.<init><DexFile.java:274>
at brut.androlib.src.SmaliDecoder.decode<SmaliDecoder.java:44>
at brut.androlib.src.SmaliDecoder.decode<smaliDecoder.java:33>
at brut.androlib.Androlib.decodeSourcesSmali<Androlib.java:68>
at brut.androlib.ApkDecoder.decode<ApkDecoder.java:85>
at brut.apktool.Main.cmdDecode<Main.java:128>
at brut.apktool.Main.main<Main.java:65>
I am really not sure what any of this means but I followed the instructions to set up for ICS here:
http://forum.xda-developers.com/showthread.php?t=1365810
The thread link above has a ton of information and if the tools would work we could implement this stuff.
* is just a way of number, I didn't put this in the command *
EDIT: (This is my setup for apktool)
Yes this is the process I did.
C:\apktools is where my apktool is
Therefore I placed framework-res.apk, twframework-res.apk, & SystemUI.apk in that folder.
This is what I did:
* java -jar apktool.jar if framework-res.apk
(moved to apktool folder as 1.apk)
* java -jar apktool.jar if twframework-res.apk
(moved to apktool folder as 2.apk)
* java -jar apktool.jar d twframework-res.apk
(extracts it into a folder)
* (deleted apktool.yml and ran this)
java -jar apktool.jar b framework-res.apk
Then I get the error. I get an instant error upon trying to decompile SystemUI.
I have the errors listed in my thread. I also tried the method you stated about:
java -jar apktool.jar b framework-res framework-res2.apk
Click to expand...
Click to collapse
If anyone has gotten this to work or knows a resolution lets get it going so we can all start to Theme this TouchWiz ICS stuff.
Mine........
Mine also
I haven't tried yet but have you updated your sdk then copied over the new aapt? Also have you switched out the user/apktool/ framework/1 with the new framework? Also make twframework 2. Sorry if you have already tried these.
*edit ignore the aapt part ssconcepts has already tried that.
Sent from my SPH-D710 using Tapatalk
Do you get errors on framework recompiling even if you dont edit anything? Framework is recompiling without errors here, a few images def cause issues without any reason i can find every now and then, but on the whole i can get it to recompile without errors...
Sent from my SPH-D710 using xda
dtm_stretch said:
I haven't tried yet but have you updated your sdk then copied over the new aapt? Also have you switched out the user/apktool/ framework/1 with the new framework? Also make twframework 2. Sorry if you have already tried these.
*edit ignore the aapt part ssconcepts has already tried that.
Sent from my SPH-D710 using Tapatalk
Click to expand...
Click to collapse
Yes I did that.
sleshepic said:
Do you get errors on framework recompiling even if you dont edit anything? Framework is recompiling without errors here, a few images def cause issues without any reason i can find every now and then, but on the whole i can get it to recompile without errors...
Sent from my SPH-D710 using xda
Click to expand...
Click to collapse
framework-res.apk & twframework-res.apk both compile without errors as I stated when using APK Manager/APK Multi Tool but It will not compile for me with apktool. Even when it doesn't error, the result is shown in the screenshot above.
This is my apktool setup as based on the link in OP.
* is just a way of number, I didn't put this in the command *
EDIT: (This is my setup for apktool)
Yes this is the process I did.
C:\apktools is where my apktool is
Therefore I placed framework-res.apk, twframework-res.apk, & SystemUI.apk in that folder.
This is what I did:
* java -jar apktool.jar if framework-res.apk
(moved to apktool folder as 1.apk)
* java -jar apktool.jar if twframework-res.apk
(moved to apktool folder as 2.apk)
* java -jar apktool.jar d twframework-res.apk
(extracts it into a folder)
* (deleted apktool.yml and ran this)
java -jar apktool.jar b framework-res.apk
Then I get the error. I get an instant error upon trying to decompile SystemUI.
I have the errors listed in my thread. I also tried the method you stated about:
java -jar apktool.jar b framework-res framework-res2.apk
Click to expand...
Click to collapse
Well I just tried a test, only editing some xml colors [in values/styles, values/color and progress horizontal in drawable]. I'm sure I did the edits right, so I didnt expect the same issues with my settings menu, and status bar(its oversized and knocks other images lower than they should)
I also copied the resources, and drawable xml to an un-modded framework apk. So I suspect the issues we're seeing are in the recompiling of the resources file, even though I didnt get any errors.
Edit: I also noticed that I lose reboot options. Just asks whether I want to shut down yes/no
Same here, I think it is the way our tools are set up. But I did set mine up for ICS and even trying on ICS AOSP files I get same results. I don't see how others are doing it lol.
I got it to compile. I had to change the strings and plurals files
res\values\styles\strings.xml (I had to add)
<string name="mobileap_notification">.</string>
<string name="policylab_allow_htmlemail">.</string>
<string name="wifi_p2p_pbc_go_negotiation_request_message">.</string>
<string name="wifi_p2p_pin_display_message">.</string>
<string name="policydesc_allow_htmlemail">.</string>
<string name="wifi_p2p_pin_go_negotiation_request_message">.</string>
res\values-es\styles\strings.xml (I had to add)
<string name="policydesc_allow_htmlemail">.</string>
and all the plurals.xml files that have
<item quantity="other">%d of %d</item>
need to change to
<item quantity="other">%1$d of %2$d</item>
That is all I needed to do to get it to compile with no errors. I am guessing some things still need work on the decompiling process for ICS stuff.
I have no idea what those strings are suppose to be but putting anything in there will allow it to build
I think ICS is going to seperate the men from the boys when it comes to theming. Thanks to all of the names I see posting here......except isaint.....lololol
Sent from my SPH-D710 using xda premium
rujelus22 said:
I got it to compile. I had to change the strings and plurals files
res\values\styles\strings.xml (I had to add)
<string name="mobileap_notification">.</string>
<string name="policylab_allow_htmlemail">.</string>
<string name="wifi_p2p_pbc_go_negotiation_request_message">.</string>
<string name="wifi_p2p_pin_display_message">.</string>
<string name="policydesc_allow_htmlemail">.</string>
<string name="wifi_p2p_pin_go_negotiation_request_message">.</string>
res\values-es\styles\strings.xml (I had to add)
<string name="policydesc_allow_htmlemail">.</string>
and all the plurals.xml files that have
<item quantity="other">%d of %d</item>
need to change to
<item quantity="other">%1$d of %2$d</item>
That is all I needed to do to get it to compile with no errors. I am guessing some things still need work on the decompiling process for ICS stuff.
I have no idea what those strings are suppose to be but putting anything in there will allow it to build
Click to expand...
Click to collapse
Thanks! unfortunately I haven't been able to decompile the systemui.apk. no matter what method I try I get errors. any tips on decompiling systemui successfully? thx
---------- Post added at 10:00 PM ---------- Previous post was at 09:02 PM ----------
found this!!!
https://docs.google.com/leaf?id=0B5fEJ4OaoRriNTk0Y2VkYTMtYWVmMy00ODQyLWI3ZmYtOTUyM2FlYWFiNzg4&pli=1#
its a modded apktool jar to work with 4.0.3. put it in my apktool folder and presto! decompiled fine now. haven't even tested to see if it recompiles yet, so excited I had to post.
Edit: Apktool itself won't recompile correctly, even without edits. So I transferred the decompiled Systemui folder from Apktool into my Apkmanager "projects" folder(with the systemui.apk in the "modding" folder) and it recompiled without errors. psyched...
rujelus22 said:
I got it to compile. I had to change the strings and plurals files
res\values\styles\strings.xml (I had to add)
<string name="mobileap_notification">.</string>
<string name="policylab_allow_htmlemail">.</string>
<string name="wifi_p2p_pbc_go_negotiation_request_message">.</string>
<string name="wifi_p2p_pin_display_message">.</string>
<string name="policydesc_allow_htmlemail">.</string>
<string name="wifi_p2p_pin_go_negotiation_request_message">.</string>
res\values-es\styles\strings.xml (I had to add)
<string name="policydesc_allow_htmlemail">.</string>
and all the plurals.xml files that have
<item quantity="other">%d of %d</item>
need to change to
<item quantity="other">%1$d of %2$d</item>
That is all I needed to do to get it to compile with no errors. I am guessing some things still need work on the decompiling process for ICS stuff.
I have no idea what those strings are suppose to be but putting anything in there will allow it to build
Click to expand...
Click to collapse
framework or systemui? I can get them to compile just fine, they just don't work right. systemui is the one that doesn't work for me at all.
sleshepic said:
Thanks! unfortunately I haven't been able to decompile the systemui.apk. no matter what method I try I get errors. any tips on decompiling systemui successfully? thx
---------- Post added at 10:00 PM ---------- Previous post was at 09:02 PM ----------
found this!!!
https://docs.google.com/leaf?id=0B5fEJ4OaoRriNTk0Y2VkYTMtYWVmMy00ODQyLWI3ZmYtOTUyM2FlYWFiNzg4&pli=1#
its a modded apktool jar to work with 4.0.3. put it in my apktool folder and presto! decompiled fine now. haven't even tested to see if it recompiles yet, so excited I had to post.
Edit: Apktool itself won't recompile correctly, even without edits. So I transferred the decompiled Systemui folder from Apktool into my Apkmanager "projects" folder(with the systemui.apk in the "modding" folder) and it recompiled without errors. psyched...
Click to expand...
Click to collapse
Very nice find and thanks for sending this to me, I am about to give it a little test run!
sleshepic I can't thank you enough!
Sent from my SPH-D710 using XDA App
The problem with apktool is that it can't decompile the classes.dex, so until it's updated, you can't decompile an apk that includes one. For apks that don't have one(like framework-res.apk), the only way I have found to decompile and compile an apk is to use 1.4.2 and compile with 1.4.3(both with the latest aapt). Techinically if your not going to edit the smali's you can remove the classes.dex from the apk, decompile, mod, compile & then reinsert the classes.dex afterwards
Calkulin said:
The problem with apktool is that it can't decompile the classes.dex, so until it's updated, you can decompile a apk that includes one. For apks that don't have one(like framework-res.apk), the only way I have found to decompile and compile an apk is to use 1.4.2 and compile with 1.4.3(both with the latest aapt). Techinically if your not going to edit the smali's you can remove the classes.dex from the apk, decompile, mod, compile & then reinsert the classes.dex afterwards
Click to expand...
Click to collapse
Good to know, thx Calk!
Sent from my SPH-D710 using xda premium
Can someone post there whole setup for apktool that there using to decompile? I'm able to decompile but when i transfer over the folder to apk manager i get errors. Thanks
What are your errors? Is it something simple like " file has not been extracted yet" or something much longer?
Sent from my SPH-D710 using xda premium
I am using APK Manager 5.0.2, I can try to post it up in a bit, got some homework to do.
Related
Update 05/30/12
Click here for the ICS version!
Greetings and Salutations, Epic 4G Touch Owners and other curious parties!
UPDATE!!!!!
Method now uses smali/baksmali to avoid errors with apktool.
Disclaimer: Just reading this may cause your head to burst, your phone to catch fire, dogs and cats may do the tango! I am not responsible for any bad stuff that happens from you reading or acting on the information in this thread.
If any ROM authors want to use this fix in their ROMs, I'm completely cool with that. A quick kudos in your credits section would be nice, though.
Background: One of the things that really peeves me off about Sprint is that they want us to think we always have 3G service. I know that I don't have 3G in all of the areas I travel, and I also don't when I am roaming.
Thankfully, the fix is quite simple! It was a bit more difficult than the fix for HTC Sense ROMs as the smali edit was not quite as simple.
This was my primary reason for rooting my phone, that's how aggravating it is for me.
Let's change 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"
}
To this:
Credits
crawrj - For providing the stock ROM for me to fiddle with.
Calkulin - (indirectly) helped me find how to fix this for Sense ROMs which I wrote up here.
Samsung - for a relatively good phone. Hopefully the weird auto-brightness and battery life will be fixed next update.
The brave XDA members who try these instructions and report their success or failure!!!
XDA for being a great source of information!!!
XDA members for thinking outside of the box!!!
The fix:
This fix requires editing your SystemUI.apk file. If you are using one of the fine custom ROMs on XDA, be aware that the you or the author may have already made changes to the SystemUI.apk file, so using my file IS NOT RECOMMENDED.
If you are using the Stock Deodexed EG30 ROM, you can safely use my attached SystemUI.apk file. It may work with other "stock" ROMs, but this is the one I based it on.
This mod relies on the assumption that your ROM developer has not deleted any of the 1x graphic files in the ROM. The developer CAN theme or otherwise change the images as long as the file names remain the same.
What you need to perform this mod:
1. An Epic 4G Touch ROM ZIP file, or a phone running a Epic 4G Touch ROM -- AOSP ROMs already have the correct indicators.
2. The Java SDK -- So you can run Smali.
3. Smali/Baksmali -- So you can decompile/compile the classes.dex file.
4. Android SDK -- To push/pull files from your phone (adb only).
5. Some sort of archive tool (such as WinRAR, 7zip, etc).
5. A text editor capable of editing UNIX-formatted files. I recommend Notepad++, personally.
Ease Of Use Tips: Install Java SDK first, then Android SDK (if you need adb). Download the smali files (smali-1.2.8.jar and baksmali-1.2.8.jar at the time of this writing) to a new "working" folder where we can do our magic.
KEEP A COPY OF YOUR PRE-EDITED SYSTEMUI.APK FILE, just in case!
Instructions:
1a. [If you are using a ROM ZIP File]: Use 7zip/WinRAR/WinZip to open the ROM ZIP file. Navigate to system\app and extract SystemUI.apk to your "working" folder.
1b. [If you want to grab SystemUI.apk from your running phone]: Use adb to pull SystemUI.apk to your working folder. Example: adb pull /system/app/SystemUI.apk C:\Working\SystemUI.apk
To avoid problems, ONLY USE adb to pull/push SystemUI.apk. Phone apps may cause unknown issues.
2. Open SystemUI.apk in 7zip/WinRAR/WinZip (it's really a ZIP file) and extract classes.dex to your "working" folder.
3. Go to a command prompt in your "working" folder and run the following command: java -jar baksmali-1.2.8.jar -o SystemUI/ classes.dex
4. Browse to your "working" folder and see that there is now an SystemUI folder inside, with other subfolders. Browse to SystemUI\smali\com\android\systemui\statusbar\policy.
5. Edit the file called StatusBarPolicy.smali with your favorite UNIX-format compatible text editor and look for the following text. The key is to search for .line 1567. Edit the line below that is in BOLD.
Code:
.line 1567
:pswitch_5e
[B] sget-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sDataNetType_3g:[[I[/B]
iget v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDataIconList:[I
goto :goto_23
5. Change that line to say sget-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sDataNetType_1x:[[I
7. Save StatusBarPolicy.smali
8. Go back to your command prompt, change to your "working" folder and issue the following command: java -jar smali-1.2.8.jar SystemUI/ -o newclasses.dex
9. If there weren't any errors, go ahead and rename the original classes.dex to classes.old and rename newclasses.dex to classes.dex.
10. Open SystemUI.apk in your favorite archiver (if you closed it earlier).
11. Drag the file called classes.dex from your "working" folder into SystemUI.apk and replace the one already in there.
12. Run the following commands to get the file on your phone:
Code:
adb remount
adb push SystemUI.apk /system/app/SystemUI.apk
adb shell stop
adb shell start
You should hear your bootup sound and then the changes should be instantly applied.
To Test:
1. Dial ##DEBUG# (##33284#) on your phone.
2. Enter your MSL (can be found by typing getprop ril.MSL from Terminal Emulator or adb shell).
3. Scroll to Others at the bottom of the list.
4. Click on HDR/1X Selection
5. Change from Hybrid Mode to CDMA Only Mode. This puts your phone in 1X only mode.
6. Press OK.
7. Verify 1X icon comes within 30 seconds, if you have service.
8. Repeat steps 4-7, substituting Hybrid Mode for CDMA Only Mode to switch back.
How I found this: Looking through a logcat as I tried to determine which of the many toggles in smali was responsible for 1x, I noticed that the line saying StatusBarPolicy( 6238) onDataconnectionStateChanged-S:1 T:6. When it would go back to 3G, it was S:1 T:7. Hence my choice of pswitch6.
Please let me know whether or not this worked for you. I'd like to make a list of ROMs (with applicable mods) this works for or doesn't work for.
I will do whatever I can to help if you are struggling. If there's something you don't understand, please let me know. I can update the instructions if I accidentally wrote something wrong.
Changelog
10/18/11 - Changed from apktool method to baksmali method because of Windows issues with apktool.
OLD (OUTDATED AND MAY NOT WORK) INSTRUCTIONS, FOR ARCHIVE
What you need to perform this mod:
1. An Epic 4G Touch ROM ZIP file, or a phone running a Epic 4G Touch ROM -- AOSP ROMs already have the correct indicators.
2. Apktool -- To extract the files we need to edit.
3. Android SDK -- To push/pull files from your phone (adb only).
4. Some sort of archive tool (such as WinRAR, 7zip, etc).
5. A text editor capable of editing UNIX-formatted files. I recommend Notepad++, personally.
Ease Of Use Tips: Install Android SDK (if you need adb). Download the apktool files to a new "working" folder where we can do our magic.
KEEP A COPY OF YOUR PRE-EDITED SYSTEMUI.APK FILE, just in case!
Instructions:
1a. [If you are using a ROM ZIP File]: Use 7zip/WinRAR/WinZip to open the ROM ZIP file. Navigate to system\app and extract SystemUI.apk to your "working" folder. Also grab framework-res.apk from system\framework.
1b. [If you want to grab SystemUI.apk from your running phone]: Use adb to pull SystemUI.apk and framework-res.apk to your working folder. Example: adb pull /system/app/SystemUI.apk C:\Working\SystemUI.apk and adb pull /system/framework-res.apk C:\Working\framework-res.apk To avoid problems, ONLY USE adb to pull/push SystemUI.apk. Phone apps may cause unknown issues.
2. Go to a command prompt in your "working" folder and run the following commands:
apktool if framework-res.apk
apktool d SystemUI.apk
3. Browse to your "working" folder and see that there is now an SystemUI folder inside, with other subfolders. Browse to SystemUI\smali\com\android\systemui\statusbar\policy.
4. Edit the file called StatusBarPolicy.smali with your favorite UNIX-format compatible text editor and look for the following text. The key is to search for pswitch_6 (you want the second result).
Code:
.line 1567
:pswitch_6
[B]sget-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sDataNetType_3g:[[I[/B]
iget v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDataIconList:[I
goto :goto_0
5. Change that line to say sget-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sDataNetType_1x:[[I
6. Save StatusBarPolicy.smali
7. Go to a command prompt in your "working" folder and run the following command: apktool b SystemUI SystemUIfixed.apk
8. If there are no errors, open SystemUI.apk and SystemUIfixed.apk in your archiver of choice (WinRAR, 7-zip, etc.)
9. Drag the file called classes.dex from SystemUIfixed.apk to SystemUI.apk and replace the one already in there.
10. Run the following commands to get the file on your phone:
a. adb remount
b. adb push SystemUI.apk /system/app/SystemUI.apk
c. adb shell stop
d. adb shell start
You should hear your bootup sound and then the changes should be instantly applied.
Thanks for this! Nicely done
journeyman73 said:
Thanks for this! Nicely done
Click to expand...
Click to collapse
Glad you like it. Let me know if you try it out and whether or not it works for you.
Will do, haven't done smali editing in a while, bout to give it a go.
nivron said:
7. Go to a command prompt in your "working" folder and run the following command: apktool b SystemUI SystemUIfixed.apk
Click to expand...
Click to collapse
just got an error at the step above
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\Denis\AppData\Local\Temp\APKTOOL6011639570221402409.tmp, -I, C:\Users\Denis\apktool\framework\1.apk, -S, D:\cell\apktool\SystemUI\res, -M, D:\cell\apktool\SystemUI\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\Denis\AppData\Local\Temp\APKTOOL6011639570221402409.tmp, -I, C:\Users\Denis\apktool\framework\1.apk, -S, D:\cell\apktool\SystemUI\res, -M, D:\cell\apktool\SystemUI\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
Click to expand...
Click to collapse
frifox said:
just got an error at the step above
Click to expand...
Click to collapse
Looks like it's having issues loading aapt. Which files did you download? The apktool-install-windows-r04-brut1.tar.bz2 and apktool1.4.1.tar.bz2, right? What folder did you put them into, and are you running the command from the same folder you extracted the apktool files into?
If you're using the file I listed above, and you have extracted apktool into the working folder (including aapt.exe and the JAR file from the other archive), could you try copying apktool.bat and aapt.exe into your Windows folder (or put the apktool folder in your PATH) and try again?
From the apktool webpage:
Windows:
Download apktool-install-windows-* file
Download apktool-* file
Unpack both to your Windows directory
Click to expand...
Click to collapse
nivron said:
Looks like it's having issues loading aapt. Which file did you download? The apktool-install-windows-r04-brut1.tar.bz2? What folder did you put it into, and are you running the command from the same folder you extracted aapt into?
If you're using the file I listed above, and you have extracted apktool into the working folder (including aapt.exe), could you try copying apktool.bat and aapt.exe into your Windows folder (or put the apktool folder in your PATH) and try again?
Click to expand...
Click to collapse
I got both aapt & apktool bat/jar files all in same folder (c:\cell\apktool) and am running the comands from that folder as well. Copying those files to Windows folder didn't work so i doubt its PATH issue.
frifox said:
I got both aapt & apktool bat/jar files all in same folder (c:\cell\apktool) and am running the comands from that folder as well. Copying those files to Windows folder didn't work so i doubt its PATH issue.
Click to expand...
Click to collapse
Very strange -- are you able to paste the entire log of what apktool shows when you try to recompile? Maybe there is something in there that is helpful.
nivron said:
Very strange -- are you able to paste the entire log of what apktool shows when you try to recompile? Maybe there is something in there that is helpful.
Click to expand...
Click to collapse
here's the full output... this time decompiled and recompiling without making any code changes:
http://pastebin.com/raw.php?i=z70Tx5HS
Click to expand...
Click to collapse
could it be that due to me trying to mod an apk from a custom rom, starburst v1.6?
frifox said:
here's the full output... this time decompiled and recompiling without making any code changes:
could it be that due to me trying to mod an apk from a custom rom, starburst v1.6?
Click to expand...
Click to collapse
Thanks for the log. It doesn't like the custom "9" PNGs. I haven't really messed around with those, but I'll see what I can do to fix it.
nivron said:
Thanks for the log. It doesn't like the custom "9" PNGs. I haven't really messed around with those, but I'll see what I can do to fix it.
Click to expand...
Click to collapse
Now that's really weird. I didn't have any problems doing it. I don't know if the custom "9" file is going to be broken, but you can try the attached file out if you like. There are other "9" files in the ROM that don't give me any sort of error. I wonder if there's just something wonky about that one particular file. Since I'm not using the "res" folder from the updated APK, the "9" files shouldn't really be touched, but YMMV.
Code:
[email protected]:~/android/apks$ apktool d SB1.6SystemUI.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: /home/nivron/apktool/framework/1.apk
I: Loaded.
I: Decoding file-resources...
W: Cant find 9patch chunk in file: "drawable-hdpi/status_bar_close_on.9.png". Renaming it to *.png.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
[email protected]:~/android/apks
Then I made the edit...
Code:
[email protected]:~/android/apks$ apktool b SB1.6SystemUI SB16SystemUIFixed.apk
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
[email protected]:~/android/apks
went to my linux box and tried it there, same error pushing your apk worked but can't test 3g/1x as my ##debug# doesnt work (tho ##data# does work). luckily the service here blows so i'm already seeing 1x icon here and there so i guess it worked
Glad it worked!
frifox said:
went to my linux box and tried it there, same error pushing your apk worked but can't test 3g/1x as my ##debug# doesnt work (tho ##data# does work). luckily the service here blows so i'm already seeing 1x icon here and there so i guess it worked
Click to expand...
Click to collapse
I think I have an older apktool on my Linux box. Maybe that's why. Try grabbing your framework-res.apk and running: apktool if framework-res.apk before you decompile SystemUI.apk.
Sent from my SPH-D710 using Tapatalk
nope, same error. could you load your older apktool version to mediafire? i'll give it a shot and see if that fixes anything.
nivron said:
Glad it worked!
Try grabbing your framework-res.apk and running: apktool if framework-res.apk before you decompile SystemUI.apk.
Sent from my SPH-D710 using Tapatalk
Click to expand...
Click to collapse
I finally got the SystemUI apk to recompile after adding my framework & running this command, I forgot about this step!
frifox said:
nope, same error. could you load your older apktool version to mediafire? i'll give it a shot and see if that fixes anything.
Click to expand...
Click to collapse
Sure, I will throw it in my dropbox tomorrow morning.
Sent from my SPH-D710 using Tapatalk
journeyman73 said:
I finally got the SystemUI apk to recompile after adding my framework & running this command, I forgot about this step!
Click to expand...
Click to collapse
I didn't remember to put it in the instructions. I will edit it later. Much appreciated!
Sent from my SPH-D710 using Tapatalk
nivron said:
I didn't remember to put it in the instructions. I will edit it later. Much appreciated!
Sent from my SPH-D710 using Tapatalk
Click to expand...
Click to collapse
I think your right about the custom pngs... I'm done for the day my head is spinning...lol
Thanks again man, appreciate it.
**This is for system apk's, not for market ones. To modify apps you've downloaded and installed, you will need a program like the fantastic Apk Manager, since non-system apps are signed and have to be resigned after getting messed with**
*MY TYPICAL DISCLAIMER!*
I AM NOT A DEV! I just like tinkering with this phone because I'm overall an extremely picky and obsessive person. I have no prior android experience (besides a little tinkering with my X10), and am in NO way an expert. But since I know how to mess with my phone a little bit and I've been asked to share, I will =) But follow these instructions at your own risk! I am not responsible for the untimely death of your phone, so please be cautious and careful, and if you have any questions about any step, before you try it, ask me or someone who knows! I don't want the blood of your dead phone on my hands! It's Christmas, after all! =)
These instructions are for Windows computers. Sorry, I'm just not familiar with mac or linux. =(
***Editing XML's***
So you want to modify something a little more complicated than just a PNG- there's something there you want gone, something too big or small, and you want to modify an XML. Here's what you need for starters:
7zip for your computer
Root explorer for your phone
apktool and apktool-install-windows for your computer from here
-Install it to your computer, as described in the link. (Just unpacking the items into c:/Windows is easiest)
Hex editor for your computer (I really like Notepad++)
For an example, I will be using the HORRIBLE yellow pages infiltration of the LG Nitro, thanks to surely some agreement between AT&T and YP. One example is the contacts list, where AT&T in its infinite wisdom has decided that the most important contact of all is the yellow pages, being the only permanent contact stuck in your list, shrinking your visible actual contacts list:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I don't like it, and I want it gone. I've already uninstalled yellow pages, and the dead button is still there! I will edit an XML to remove it =)
1.) Copy the apk you want to modify from your phone (using root explorer) and transfer to your computer
In this case, I wanted my Contacts.apk, which is in /system/app. Keep a copy safe somewhere, just in case something goes wrong, or you want to revert back to the original apk. The vast majority of system apps are in the /system/app folder, with the major exception of framework-res.apk. This is the phone’s BIG cajone in /system/framework, and as such, should be handled with utmost care. Messing with framework-res.apk incorrectly is an EASY way to brick your phone in a heartbeat.
2.) Decompile your apk
Put the apk in C:\ (I think you can put it in other places, but just for consistency, I'll say put it there =) ). Decompile it by using apktool. You can find more details elsewhere, but to keep it as brief as possible, here's how in a nutshell (there are other ways to do this, where to put files, etc, but for consistency's sake, this is how I do it):
-run cmd.exe
-in the command window, change your directory until you get all the way to C:\ (keep typing "cd.." and hitting enter until you're there)
-in the window type the following and hit enter:
apktool d nameofapk.apk
(In this case, type "apktool d Contacts.apk")
******IF YOU GET A LONG STRING OF "Could not decode attr value..." ENDING WITH "Can't find framework for package of id: 2. You must install proper framework files, see project website for more info." (like you do when decompiling some apk's like SystemUI.apk) SKIP TO THE END FOR SPECIAL INSTRUCTIONS******
-the decompiled apk will now be extracted into a folder of the same name without the .apk extension (here, C:\Contacts)
3.) Find and edit the XML you want!
Now that it's been decompiled, the XML will be magically readable with Notepad++ (before decompiling, opening XML's with a hex editor produces gibberish. Now, you can actually read the text of it!). In this case, the XML we want to edit is here:
C:\Contacts\res\layout-finger\contacts_list_item_top_search_att.xml
In this XML, lines 14, 15 and 16 refer to that stupid bar in Contacts.apk with the yellow pages and ICE buttons. Included in lines 14, 15 and 16 are: android:layout_height="60.0dip", android:layout_height="51.0dip", and android:layout_height="51.0dip", respectively.
Change all 3 numerical values to 0.0 in all three cases, so now in lines 14, 15 and 16, it shows: android:layout_height="0.0dip", android:layout_height="0.0dip", and android:layout_height="0.0dip", instead.
Save the changes to this file and close! (You should have your original apk backed up somewhere else already!)
4.) Recompile the apk with the newly edited XML in it!
In cmd.exe (still in directory C:\), type:
apktool b nameofapkfolder
*do NOT type nameofapk.apk. Leave off the .apk extension! You're recompiling the decompiled folder, NOT the .apk! For example, here to rebuild Contacts, type
apktool b Contacts
This can take a while. It's okay if you get some "has no default translation" lines popping up. Just ignore them.
Now, in that same decompiled folder, you will have a new "build" folder. Inside are your newly recompiled files for your apk!
5.) Find the recompiled XML from the build folder and move it into a copy of the original .apk!
It will be in the same organization as it was within the .apk. For example, that XML we edited is located here:
C:\Contacts\build\apk\res\layout-finger\contacts_list_item_top_search_att.xml
If you open this recompiled XML, you'll see that it's back to being gibberish. That's because it's been successfully recompiled!
Now, find your original, unedited .apk, right click, 7zip, and open archive. Navigate to the original XML in that apk and drag and drop your newly edited/recompiled XML into that folder, letting it overwrite the original one! This is your newly edited .apk with the changes you want in your XML!
6.) Put this newly modified apk back onto your phone. Using root explorer, copy the new apk into the /system folder of your phone.
7.) CHANGE THE PERMISSIONS of the apk to match those of the original apk in /system/app.
In this case, long press on the Contacts.apk, select permissions, and select the check boxes as follows- Owner: Read, Write; Group: Read; Others: Read. This matches the permissions of Contacts.apk in /system/app
8.) Move the new apk into /system/app, and let it overwrite the original!
9.) Restart your phone!
Voila! The stupid bar is gone, and I have a little more room for my REAL contacts!
******SPECIAL INSTRUCTIONS FOR DECOMPILING ERROR******
Some apk's (like SystemUI.apk) require OTHER (framework) apk's be "installed" in order to decompile properly. To install an apk, put it in C:\, then type the following command in cmd.exe when in directory C:\:
apktool if nameofapk.apk
But which other apk needs to be installed?? The secret is that when you try to decompile your apk and it produces those errors, apktool will actually tell you (in its way) what other apk is needed! For example, decompiling SystemUI.apk results in notifications ending in this:
"Can't find framework for package of id: 2. You must install proper framework files..."
id: 2 is your key. In /system/framework, there are 3 other apk's besides framework-res.apk. These are:
RES_cappuccino.apk
RES_model.apk
RES_sui.apk
If you install framework-res.apk:
apktool if framework-res.apk
you get the following statement:
I: Framework installed to: C:\Users\User\apktool\framework\1.apk
This means that id: 1 = framework-res.apk! If you install the other 3 apk's (RES_cappuccino, model, and sui), you'll find that they are:
RES_cappuccino.apk = id: 2
RES_model.apk = id: 4
RES_sui.apk = id: 3
SO, when you try to decompile SystemUI.apk, and it says "Can't find framework for package of id: 2," it's asking that you first install RES_cappuccino.apk before decompiling SystemUI.apk! So before apktool d SystemUI.apk, type:
apktool if RES_cappuccino.apk
It will say, "Framework installed to C:\Users\User\apktool\framework\2.apk
And now, when you decompile SystemUI.apk, it will work (as will recompiling! =) )
Good luck! Godspeed! =)
This is awesome! Thank you very much.
I've successfully managed use Apk Manager 4.9 - Makes Modifying Ur Apk A Breeze (Windows/Linux) for SystemUI.apk, but it did create additional useless folders.
One question though, what about resources.arsc file?
According to apk manager that file needs to be recreated when .xml files are changed.
It seems like that's the case when you have significant changes to the xml, like deleting lines or adding code, etc. When I just change values in the xml, it doesn't seem to require rewriting resources (which I'm not super comfortable with), so until we get a recovery mode, I just try to be creative in how I edit xml's to get what I want by just changing values =)
NICE!! Great job sir!
Did you ever get rid of the headphones icon, by the way? It shouldn't be too tricky
itiskonrad said:
Did you ever get rid of the headphones icon, by the way? It shouldn't be too tricky
Click to expand...
Click to collapse
Well, kind of...I do now know how to remove it, unfortunately it will have to wait until apktool get updated to v1.4.4, because current version does not work for our resources-res.apk (we seem to have ICS formatted .apk's). I already twice soft bricked my phone trying recompile this apk
Once we get the proper tool, we might start getting some interesting mods, like more quick settings for instance.
itiskonrad, can you post the actual file for removing yp from contacts. I am on mac with no pc available at the moment.
Sure thing! Here:
Contacts - No Yellow Pages
Be sure to follow steps 6-9, though! Especially the part about changing permissions!
Great thanks. Worked great.
Sent from my LG-P930 using Tapatalk
I couldnt get the new APK Manager which is now called APK Tools to work properly. Since the original link didnt work i decided to search out the old APK Manager to give it a shot, and it worked beautifully! For those that want the old one, you can get it here:
http://www.gamefront.com/files/17870566
i used it to change my contact list to black with white text. Much nicer!
itiskonrad said:
***Editing XML's***
3.) Find and edit the XML you want!
Now that it's been decompiled, the XML will be magically readable with Notepad++ (before decompiling, opening XML's with a hex editor produces gibberish. Now, you can actually read the text of it!). In this case, the XML we want to edit is here:
C:\Contacts\res\layout-finger\contacts_list_item_top_search_att.xml
Click to expand...
Click to collapse
Hi, I have a problem, I can not correctly open the XML files from ROM. I want to edit the file primary_text_dark.xml of framework-res \ res \ I can not see it correctly. Help me please, the XML files from ROM, I can not correctly open and edit in any xml editor. What is the trick?
example
https://lh5.googleusercontent.com/-Mlx3d1--g0E/T7yNMCOcCyI/AAAAAAAAAcE/aIV-2zHN8x8/s720/fotka%2520%252014.jpg
What you are looking at is a non-decompiled xml that is unreadable. You need to first decompile the apk which carries the xml you want to edit in order for it to be readable. You first have to complete steps 1 and 2 and decompile framework-res.apk as described in the guide in order to get a readable primary_text_dark.xml.
Thank you for your advice.
Error...
Hello everyone!
Dude, thanks for the post. It is very clear!
I have a question. I did everything step by step to decompile the framework-res and edit it, but when I try to recompile it, the APK folder created inside the new folder BUILD is empty.
What can have happened?
(translation via Google Translate)
Hmm, not sure. Try decompiling and recompiling immediately after without making any changes, just to make sure the commands are working. If that doesn't work, maybe there's something wrong with the commands? For example, I know it sounds stupid, but make sure to recompile, you're typing
apktool b framework-res
NOT
apktool b framework-res.apk
Thank you Itiskonrad!
Yes, the commands are working. Decompiled and compiled again without changes, and everything went well.
I realized that change depending on what I do when this error occurs. Now I'm changing slowly and has not worked.
The strange thing is that I do not see the changes on the device. My intention is to change the entire text of the notifications in order to use a black theme in my status bar.
I made a theme based on UotKitchen and I'm improving, but notifications such as downloads and ongoing calls persist with the font color black, which makes their visibility.
I will continue testing until something works!
Big hug!
(translation via Google Translate)
itiskonrad,
Do you use an ICS leak? Could you please modify status bar apk and remove carrier from there?
Shouldn't be the final APK zipaligned?
Thanks, great
Hi
Here's how to make a translucent status bar For DEODEX ICS ROM (LP*/CM9)
successfully tested on
- WanamLite 9.0 (http://forum.xda-developers.com/showthread.php?t=1436817)
- REMIX ICS 9.4 (http://forum.xda-developers.com/showthread.php?t=1436854)
- CM9 (http://forum.xda-developers.com/showthread.php?t=1410400)
- My ROM
Patches for some ROM
for Criskelo V5 (Link ) (Thanks jeanluc1701) 100% Translucent : http://forum.xda-developers.com/attachment.php?attachmentid=953090&d=1332084829
for Turkbey LPQ (Link) (Thanks shadowofdarkness) : 100% Translucent : http://www.mediafire.com/?bbq2h9ofdc9d4hn
for WanamLite 9.1 (Link) : 100% Translucent : http://www.mediafire.com/?kr80pkdxk7kbis1
for WanaLite 9.4 (Link) : - 100% Translucent : http://www.mediafire.com/?9maj0fu2zmsw318
for WanamLite 9.6 (Link) : 100% Translucent : http://www.mediafire.com/?16yv3a8mmkcqkbk
for WanamLite 9.8 (Link) : 100% Translucent : http://www.mediafire.com/?rmv21bkgj5pqge7
for WananLite 9.9 (Link) : 100% Translucent : http://dl.dropbox.com/u/26340739/SystemUI_Wanamlite99_translucent_100.zip
for WananLite 10 (Link) : 100% Translucent :http://www.mediafire.com/?bbgmc3quckm4m5u
for LPQ Stock DEODEX (Link) : 50% Translucent : http://www.mediafire.com/?f1hc4ky6kn711if
for LPQ Stock DEODEX (Link) : 100% Translucent : http://www.mediafire.com/?hvd317q867aoi8t
for Pure ICS 7.1 (Link) : 100% Translucent with round battery icons (Mardanpet's Status bar) : http://www.mediafire.com/?ovv5fr3crxezmj6
{
"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"
}
Patch Installation
-1- put zip file on your sd card
-2- reboot in recovery
-3- make a backup
-4- wipe cache
-5- wipe dalvik cache
-6- flash zip file
-7- reboot
To do yourself
**** Make a backup first ****
Use ADB for pull and push SystemUI.apk
I use Linux , not Windows
For Windows , try Wanam's ApkManager : http://forum.xda-developers.com/showpost.php?p=23935070&postcount=14
(Thanks Wanam)
For Linux
first download apktool , aapt and sign tool :
apktool + aapt for Linux : http://www.mediafire.com/?wg7cgaoerq4ab3n
sign tools for Linux : http://dl.dropbox.com/u/26340739/sign_tools_for_Linux.zip
alternative apktool : http://www.mediafire.com/?gs45ase17lb21ag
create a directory for example : works
create a directory for signtools : signtools
create a directory for apk signed : signed
mkdir ~/works
mkdir ~/works/signtools
mkdir ~/works/signed
put apktool.jar , aapt in this ~/works
put sign tools in ~/works/signtools
change permission for aapt :
cd ~/works
chmod 755 aapt
export PATH=$PATH:.
-1- get SystemUI.apk, framework-res.apk , twframework-res.apk from your phone :
adb pull /system/app/SystemUI.apk ~/works/SystemUI.apk
adb pull /system/framework/framework-res.apk ~/works/framework-res.apk
adb pull /system/framework/twframework-res.apk ~/works/twframework-res.apk
-2- cd ~/works
-3- java -jar apktool.jar if framework-res.apk
-4- java -jar apktool.jar if twframework-res.apk
-5- Decompile your SystemUI.apk : java -jar apktool.jar d -f SystemUI.apk
-6- Navigate to your decompiled folder and go to ~/works/SystemUI/smali/com/android/systemui/statusbar/StatusBar.smali
-7-Search this line :
Code:
invoke-direct/range {v11 .. v16}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
-8- Above this line, change :
Code:
const/16 v16, [B]0x4[/B]
TO
Code:
const/16 v16, [B]-0x3[/B]
-9- Save the file
-10- Navigate to your decompiled folder and go to ~/works/SystemUI/res/values/drawables.xml
-11- Search this line :
Code:
<item type="drawable" name="status_bar_background">[B]#ff000000[/B]</item>
Change the value of status_bar_background
example for completely translucent or 50% translucent
Completely translucent
Code:
<item type="drawable" name="status_bar_background">[B]#00FFFFFF[/B]</item>
50% translucent
Code:
<item type="drawable" name="status_bar_background">[B]#7f000000[/B]</item>
-12- Save the file
-13- Recompile SystemUI.apk : java -jar apktool.jar b -f SystemUI signtools/SystemUI.apk
-14- cd ~/work/signtools
-15- sign the new apk : java -Xmx64m -jar signapk.jar -w testkey.x509.pem testkey.pk8 SystemUI.apk ../signed/SystemUI.apk
-16- push the new SystemUI.apk to your phone
Code:
adb push ~/works/signed/SystemUI.apk /system/app/SystemUI.apk
adb reboot
-17- Enjoy
screenshot with completely translucent status bar
Readme
Raigel said : "Seems like this mod works with GO Launcher EX only if you select "High quality drawing" from settings."
KyleForge said : "I've finally managed to get it to work. Seems it was a problem with signing the SystemUI. What I did was do the modification, build the apk with apktools then copy all the files except the AndroidManifest.xml to the original SystemUI.apk, pushed it, rebooted and viola!"
Sympa ! Well done
Thx
Thanks a lot !
der is no statusbar.smali in gingerbread i guess
manishdev said:
der is no statusbar.smali in gingerbread i guess
Click to expand...
Click to collapse
This MOD is for ICS , not for Gingerbread
OK I can't get this to work here is what I get
http://i612.photobucket.com/albums/tt208/psp_kevin17/Capture-11.png
Also where do I find the decompiled system Ui which folder???
thx guy's
p.s can you post that wallpaper it's sick!
XxKillerKev7xX said:
OK I can't get this to work here is what I get
http://i612.photobucket.com/albums/tt208/psp_kevin17/Capture-11.png
Also where do I find the decompiled system Ui which folder???
thx guy's
p.s can you post that wallpaper it's sick!
Click to expand...
Click to collapse
You must download apktool : http://code.google.com/p/android-apktool/downloads/list
the wallpaper : http://dl.dropbox.com/u/26340739/wallpaper.jpg
Ok getting a different error now. It says input file SystemUI.apk was not found or was not readable whyyyyy??
Did you push it with ADB or did u just make a copy with root explorer ? Check permissions, they have to be rw-r--r--
el_liberator said:
Hi
screenshot with completely translucent status bar
Apktool link : http://code.google.com/p/android-apktool/downloads/list
Click to expand...
Click to collapse
Nice icons! What rom are you using?
Excellent. Tried but did not work for me. Can you share your ROM with completely translucent status bar and new icons by providing a link to the same. Thanks in advance.
To de- or re-compile SystemUI.apk (or any other .apk) normally you need to install the corresponding framework-res first. How-to you can find here.
Cheers
Toscha
i'd like to know what rom your using as well and what the weather app is to show small weather
romano19 said:
Nice icons! What rom are you using?
Click to expand...
Click to collapse
this is my ROM (LPH custom) , it's based on the LPH ROM , I made myself icons , if you want them, I can give them
jsbutran said:
Excellent. Tried but did not work for me. Can you share your ROM with completely translucent status bar and new icons by providing a link to the same. Thanks in advance.
Click to expand...
Click to collapse
I don't share my ROM , but if you want , give me your SystemUI.apk , and
and I'll make you a patch
imy300 said:
i'd like to know what rom your using as well and what the weather app is to show small weather
Click to expand...
Click to collapse
I use my ROM , this is a LPH customised by me
The small weather is "Beautiful Widgets"
and how to make it in windows 7(64bits) for CM9?
vINyL3 said:
and how to make it in windows 7(64bits) for CM9?
Click to expand...
Click to collapse
Sorry, i don't know Windows 7, i use Linux since 10 years
but i think is not very different in Windows , just download and install Java , apktool.jar , aapt.exe and sign tools (http://www.londatiga.net/it/how-to-sign-apk-zip-files/)
I don't understand why the kind ROM makers don't just do the translucent status bar within the ROM anyway,it looks way better than a black bar.
I don't get how to install the framework-res what do I do, do I put it in my androidSDK platform tools folder and run the command apktool if framework-res.apk?? please help
---------- Post added at 04:05 PM ---------- Previous post was at 03:53 PM ----------
Also where can I find the extracted SystemUI.apk I am using Windows
Hi guys!
After getting a lot of requests by various users of Resurrection Remix and RootBox,I finally decided to do a tutorial on how to make certain kinds of mods.I have been modding for Resurrection Remix for quite some time now and have learnt a lot in the process.I will keep updating this thread as and when i learn new stuff.
What this tutorial teaches and guides you to do:
-ANIMATED NOTIFICATION DROPDOWN BACKGROUND
-NAVIGATION BAR BACKGROUND MOD
-TOGGLES BACKGROUND MOD
-PULLDOWN BAR MOD
-SYSTEM+DIALER BACKGROUND MOD
-LOCKSCREEN HANDLER MOD
MORE MODS WILL BE ADDED AS AND WHEN I GET TIME AND ALSO DEPENDING ON THE INTEREST OF THE USERS.
DISCLAIMER :
> Please be careful.The methods here are totally tested so if anything goes wrong it is probably your fault that you didn't do something correctly.I will give my support but I am not responsible for anything unfortunate that may happen.Don't forget to do a BACKUP before trying anything!
>This is a tutorial to help the daily user in making mods.It might not be the most perfect way to do things,so if you are competent enough and technically sound to build from source please go ahead and read Entropy512's post here to get an idea on the same.My tutorial is aimed at helping everyone make their own mods.
Firstly,I will give the credits of my learning curve to :
GaboWinter (For his EXCELLENT tutorials and awesome FAQ)
Westcrip (For giving us an excellent ROM that changed the way i looked at things)
Yorzua (For his excellent tutorials on theming)
MyLifeRocks10 (For teaching me how to use UFT)
Vreestyle (For being one of the main inspirations and letting me use his zip files as a base whenever required!)
Bajee11 (For guiding me on how to mess around with smali files)
Tigiy (Whose first Hulk mod was the one that triggered my curiosity)
Sun90,Faseeh,LegendZenefy,Kroz,Kicker09 (For being awesome!)
Neerajganga (For forcing and encouraging me to write this tutorial)
To all the others who helped me during this transition of mine.You know who you are!Also a huge thanks to all the developers without whom this wouldn't have been possible.
I'll try to cover all the mods that I have done so far gradually and I'll start with the easier ones.
Some of the tutorials may or may not already be available on the internet but I have been getting too many requests so I'll put everything together here.Remember that i am also NEW here so please dont flame me if i do things differently.However constructive criticism is always welcome!
I would appreciate a Thanks for all this as it took a lot of my time and effort.
So let's get started.
What you need to have installed on your PC :
-Android SDK - Get it here.
-Java Runtime Environment (APKtool needs at least ver. 1.6) - Get it here.
-Notepad++ or Adobe Dreamweaver for editing XMLs.
-Draw9patch.bat [Included in the Android SDK]
-Apktool - Get it here. - I use ICS Apktool to recompile and Original Apktool to decompile.Works great with SystemUI.apk
-Photoshop or GIMP - Get GIMP here (It is a free software).
-APK Multitool v 1.0.5/APK Manager 5.0.2. Get them here. (You can use Apktool for the same functions i think,however I use them both depending on my needs)
-7zip or Winrar.
Please don't ask me questions on how to set up the above as the tutorial is not for that and you will find many tutorials/guides on XDA and elsewhere which explain the same.
What you need to know before doing some of these mods:
-Decompiling and compiling APKs-
There are many tutorials on XDA for this.And it's pretty straightforward.I will just try to explain how to decompile the tricky SystemUI.apk.
I modified TVTV's post for HTC Desire,threw in my bits and wrote the way to do this :
Step 1 (installing the tools):
- Download and install the latest Java Runtime Environment (APKtool needs at least ver. 1.6);
-Download Apk Tool(both Original and ICS Apktool.I linked you to both above.)
Step 2 (preparing to decompile):
- In order to properly decompile/compile SystemUI.apk, you need to install the framework with Apktool.
- Open your root explorer of choice and navigate to /system/framework;
- Copy "framework-res.apk" and "SystemUI.apk" to the SD card, then move them to your PC either via cable or via a software of your choosing.
- Put both "framework-res.apk" and "SystemUI.apk" into the folder where you've extracted Original Apktool;
- Open command prompt (Windows button + R then type "cmd") and navigate to the folder where you have Original Apktool and the framework apk;
- Type "apktool if framework-res.apk". Your file will be processed and the required bits will be "installed" in "C:/Users/<yourusername>/apktool/framework";
Step 3 (proper decompilation):
-For decompiling we will use the Original Apktool.
- Copy your SystemUI.apk from "/system/app" to the folder where you've installed the Original Apktool or copy the SystemUI.apk you wish to mod to the folder where you've extracted Original Apktool;
- Open a command prompt, navigate to the Original Apktool folder, type "apktool d SystemUI.apk" and wait till the original apktool has finished. You should get no errors whatsoever and your apk should now be decompiled into "readable format" in "<yourOriginalAPKtoolfolder>/SystemUI".
Step 4 (proper compilation):
- After making the desired changes in the decompiled apk, it's now time to compile it.
-For compilation we will use the ICS Apktool
-Copy the changed SystemUI folder,SystemUI.apk and framework-res.apk to the folder of ICS Apktool
- Open a command prompt, navigate to the ICS Apktool folder then type "apktool b SystemUI". Your apk will now be compiled to "<yourICS Apktoolfolder>/SystemUI/dist" (again, you should get no errors whatsoever). DON'T USE IT YET!
- Being a system app, SystemUI.apk must first be signed with the proper keys else odds are it won't work. To do that, you need to rename the SystemUI.apk you're editing (the original one) into SystemUI.zip, open it with an archive manager then extract META-INF and AndroidManifest.xml to the "<yourICS APKtoolfolder>/SystemUI/build/apk" folder, then run the "apktool b SystemUI" command again. Your APK will now be built with the proper keys included, and is now fully functional. You may "pick it up" from the "<yourICS APKtoolfolder>/SystemUI/dist" folder;
- You can now flash the resulting (modded) apk to your device either via ADB or via a way of your choosing (.ZIP from recovery etc.).
Have fun and remember to always do a nandroid backup before messing with system files!
-A general idea of what 9.PNG images are.
READ this to know what they are and how to use draw9patch.bat.
For patching 9.PNGs go to Yorzua's thread HERE.
Note: You can either follow all the steps in his tutorial for creating the image and then use the drag and drop(7zip,winrar) method OR skip step 3 of his tutorial and compile the image along with the previously decompiled apk.In other words,if you decompile the apk,then skip step 3 and if you want to use the drag and drop method,then follow the entire tutorial of Yorzua.Usually when a simple 9.PNG patch is required,Yorzua's method can be followed,but when we are editing XML files,we need to decompile the apk and then recompile it as otherswise the XMLs wont be editable as they are encrypted).
So now that we are settled with that,let's begin the real stuff starting with the easiest :
NOTE : I ATTACHED AN EMPTY FLASHABLE ZIP FOR YOU GUYS.
After you mod your framework-res.apk, SystemUI.apk etc you need to place
them(drag and drop the modded apk's) inside the flashable file using 7zip or Winrar.
SystemUI.apk and Contacts.apk goes inside /system/app
Framework-res.apk goes inside /system/framework
After flashing any mod,dont forget to fix permissions!
If you are on a kernel other than Siyah kernel do the following steps :
-Reboot to recovery
-Mounts and storage
-Mount /system
-Flash zip
-Fix permissions
-Reboot system
ANIMATED NOTIFICATION DROPDOWN BACKGROUND
- Decompile your SystemUI.apk
- Navigate to /res/layout/ and open status_bar_tracking.XML
- Use Notepad++ to change the following lines of code.
Now add this line:
Code:
android:background="@drawable/dropanim"
to
Code:
<com.android.systemui.statusbar.phone.TrackingView android:orientation="vertical" android:paddingLeft="0.0px" android:paddingRight="0.0px" android:paddingBottom="0.0px" android:focusable="true" android:visibility="gone" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android">
-The "dropanim" is basically the name of the XML file that you are gonna create next.So you can name it whatever you want.
-Save the XML file and navigate to /res/drawable
-Inside this drawable folder , make an XML file named "dropanim".
-This XML file will basically point to all your resources(images).The images should be PNG images.Depending on the number of images you use,the code will be accordingly written.From personal experience,i would say don't exceed 30-35 png image files.Also there are ways to make the animation play only once,to make it play once forward and then reverse infinite number of times.More on that a little later.
-The android:drawable="drawable/anim1" syntax points at the images.Here the image name is anim1.
-You can refer the code below for this XML file.Depending on the number of images you use,you will have to edit the code accordingly.
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="150" android:drawable="@drawable/anim1" />
<item android:duration="150" android:drawable="@drawable/anim2" />
<item android:duration="150" android:drawable="@drawable/anim3" />
<item android:duration="150" android:drawable="@drawable/anim4" />
<item android:duration="150" android:drawable="@drawable/anim5" />
<item android:duration="150" android:drawable="@drawable/anim6" />
<item android:duration="150" android:drawable="@drawable/anim7" />
<item android:duration="150" android:drawable="@drawable/anim8" />
</animation-list>
-Here the 'duration' part signifies the time lapse you want between frames in milliseconds.
-The above code is an example for 8 images.Thus there is anim1 to anim8.
NOTE: - If you want the animation to play for only once,then in the code above replace
Code:
<animation-list android:oneshot="false"
with
Code:
<animation-list android:oneshot="true"
.
-If you want the animation to play in reverse once it has reached the end then firstly keep
Code:
<animation-list android:oneshot="false"
set to false
and add the line :
android:repeatMode="reverse" after
Code:
<animation-list android:oneshot="false"
This line will make your animation play in reverse.
-Save this XML file.
-Now navigate to the drawable-hdpi folder and place your images there.
-Recompile your SystemUI.apk
-And then use ADB or a flashable zip to enjoy your newly modded and animated background!
Preview of one that i had done for Resurrection Remix:
NOTIFICATION DROPDOWN BACKGROUND MOD
So this one is something that i have been getting many requests for and although i had initially implemented it as a theme , I finally learnt how to make it as a flashable zip.Pretty easy once you know what to change.So lets get on with it.
For this particular mod you will again need to know how to compile and decompile the apk.Also needs proper knowledge of 9 PNGs.The 9.PNG concept is pretty important here as unlike the other mods,the stretching of the image takes place to a large extent to cover the entire area of the notification background,so if it not done properly,then you will see white/transparent empty spaces in the area that is hidden behind the toggles.This happens because the image didn't 'stretch' out to cover the empty part.
Here we go..
-Open Photoshop or GIMP and make the image that you want to set as you dropdown background.This must be a PNG image of size roughly around 536x398 pixels.
Ensure that when you finally save the above image,you save it with a 2 pixel transparent border at the left and right and a 2 pixel transparent border at the bottom.This is because when the picture gets stretched later on,we want the transparent bit to get stretched and not the actual picture as it will result in the distortion of the edge pixels then.If the transparent bit is stretched,there is no problem with that.
So finally after saving the image with a 2 pix border everywhere except the top,we'll get an image of 540x400 pixels.This image should be saved as notification_bg.png.
Size is not a very critical issue but if you exceed you may get a clipped picture.
-Having done that, we need to now define the stretching and content parameters using draw9patch.bat tool from the android sdk.
You can use this image as a reference on how the border pixels will have to be.This is totally upto you and you will be able to see the stretching and preview of it in the draw9patch tool.
Reference image :
{
"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"
}
-Save the 9.PNG as notification_bg.9.png.
Now we need to edit the XML files to point it to our new image.
-For this first decompile SystemUI.apk using the method and tools i explained earlier.
-Navigate to res/layout/status_bar_tracking.xml
-Open it with Notepad++ and change the following code from :
Code:
<FrameLayout android:background="@drawable/notification_tracking_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<com.android.systemui.statusbar.policy.WeatherText android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:layout_gravity="bottom" android:paddingBottom="40.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:layout_gravity="bottom" android:paddingBottom="20.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</FrameLayout>
to
Code:
<FrameLayout android:background="@drawable/notification_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<com.android.systemui.statusbar.policy.WeatherText android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:layout_gravity="bottom" android:paddingBottom="40.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:layout_gravity="bottom" android:paddingBottom="20.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</FrameLayout>
-Save the file.
-Now navigate to res/values/drawables.xml and change the line :
Code:
<item type="drawable" name="notification_tracking_bg">#d8000000</item>
to
Code:
<item type="drawable" name="notification_tracking_bg">@drawable/notification_bg</item>
-Save it.Now both your XML files point to the the correct images.
-After this simply recompile the SystemUI.apk and you are done.To flash it you can use my attached flashable zip.
-Enjoy
NAVIGATION BAR BACKGROUND MOD
-Open up Photoshop or GIMP and make your navigation bar background image that you want to use.It has to be a PNG image of about 540x70 pixels.You can take any image from the net: resize it,crop it,change the tint etc, but it needs to be roughly of that dimension.
-After you are done with that image,you will need to make another image so that it can be used in landcape mode.Now the dimension of the landscape image needs to be 70x540 pixels roughly.Usually once you are done with the portrait background,just rotate it by 90 degrees to get the landscape image.Remember that both need to be PNGs.
-Save the portrait and landscape images with any name.For example i will use "raja_nav_bg.png" for the portrait image and "raja_nav_bg_land" for the landscape image.
-Now,it's time to use those images in our SystemUI.apk.
-To do this first decompile SystemUI.apk using apktool.You will now find a SystemUI folder in your apktool path.
-Copy the two images that you made earlier and paste them in this path:
SystemUI\res\drawable-hdpi
-Now the thing is that we need to edit 3 XML files.All these XML files are located in the layout folder of SystemUI and are related to the navigation bar background.Each of them point to a hexadecimal colour code.We need to change that and make them point to a drawable resource,which in our case are the 2 images that we made.
-To do this first go to SystemUI/res/layout and open the file navigation_bar.xml with Notepad++.
-Change this line :
Code:
<com.android.systemui.statusbar.phone.NavigationBarView android:background="@drawable/nav_bar_bg" android:layout_width="fill_parent"
to
Code:
<com.android.systemui.statusbar.phone.NavigationBarView android:background="@drawable/your_portrait_image" android:layout_width="fill_parent"
Remember that in the @drawable part,we do not have to give the extension of the file.Just the file name.
-Now navigate below in the page near the Frame Layout section that says android:[email protected]/rot90 and add this to the existing code :
Code:
android:background="@drawable/your_landscape_image"
So the existing part becomes something like this after the addition :
Code:
FrameLayout android:id="@id/rot90" android:paddingTop="0.0dip" android:background="@drawable/your_landscape_image" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent">
-Now save the XML file and close it.
-In a similar and identical manner we need to edit the navigation_bar_naked.xml and navigation_bar_search.xml.
2 edits in each of them.One near the FrameLayout for landscape and the other one at the top for the portrait image.
-After editing all the files,save them and exit.
-Now copy this changed SystemUI folder to ICS apktool folder and recompile it.Follow the steps that i stated earlier on how to recompile and you will have your modded SystemUI.apk
Then either use ADB or a flashable zip file to use the new SystemUI.apk on your phone!
A screenshot of a navigation background mod that i did for Resurrection Remix :
TOGGLES BACKGROUND MOD
Many users had requested me to put a jet black background behind the toggles instead of the zigzag lines.So here is the way to change them..
- Open up Photoshop or GIMP and make a PNG image/background of 960x180 pixels resolution.If you want it transparent then you can keep it so using Photoshop.Name this image as notify_panel_notification_icon_bg.png.
-Save it somewhere on your desktop
-Now use 7zip or Winrar to open framework-res.apk in view mode.Don't extract it.
-Navigate to framework-res.apk/res/drawable-hdpi and drag and drop the image that you made here, and by doing that you will replace the existing notify_panel_notification_icon_bg.png image of size 14x14.
-Keep the framework-res.apk somewhere safe as we shall be using this one while flashing the mod or with Adb.
So the original image was a 'tile' image of 14x14 pixels and we just replaced it with another image having a dimension of 960x180 pixels.Initially,the tile image was 'repeated' several times using a code in one of the xml files in SystemUI.apk and thus it appeared to be spread out over the area behind the toggles.We need to now disable that as we are using a background of 960x180.
-To do this we need to first decompile SystemUI.apk
-After doing so navigate to the SystemUI\res\drawable folder.
-Open status_bar_ticker_background.xml with Notepad++.
-Change the existing code from :
Code:
<?xml version="1.0" encoding="utf-8"?>
<bitmap android:src="@android:drawable/notify_panel_notification_icon_bg" android:tileMode="repeat"
xmlns:android="http://schemas.android.com/apk/res/android" />
to
Code:
<?xml version="1.0" encoding="utf-8"?>
<bitmap android:src="@android:drawable/notify_panel_notification_icon_bg" android:tileMode="disabled"
xmlns:android="http://schemas.android.com/apk/res/android" />
-Save the XML file.
Note: Incase you want to use a transparent background,then you dont have to edit the XML file as a transparent image of 14x14 pixels in the drawable-hdpi folder of framework-res.apk will give you transparent toggle background.
-After editing the above XML file , recompile SystemUI.apk.
-Now,both your framework-res.apk and SystemUI.apk have been modded and you can use them on your phone and get whatever background you desire.
A screenshot of a purely black toggle background that i made for Resurrection Remix :
PULLDOWN BAR MOD
This mod is for the bar that we get when we pull down the notification dropdown.This has been done many times before but I will share it nevertheless as some users cannot find what they want.
It is a simple mod that doesn't require editing any XML files.It does however require the patching of a 9.PNG image.
We shall be using Yorzua's method here which will help us in optimizing the 9.PNG image so that the 7zip drag-and-drop method can be used here,rather than going into the lengthy process of decompiling the SystemUI.apk,pasting the unoptimized 9.png in it and recompiling it again). 9.PNG images get optimized on recompiling,but Yorzua's link lets us use a tool which will optimize the image beforehand so that we can just drag and drop it there).
-Firstly open up SystemUI.apk with 7zip or Winrar.
-Navigate inside the drawable-hdpi folder and find the file status_bar_close_on.9.
-Drag it and drop it on the desktop.We will use this file for reference purpose while patching the 9.PNG image.
-Now open up Photoshop or GIMP and make your bar image.It should be a PNG image of around 476x42 pixels(This is variable and the width can be anything within 480 pixels and the height can be within 48 pixels).Save it as status_bar_close_on.png.
-So now we have your PNG ready and we need to make it a 9.png using the draw9patch.bat file in the Android-SDK.Many people prefer to do it with Eclipse but that's just complicated and a miserable way of doing it.
-At this stage,I expect you to have read enough about 9.PNG images from the links i gave at the start of this thread.If you haven't then go and read it as it might be a bouncer otherwise.
-Now open draw9patch.bat and drag the ORIGINAL status_bar_close_on.9.png image that you had taken from the SystemUI.apk and drop it in the tool.
-Observe how the borders of the image are and how the pixels have been drawn at all the borders.Each pixel is important and changing even one of them can result in a big visual difference.These pixels contain the stretching information and changing them can change the whole behaviour of these images.Remember the pattern and the coordinates of these pixels as you will have to need to do the same thing while patching your status_bar_close_on.png.You can change one or two pixels in the left and top border just to see how the image stretches in the right viewing pane of draw9patch tool.
-After you got an idea of these 9.png files,you have to do make the same border so that it stretches properly with your status_bar_close_on.png image.
For reference,you can use this 9.PNG file of mine also :
-After you are done patching the image properly save it as status_bar_close_on.9.png
-Open SystemUI.apk again with 7zip or Winrar and navigate to the drawable-hdpi folder.
-Drag and drop your new 9.png image that you made and overwrite the existing one.
-Close the apk.
-Your modded SystemUI.apk is now ready.
-Use ADB or a flashable zip for getting it on your phone.
A screenshot of the pulldown mod i had made for Rootbox :
SYSTEM+DIALER BACKGROUND MOD
Most people know this.It is very easy and no XML editing or 9.PNG is required.However you need Contacts.apk for changing the dialer background.
-Simply take your favourite pics of 480x800 resolution.They must be PNG images.
-For the picture that you want to use as the dialer background,name it as
background_dial_holo_dark.png.
-For the picture you want to use as System background(for example Settings background) name it as background_holo_dark.png
-You will need framework-res.apk and contacts.apk for this.
-Using 7zip or winrar open framework-res.apk and navigate to :
framework-res.apk\res\drawable-nodpi
-Drag the background_holo_dark.png that you made and drop it inside this and in doing so you will replace the existing one.
-Close the apk.
-Now open Contacts.apk with 7zip or Winrar and navigate to
Contacts.apk\res\drawable-nodpi
-Drag the background_dial_holo_dark.png that you made and drop it here and replace the existing one.
-Done.Your contacts.apk and framework-res.apk files are now modded and you backgrounds will also change.Simple,isn't it?
Some screenshots of the system+dialer background that i had made for Resurrection Remix :
LOCKSCREEN HANDLER MOD
This is again an easy mod and no skill required.
-For this mod you will need framework-res.apk
-Make 2 handler icons,one that will be normally be displayed on the lockscreen and the other that it will change to when pressed for unlocking.
-Name the 1st icon as ic_lockscreen_handle_normal.png and the second icon
as ic_lockscreen_handle_pressed.png.
-Remember that both the images need to be PNG images of 162x162 pixels.
-Now open up framework-res.apk with 7zip or Winrar.
-Navigate to framework-res.apk\res\drawable-hdpi and drag and drop the two images above inside this and replace the existing ones.
-Done,you can now close the apk and use your modded framework-res.apk.
You can find some amazing lockrings icon here.Be sure to use the HDPI ones.
A screenshot of these mods :
Nice, great work, mate!
Reserved
Haha thanks legend..forgot to reserve a post there..
SilencerOfLambs said:
Reserved
Haha thanks legend..forgot to reserve a post there..
Click to expand...
Click to collapse
he can actually delete his post
edit: whoopps. mistaken xda for another forum. dont mind me! heh
very well compiled one dude, gr8 work keep it up
Great work mate. Keep it up. :thumbup:
Sent from my GT-I9100 using Tapatalk 2
Thanks all!
You guys were solely responsible for whatever I have learnt!
SilencerOfLambs said:
Reserved
Haha thanks legend..forgot to reserve a post there..
Click to expand...
Click to collapse
Oops, sry about that.. :silly:
When's Part 2 coming?
finally the wait is over .... thanx man
LegendZenify said:
Oops, sry about that.. :silly:
When's Part 2 coming?
Click to expand...
Click to collapse
Weekend mostly
vegeta1 said:
finally the wait is over .... thanx man
Click to expand...
Click to collapse
Thanks mate!
Great tutorial! Keep it up!
I know that a lot of users will use this!
Second, I get less messages to make mods as well. Lol
Now I got more time to explore the rest of XDA
Send from the godfather of smartphones to your face!!
Vreestyle said:
Great tutorial! Keep it up!
I know that a lot of users will use this!
Second, I get less messages to make mods as well. Lol
Now I got more time to explore the rest of XDA
Send from the godfather of smartphones to your face!!
Click to expand...
Click to collapse
Haha honestly..It's much easier to guide people to a tutorial than make mods for everyone as it gets tedious..
And thanks
Fantastic tutorial...exactly what I need and very well explained...this along with Kros tutorial will hopefully help me to theme whatever I see fit! Can't wait for part 2!
Sent from my GT-I9100 using xda app-developers app
somepepe**** said:
Fantastic tutorial...exactly what I need and very well explained...this along with Kros tutorial will hopefully help me to theme whatever I see fit! Can't wait for part 2!
Sent from my GT-I9100 using xda app-developers app
Click to expand...
Click to collapse
Pleasure mate
Sent from my GT-I9100 using xda premium
Hi!
I have installed just 4fun a batman's theme. To be honest i dont like it very much. Especially because of that silly bat type icon instead of normal one on lockscreen. How can I turn the default theme back on? I am using RootBox ROM.
Sent from my GT-I9100 using xda app-developers app
Dioktis said:
Hi!
I have installed just 4fun a batman's theme. To be honest i dont like it very much. Especially because of that silly bat type icon instead of normal one on lockscreen. How can I turn the default theme back on? I am using RootBox ROM.
Sent from my GT-I9100 using xda app-developers app
Click to expand...
Click to collapse
To get your original look back,you will need to copy your original framework-res.apk,SystemUI.apk and Contacts.apk to the proper places in a flashable zip file and then flash it in CWM recovery.You can get the original files from your ROM zip.You can use the empty flashable zip file i attached in the OP.
framework-res.apk will go in /system/framework
contacts.apk and SystemUI.apk will go in /system/app
Alternatively if you only want to change the lockscreen icons,follow the steps in the OP for the lockscreen mods.
I have attached the default lock rings for you.(Just click on them and you will be able to see it.It's white so it appears invisible..)
Phew Finally
Nice work
Sorry for noob question. How can I run ICS and Original apk tool ?
Arnadel said:
Sorry for noob question. How can I run ICS and Original apk tool ?
Click to expand...
Click to collapse
Ask that question here :
http://forum.xda-developers.com/showthread.php?t=1558171
dude that's great.
could you please make a tutorial about "theme chooser" themes? you know they are really easy to implement and change.
{
"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"
}
WOAH!!!YOUR A MIND READER:highfive:
Zpik said:
WOAH!!!YOUR A MIND READER:highfive:
Click to expand...
Click to collapse
XD
enricocid said:
XD
Click to expand...
Click to collapse
So throughout the whole rom, this background will show?
Zpik said:
So throughout the whole rom, this background will show?
Click to expand...
Click to collapse
Yes. Only dialer remain untouched
would be nice if there were an xposed framework installer for this.
EDIT: Google search ftw.
http://forum.xda-developers.com/showthread.php?t=2342570
I'm not seeing a file named values in my framework-res apk. I'm not sure if this matters, but I used a file Explorer and extracted the apk on my phone. I use my phone to make zipthemer mods, so I figured this method would work for that too. Any reason it wouldn't show up?
Sent from my Galaxy Nexus using Tapatalk
NeverSeparate said:
I'm not seeing a file named values in my framework-res apk. I'm not sure if this matters, but I used a file Explorer and extracted the apk on my phone. I use my phone to make zipthemer mods, so I figured this method would work for that too. Any reason it wouldn't show up?
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
No no... You should decompile using apktool this is the only say to add trasparent background, modifying the .xml
enricocid said:
No no... You should decompile using apktool this is the only say to add trasparent background, modifying the .xml
Click to expand...
Click to collapse
This is what I got when extracting the apk. I can open and modify the xml files on my phone, but there isn't a folder named values. Are you certain the folder isn't specific to certain devices or roms? I'm on carbon at the moment on a GNex.
Sent from my Galaxy Nexus using Tapatalk
NeverSeparate said:
This is what I got when extracting the apk. I can open and modify the xml files on my phone, but there isn't a folder named values. Are you certain the folder isn't specific to certain devices or roms? I'm on carbon at the moment on a GNex.
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
You have to actually decompile framework res apk, take apart all the pieces instead of just extracting the apk. Decompiling and extracting are not the same thing
Link for apktool http://forum.xda-developers.com/showthread.php?t=2213985
NeverSeparate said:
This is what I got when extracting the apk. I can open and modify the xml files on my phone, but there isn't a folder named values. Are you certain the folder isn't specific to certain devices or roms? I'm on carbon at the moment on a GNex.
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
No... the problem is that You can't modify .apk using the phone....
This is because You can't decode an .apk with a file manager ... and You can't modify .xml if You don't decode it using apktool
If You don't use apktool You won't be able to exctract & decode the .apk
This folder must be in framework-res.apk and all .apk
Try use apktool to properly decompile it and You will be able to see all resources from .apk
If You try to exctract an .apk with a zip manager and You open an .xml, You won't see anything... only unreadable simbols
https://code.google.com/p/android-apktool/downloads/detail?name=apktool1.5.2.tar.bz2&can=2&q=
https://android-apktool.googlecode.com/files/apktool-install-windows-r05-ibot.tar.bz2
extract aapt.exe, apktool.bat and apktool.jar to a folder You will call apktool and that You will create in C:/:
C:\apktool
copy the framework-res.apk inside this folder
Press shift+leftmouse and click to "open command prompt here"
In cmd do the following
1) Install the framework-res.apk
Code:
apktool if framework-res.apk
2) Decompile framework-res.apk
Code:
apktool d framework-res.apk
3) Modify the .xml using notepad++
4) Recompile back
Code:
apktool b framework-res
5) Once done
Delete the compiled .apk in dist folder inside the framework-res folder you will find in apktool folder
open original framework-res.apk 7zip
Go to build folder
then open apk folder
Drag & drop folder META-INF & androidmanifest overwriting the original
6) Go again in CMD terminal and
Code:
apktool b framework-res
The compiled framework-res.apk is the good one
You can use the same steps I used in this guide to properly decompile/compile the framework-res.apk
http://forum.xda-developers.com/showthread.php?p=44997467#post44997467
Thanks. And I wasn't trying to argue. I know there is a difference on decompiling and extracting. And I know I can't modify the apk directly from my phone, but I use my method of extracting to locate png piles to make zipthemer zips, and it works fine for that. I wasn't looking to modify an apk. I was just going to attempt to make a zip with an edited xml and see if it would overwrite the existing one the same as it does with pngs. And I can open and edit xml using an xml app. But, if the extraction technique won't show me the file, then it doesn't matter. I'm just trying to learn a bit myself.
I was hoping to make a way that people could use the framework mods I've made without having to be in dark mode. Many of the people using mods off these threads wouldn't consider taking the time to learn any of this, they just want to use what's made. So a simple flashable zip that included an edited xml would be great. But if it won't work, it won't work.
Sent from my Galaxy Nexus using Tapatalk
NeverSeparate said:
Thanks. And I wasn't trying to argue. I know there is a difference on decompiling and extracting. And I know I can't modify the apk directly from my phone, but I use my method of extracting to locate png piles to make zipthemer zips, and it works fine for that. I wasn't looking to modify an apk. I was just going to attempt to make a zip with an edited xml and see if it would overwrite the existing one the same as it does with pngs. And I can open and edit xml using an xml app. But, if the extraction technique won't show me the file, then it doesn't matter. I'm just trying to learn a bit myself.
I was hoping to make a way that people could use the framework mods I've made without having to be in dark mode. Many of the people using mods off these threads wouldn't consider taking the time to learn any of this, they just want to use what's made. So a simple flashable zip that included an edited xml would be great. But if it won't work, it won't work.
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
You can try to make vrthemes
I already resolved my problem in Step 1 by editing the "Environment Variables".
Step 4
I'm stuck with step 4 ( recompiling ):
there's no "META-INF" folder under build/apk folder
Question: after I overwritten the "META-INF & androidmanifest" from the original framework-res.apk (C:\apktool\framework-res.apk)
and recompiled it using "apktool b framework-res", how can I flashed the compiled framework-res.apk w/c is located at
(C:\apktool\framework-res\dist) to system/framework? many thanks to this one, new learning
genkralyz said:
I'm stuck with step 4 ( recompiling ):
there's no "META-INF" folder under build/apk folder
Question: after I overwritten the "META-INF & androidmanifest" from the original framework-res.apk (C:\apktool\framework-res.apk)
and recompiled it using "apktool b framework-res", how can I flashed the compiled framework-res.apk w/c is located at
(C:\apktool\framework-res\dist) to system/framework? many thanks to this one, new learning
Click to expand...
Click to collapse
I will prepare You, as soon as possible, a template to flash it
enricocid said:
I will prepare You, as soon as possible, a template to flash it
Click to expand...
Click to collapse
Thanks! btw is it ok if I only overwrite the original "androidmanifest" because there's no "META-INF" under build/apk,
or there should be a "META-INF"?
genkralyz said:
Thanks! btw is it ok if I only overwrite the original "androidmanifest" because there's no "META-INF" under build/apk,
or there should be a "META-INF"?
Click to expand...
Click to collapse
You must copy also the meta-inf
enricocid said:
You must copy also the meta-inf
Click to expand...
Click to collapse
but when I tried to re-compiled, there's no META-INF showing up under build/apk folder as you can see from my screenshot..
did I missed some steps?
genkralyz said:
but when I tried to re-compiled, there's no META-INF showing up under build/apk folder as you can see from my screenshot..
did I missed some steps?
Click to expand...
Click to collapse
After first compilation Meta-inf is missing... it's normal don't worry
but without a meta-inf Your .apk wouldn't work
So you must delete the first compiled apk from dist folder, copy meta-inf and androidmanifest from the original .apk to build/apk folder and recompile 2nd time to get the framework correctly working
You can use this mod to flash the framework
http://d-h.st/0lL
there's already a framework-res inside it... delete it using 7zip and replace with Your framework and flash it