Modifying Home.apk - compiles, but phone doesn't like it - Xperia Play Android Development

I'm running stock UK framework with Android 2.3.4. Build number: 4.0.2.A.0.42.
I'm trying to modify Home.apk. I decompile it using apktool (I have if-ed framework-res.apk, SemcGenericUxpRes.apk and SystemUI.apk). Then I do the fix in styles.xml - replacing
Code:
<style name="Layout.ButtonContainer">
with
Code:
<style name="Layout.ButtonContainer" parent="@android:style/Theme.Wallpaper.NoTitleBar">
, because it doesn't compile otherwise.
Then I compile (without even changing anything else), sign and adb push it onto my phone, but the phone doesn't want to run it. The app manager doesn't show it on the list and the home key is ignored. If I reboot, the screen is stuck displaying the SE logotype, but because of its vibrating feedback and the ability to turn the screen off/on, I can tell that I'm in the lockscreen.
I also tried putting the META-INF and AndroidManifest.xml from the original into the modified apk, like you need to do with framework-res, but it's still the same problem.
The same thing happens if I try to install any unofficially modified Home.apk from the Internet.
What am I doing wrong?

Fußbodenheizung said:
I'm running stock UK framework with Android 2.3.4. Build number: 4.0.2.A.0.42.
I'm trying to modify Home.apk. I decompile it using apktool (I have if-ed framework-res.apk, SemcGenericUxpRes.apk and SystemUI.apk). Then I do the fix in styles.xml - replacing
Code:
<style name="Layout.ButtonContainer">
with
Code:
<style name="Layout.ButtonContainer" parent="@android:style/Theme.Wallpaper.NoTitleBar">
, because it doesn't compile otherwise.
Then I compile, sign and adb push it onto my phone, but the phone doesn't want to run it. The app manager doesn't show it on the list and the home key is ignored. If I reboot, the screen is stuck displaying the SE logotype, but because of its vibrating feedback and the ability to turn the screen off/on, I can tell that I'm in the lockscreen.
I also tried putting the META-INF and AndroidManifest.xml from the original into the modified apk, like you need to do with framework-res, but it's still the same problem.
The same thing happens if I try to install any unofficially modified Home.apk from the Internet.
What am I doing wrong?
Click to expand...
Click to collapse
Did you try setting permissions to rw-r--r-- in root explorer?

Thanks for replying.
Yes, I tried setting the permissions, but it doesn't change anything.
The official Home.apk, however, runs regardless of the permissions (unless reading the file is set as forbidden, I guess).

Fußbodenheizung said:
Thanks for replying.
Yes, I tried setting the permissions, but it doesn't change anything.
The official Home.apk, however, runs regardless of the permissions (unless you forbade reading, I guess).
Click to expand...
Click to collapse
Yeah I scimmed the detail. What were you trying to change? You could download the Modded Xperia S (themed) Home.apks from my thread. http://forum.xda-developers.com/showthread.php?t=1655622

Thanks for trying to help, but if I try to use one of your Home.apks launchers, the same thing happens.
Another thing I'd like to mention is that sometimes the phone treats the app as if it doesn't exist (as described in the OP), but sometimes it does recognize it, but it force closes as soon as it tries to run.
EDIT: Actually, I think I've fixed it. If I uninstall the launcher first, instead of just replacing it, it seems to work so far.

Related

[Q] Re-compile framework-res.apk

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

Status Bar Force Closes

I'm trying to do some editing to the status_bar.xml, but anything I do causes force closes and no status bar.
I'm pulling SystemUI.apk via ADB, decompiling with APK Multi-Tool, making a change in the status_bar.xml as small as changing the background color of it, compiling with APK Multi-Tools, and pushing with ADB. Every time, it just disappears and starts spam force closing.
Any ideas?
EDIT: Changing ANYTHING from SystemUI.apk seems to cause force closes.
Muffunz said:
I'm trying to do some editing to the status_bar.xml, but anything I do causes force closes and no status bar.
I'm pulling SystemUI.apk via ADB, decompiling with APK Multi-Tool, making a change in the status_bar.xml as small as changing the background color of it, compiling with APK Multi-Tools, and pushing with ADB. Every time, it just disappears and starts spam force closing.
Any ideas?
EDIT: Changing ANYTHING from SystemUI.apk seems to cause force closes.
Click to expand...
Click to collapse
What rom are you running? How are you installing the modded apk? What exactly are you trying to change? Are you making multiple mods at once? If you're modding any xml within the apk and it fc's when you install it, it's either not compiling properly or the changes you made aren't kosher. Try using apk manager with the latest apk tool to decompile and compile and see if that helps.
Also, if all you wanna do is change the status bar background color, just decompile the systemui.apk, edit statusbar_background.9.png (without breaking the pixel guides) recompile the apk, and instead of flashing the recompiled apk, extract that .png and drop it into the stock apk and flash that.
10tonhammr said:
What rom are you running? How are you installing the modded apk? What exactly are you trying to change? Are you making multiple mods at once? If you're modding any xml within the apk and it fc's when you install it, it's either not compiling properly or the changes you made aren't kosher. Try using apk manager with the latest apk tool to decompile and compile and see if that helps.
Also, if all you wanna do is change the status bar background color, just decompile the systemui.apk, edit statusbar_background.9.png (without breaking the pixel guides) recompile the apk, and instead of flashing the recompiled apk, extract that .png and drop it into the stock apk and flash that.
Click to expand...
Click to collapse
I'm on UnNamed, and I'm pushing the APKs via ADB in command prompt. I'm trying to change the color of the status bar right now, but I'd also like to change the icons. I did what you suggested, but it didn't change anything. Bar is still there and no force closes, but it's still the same color even though the 9.png file is a different color.
Muffunz said:
I'm on UnNamed, and I'm pushing the APKs via ADB in command prompt. I'm trying to change the color of the status bar right now, but I'd also like to change the icons. I did what you suggested, but it didn't change anything. Bar is still there and no force closes, but it's still the same color even though the 9.png file is a different color.
Click to expand...
Click to collapse
Do this, the compiled systemui that's giving you fc open it and the unmodified version. Drag nine patch image you edited to the unedited systemui
Sent from my SGH-I777 using Tapatalk
10tonhammr said:
What rom are you running? How are you installing the modded apk? What exactly are you trying to change? Are you making multiple mods at once? If you're modding any xml within the apk and it fc's when you install it, it's either not compiling properly or the changes you made aren't kosher. Try using apk manager with the latest apk tool to decompile and compile and see if that helps.
Also, if all you wanna do is change the status bar background color, just decompile the systemui.apk, edit statusbar_background.9.png (without breaking the pixel guides) recompile the apk, and instead of flashing the recompiled apk, extract that .png and drop it into the stock apk and flash that.
Click to expand...
Click to collapse
jivy26 said:
Do this, the compiled systemui that's giving you fc open it and the unmodified version. Drag nine patch image you edited to the unedited systemui
Sent from my SGH-I777 using Tapatalk
Click to expand...
Click to collapse
I tried that. Nothing happened, the status bar didn't change.
Muffunz said:
I tried that. Nothing happened, the status bar didn't change.
Click to expand...
Click to collapse
Don't adb push it. Just flash it. Download winrar (google it). Download one of my themes (or any theme) for unnamed, delete all the the folders except "system" and "Meta". Open system folder and delete eveything except "apps" folder. Open apps folder and delete everything. Add your modded systemui.apk to the apps folder and flash in cwm.
Its MUCH MUCH easier to use APK Manager and have it push it as an unsigned system app. After you push it, run an "adb shell killall system_server" <-- does a quick system reset, and you can test it out.
I'm not sure what changed but I finally got APK Manager set up to be able to push things itself, and I finally got a change to go through! Thanks for the help guys.

Framework-res always displays glitches

I tried to decompile, modify 1 xml file and recompile the framework-res.apk.
But everytime I do it, I either get into a boot loop, or when In succeed it displays glitches (like notification bar, and messed up lock screen, and settings)
This is for AURORA ICS 4.0.3 and I do have the latest aapt.exe file .. so I don't know what is wrong!
I tried to use the original framework-res but replace the resources file inside, stored and compressed methods.
Tried to get the compiled framework-res but add the META-INF and Manifest file (again, both with compressed and stored resources file) and always.. it just glitches or bootloops.. and the mod that I tried (ICS on screen buttons or the CRT effect when you switch off the screen, mainly used in Oxygen roms, but it's available in all ROMs).. it never works.. only glitches the lock screen, notification bar etc..
Any help?
Thanks.
I might know the answer to this..
Which files are you modifying in framework-res? And how are you pushing it back to your phone?
Sent from my U20i using xda premium
Would be great
I am modifying some files in the values folder, bools.xml, arrays.xml .. but even if I edit bools.xml alone, it still glitches.
To push it back: I go to recovery mode on my phone, plug it into my linux machine (the system partition mounts), paste the new framework-res.apk to replace the old one, fix permissions (otherwise it boot loops), and restart the phone. This method works for other files and never had any problems, like the android.policy.jar
Would be great if you can help me. Thanks
Well, the XML files you're editing are all part of resources.arsc so it's something to do with that which is causing the problem. I used to get all sorts of annoying bugs when I edited anything in resources.arsc and I eventually found out that I was pushing the final apk back to the phone incorrectly.
I use a Windows PC, not Linux, so I might not be that helpful but this is what I do to modify and replace framework-res.apk. Hopefully it'll help. What I do is..
Decompile framework-res.apk
Make my changes
Recompile the file
Use a program like 7zip to open the old and the new files
Drag and drop the "res" folder from the new file into the old
Extract resources.arsc from the new framework-res.apk and add it to the old one in "STORE" mode, so it's not actually compressed
Go into recovery, mount the system partition and push the old file
..and that's it. Works a charm every time.
I would have thought that you would need to do the same thing on Linux but with the additional step of correcting the permissions. If you do all that and it still doesn't work, then there has to be a problem with the actual mod you're trying to do.
Thank you very much, I actually tried that method. It sort of worked, but everytime it breaks the notification bar. It becomes like double the size and I'm not sure why.
Thanks.
Then the issue must be with the modification itself. What exactly are you changing to what?
Sent from my U20i using xda premium
I tried different ones.. but even a simple one.. enable CRT animation.. which is pretty much open bools.xml and edit one true to false.. it breaks it :/

[Q] neo V (.62 fw) problem with recompiled Home.apk

Hi.
Sorry, I wasn't sure if it should be in "Themes", so I posted in General.
I've got neo V with root made on .42 (with ZergRush) and .62 stock fw installed via OTA. I was trying to change the number of desktops in Home.apk. What I do, generally:
1. Decompile Home.apk
2. Edit "number_of_desktop_panes" in values/integers.xml
3. Edit values/styles.xml to avoid compilation error (as advised here).
4. Edit DesktopModelManager.smali (as adviced here), but there's slightly different code (different line number and variable (?) name).
5. Recompile, replace with /system/app/Home.apk
The replace process is 100% good, because restoring original Home.apk do not cause any problems.
I do it from adb. I made the /system/tmp/ dir and given it 777 chmod to do it faster (without /sdcard). I mount /system as R/W, push Home.apk to /system/tmp/, change chmod to 644, then replace /system/app/Home.apk with it. Sometimes I try "sync", sometimes not.
It works only with stock Home.apk.
The problem is with recompiled apps.
I tried:
- xdaAutoTool
- ApkMultiTool
- ApkTools (from here)
- ApkTools (from here)
I also tried signing the app and not signing it (as mentioned here).
I also tried installing another launcher (GO Launcher EX), changing it to default, then replacing Home.apk, then changing again.
I also (huh) tried recompiling the app without any changes (except the one in styles.xml, without it, compilation would not succeed).
I also (getting boring) tried skipping the .smali edit.
Nothing works. If I replace Home.apk without reboot, the Home button doesn't work (single press) and if I was on the desktop when replacing app - it becomes black, no dockbar, nothing.
If I reboot - the phone freezes on SE logo, fortunately I can access it with ADB - when I replace Home.apk with stock one, the phone boots in a couple of seconds without a reboot.
I've got Win7 Professional x64, the newet JRE and JDK for x64, tried newest and older apktool.jar, smali.jar and other files. ApkMultitool was working on the yesterday-updated Android SDK folder. And I have no idea, what am I doing wrong... Do you have any ideas?
EDIT:
- earlier I successfully replaced SystemUI.apk with the changed one (Ultrans v2b) - no problems here
- I've got locked BL and I didn't install any recovery
If i understood corect your problems seems because busybox check your version;
and it easy to work with apk manager here is the link:http://forum.xda-developers.com/showthread.php?t=695701
umarian said:
If i understood corect your problems seems because busybox check your version;
Click to expand...
Click to collapse
Why busybox would check the Home.apk version? Or maybe I misunderstood you? If it was about busybox's version, I've got 1.18.4
umarian said:
and it easy to work with apk manager here is the link:http://forum.xda-developers.com/showthread.php?t=695701
Click to expand...
Click to collapse
Like I said, I tried it (ApkMultiTool). Decompiles, recompiles, signs (or not) correctly. Just the .apk doesn't work.
Man send a pm my english it not so good and i try to to help if i can
umarian said:
Man send a pm my english it not so good and i try to to help if i can
Click to expand...
Click to collapse
Thanks, I sent you a PM.
I will also check the procedure on 32bit system in a couple of hours. If anyone has another idea, please let me know.
Just checking you know semc home has a dependancy app and won't compile correct with out said app /framework or semcgeneric.apk
Sent from my Xoom using Tapatalk
kormatoes said:
Just checking you know semc home has a dependancy app and won't compile correct with out said app /framework or semcgeneric.apk
Click to expand...
Click to collapse
I had no idea, compile and decompile didn't report any errors so I assumed it should be OK.
As I never changed apk with dependencies, can you explain me two things?
1. Which files from /system/framework should I pull and where to place them before decompiling with ApkMultiTool?
2. Will files from framework be changed or are they only needed as resources and are left untouched?
WRonX said:
I had no idea, compile and decompile didn't report any errors so I assumed it should be OK.
As I never changed apk with dependencies, can you explain me two things?
1. Which files from /system/framework should I pull and where to place them before decompiling with ApkMultiTool?
2. Will files from framework be changed or are they only needed as resources and are left untouched?
Click to expand...
Click to collapse
Honest it's been months since I used,
decompile with dependency ie framework-
Res.apk then change stuff
Then recompile and in keep folder remove what you changed including resources if xml were changed hopefully you get what im saying
Sent from my MT15i using Tapatalk
OK, I think I got this - SemcGenericUxpRes.apk
Home.apk decompiled with dependencies from this file, then I changed it and compiled. Still the same thing.
Maybe the res file was wrong? Or should I sign it with ApkMultiTool?
WRonX said:
OK, I think I got this - SemcGenericUxpRes.apk
Home.apk decompiled with dependencies from this file, then I changed it and compiled. Still the same thing.
Maybe the res file was wrong? Or should I sign it with ApkMultiTool?
Click to expand...
Click to collapse
Try framework-res.apk
Then try and get different apk tool we use apkmanager
Sent from my MT15i using Tapatalk
kormatoes said:
Try framework-res.apk
Then try and get different apk tool we use apkmanager
Click to expand...
Click to collapse
You were right, thanks. I must have tried with the wrong file earlier, because I was quite sure I tried framework-res.apk - and I didn't. And yes, the app should be signed after build.
Now, the Home.apk is working with my changes, but only after this little "hack" from Chainfire.
But I've got another stupid problem - the only thing that doesn't work is the "Photos and Videos" widget... I think I'll give up...
WRonX said:
You were right, thanks. I must have tried with the wrong file earlier, because I was quite sure I tried framework-res.apk - and I didn't. And yes, the app should be signed after build.
Now, the Home.apk is working with my changes, but only after this little "hack" from Chainfire.
But I've got another stupid problem - the only thing that doesn't work is the "Photos and Videos" widget... I think I'll give up...
Click to expand...
Click to collapse
Now you get it keep going If you changed layout of desk top
widgets need doing to tho
Sent from my MT15i using Tapatalk
kormatoes said:
Now you get it keep going If you changed layout of desk top
widgets need doing to tho
Click to expand...
Click to collapse
Thanks, but in case of widgets I don't even know, where to start from. Why the hell only a couple of them doesn't work now? Photos and Videos, Music Player and Timescape Widget - I think that's all. I have no idea, where it came from :/
EDIT: OK, now I have an idea, but it scares me. As I can see, the only way to compile and run the .apk was to remove
Code:
android:sharedUserId="com.sonyericsson.home"
From AndroidManifest. Now, if I understand properly, the widget needs Home.apk to HAVE that ID? Because logcat says:
Code:
W/System.err( 3399): java.lang.SecurityException: Requesting code from com.sonyericsson.advancedwidget.photo (with uid 10004) to be run in process com.sonyericsson.home (with uid 10138)
Long story short: WTF?!
WRonX said:
Thanks, but in case of widgets I don't even know, where to start from. Why the hell only a couple of them doesn't work now? Photos and Videos, Music Player and Timescape Widget - I think that's all. I have no idea, where it came from :/
EDIT: OK, now I have an idea, but it scares me. As I can see, the only way to compile and run the .apk was to remove
Code:
android:sharedUserId="com.sonyericsson.home"
From AndroidManifest. Now, if I understand properly, the widget needs Home.apk to HAVE that ID? Because logcat says:
Code:
W/System.err( 3399): java.lang.SecurityException: Requesting code from com.sonyericsson.advancedwidget.photo (with uid 10004) to be run in process com.sonyericsson.home (with uid 10138)
Long story short: WTF?!
Click to expand...
Click to collapse
android:sharedUserId="com.sonyericsson.home that's the problem try replacing the compiled resources in a fresh apk
Sent from my MT15i using Tapatalk
I tried removing the same ID from AndroidManifest in PhotoWidget.apk, but it didn't work.
The only thing I've managed to get to know is that no widget from com.sonyericsson.advancedwidget.framework will work and also that I'm not the only one, who has problems with it
kormatoes said:
try replacing the compiled resources in a fresh apk
Click to expand...
Click to collapse
Forgive me, but I don't understand. Can you explain it?
I'm unsure what your trying to do but if you get the resources fileand any thing else you changed from the home apk that you made,
and then put IT inside a fresh home apk -ie new untouched home.apk
this should help with what you're saying your problem is
Sent from my MT15i using Tapatalk
kormatoes said:
I'm unsure what your trying to do but if you get the resources fileand any thing else you changed from the home apk that you made,
and then put IT inside a fresh home apk -ie new untouched home.apk
this should help with what you're saying your problem is
Click to expand...
Click to collapse
OMG, I did it
First of all - I didn't understand you at the first time, about resources and "new" .apk. Now I think I got it (not everything, but enough to get this to work).
The problem I found on my private PC (earlier I was using other PC) was the "Sorry thats not the dependee apk, try again" error when trying to decompile Home.apk with framework-res.apk. It didn't happen before, but I was so tired with all of that, I wanted to try the shortest way, so here's what I did:
1. Decompiled Home.apk without dependencies
2. Made some changes I wanted to make
3. Just compiled the app, answering "y" for question about system app, but without copying "additional files".
4. Replaced resources.arsc file inside original (stock) Home.apk with the one from just compiled unsignedHome.apk, installed and...
- working Home.apk - checked
- working widgets - checked
- happy me - checked!
Thanks!
Your wellcome
Sent from my MT15i using Tapatalk 2 Beta-5

[Q] Modifying SystemUI.apk xml file

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

Categories

Resources