UPDATED 12-FEB-13
*DOWNLOADS IN SECOND POST*
Finally...
1% battery mod with themes for the Atrix HD.
This is only for STOCK ODEXED or DE-ODEXED Jellybean 4.1.1, with root. If you have ICS 4.0 and want this mod, PM me. YOU MUST HAVE ROOT. If you need a custom mod done - please PM me with a download link to your SystemUI.apk and framework-res.apk.
These mods also include no carrier in the status bar.
INSTRUCTIONS:
Download the System Ui and the framework for the mod you want. Use a root explorer to move them to system folder. Change the permissions to 0644, or rw-r-r. Then move the systemui to system / app. Move the framework to system / framework. Reboot.
If you encounter problems or don't like the mod just restore a backup with safestrap or save your old system ui and framework and just move those back.
SCREENSHOTS:
1: CM Circle Mod:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
2: Honeycomb Mod:
3: Gummy Mod:
4: Stock Percentage:
I have more but they need more tweaking.
On the way ones include stock style battery with percentage, stock style with offset percentage, gummy style with percentage, and an alternate circle battery. At this point it is just swapping out pngs and recompiling to make sure they work.
Credit: thanks to all those that helped with this, alteredlikeness for looking through code, CyanogenMod for the CM circle mod battery, deeje00 for testing UOT kitchen to make sure this mod works on our device, UOT kitchen for making the mod actually work, and various other artists who have made these icons. I can't remember names now but will credit later.
Downloads:
Stock Odexed Jellybean
1: CM Circle Mod:
SystemUI.apk
framework-res.apk
2: Honeycomb Mod:
SystemUI.apk
framework-res.apk
3: Gummy Mod:
SystemUI.apk
framework-res.apk
4: Stock Percentage:
SystemUI.apk
framework-res.apk
Stock De-odexed Jellybean:
1: CM Circle Mod:
SystemUI.apk
framework-res.apk
2: Honeycomb Mod:
SystemUI.apk
framework-res.apk
3: Gummy Mod
SystemUI.apk
framework-red.apk
Batakang ROM Jellybean
1: CM Circle Mod:
SystemUI.apk
framework-res.apk
2: Honeycomb Mod:
SystemUI.apk
framework-res.apk
Xda contributor and awesome guy alteredlikeness is helping me out. Here is what he replied to me if anyone is following and wants to learn:
alteredlikeness said:
I'll help you get 1% on the AHD... I think I know what the problem might be right off the top of my head..
You were using the example smali files from my guide, right? If you're doing this for jellybean, be careful with your {v5} and {v4} notations - I think for jb it needs to be switched to {v4} - at least on the A2 it did.. Try this:
-Baksmali your stock services.jar again using this (the extra flags clean up the code a bit):
Code:
java -jar baksmali.jar -b -p -m -o classout/ classes.dex
-Use WinMerge (or Meld on Linux) to compare these baksmali'd modded and stock cm10 BatteryService
-You will notice that there are basically only 3 chunks of code added to the smali... I have taken a screenshot of the final addition (where you might need to change the v5 to a v4 or whatever v# is existing right above those - see here:
-Then open your stock and the cm10 modded one with WinMerge and only merge those 3 chunks of code..
Click to expand...
Click to collapse
Gonna try this today, I'm home sick from work.
Other ideas or help is welcome since this mod is for all of us guys. Once ported all of our roms can have this mod.
Sent from my MotoAHD
There may be an issue with your smali edits, or with the re-odexing - or with the fact that you are disassembling an odex file and not the classes.dex...
Life would be a lot easier if you would deodex your system first (well, at least get your framework deodexed for now, and just reodex what you need) - I think then the smali would look much more similar.. because now, you have this:
Code:
const-string v4, "level"
iget[B]-quick[/B] v5, v6, [B][email protected][/B]
[COLOR="Blue"]<ADD CODE HERE>[/COLOR]
invoke-virtual[B]-quick[/B] {v3, v4, v5}, [B][email protected][/B]
const-string v4, "scale"
instead of something like this (don't pay attention the v#'s, these are from cm10 for the A2):
Code:
const-string v2, "level"
iget v3, v4, [B]Lcom/android/server/BatteryService;->mBatteryLevel:I[/B]
[COLOR="Blue"]<ADD CODE HERE>[/COLOR]
invoke-virtual {v1, v2, v3}, [B]Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;[/B]
const-string v2, "scale"
And the code to add in between there is something like this (now we need to pay attention to the v#'s):
Code:
[COLOR="Blue"]invoke-direct {v6}, Lcom/android/server/BatteryService;->getBatteryLevel1Step()V
iget v5, v6, Lcom/android/server/BatteryService;->mBatteryLevel1Step:I[/COLOR]
And, the other two chunks of code above that...
This one, way at the top:
Code:
.field private mBatteryLevel:I
[COLOR="Blue"].field private mBatteryLevel1Step:I[/COLOR]
.field private mBatteryLevelCritical:Z
and, this one, about a 1/4 of the way down.. taking the entire method (insert it above .method private final getIcon(I)I) ..
Code:
.end method
[COLOR="Blue"].method private getBatteryLevel1Step()V
.registers 9
const/4 v4, 0x0
:try_start_1
new-instance v5, Ljava/io/FileReader;
const-string v6, "/sys/class/power_supply/battery/charge_counter"
invoke-direct {v5, v6}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
:try_end_8
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_8} :catch_33
move-object v4, v5
:goto_9
const/16 v6, 0x14
:try_start_b
new-array v1, v6, [C
invoke-virtual {v4, v1}, Ljava/io/FileReader;->read([C)I
move-result v3
invoke-virtual {v4}, Ljava/io/FileReader;->close()V
new-instance v0, Ljava/lang/String;
const/4 v6, 0x0
invoke-direct {v0, v1, v6, v3}, Ljava/lang/String;-><init>([CII)V
const-string v6, "\n"
const-string v7, ""
invoke-virtual {v0, v6, v7}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
const/16 v6, 0x64
if-lt v2, v6, :cond_2c
const/16 v2, 0x64
:cond_2c
sget-object v6, Ljava/lang/System;->out:Ljava/io/PrintStream;
iput v2, v8, Lcom/android/server/BatteryService;->mBatteryLevel1Step:I
:try_end_30
.catch Ljava/lang/Exception; {:try_start_b .. :try_end_30} :catch_31
:goto_30
return-void
:catch_31
move-exception v6
goto :goto_30
:catch_33
move-exception v6
goto :goto_9
.end method[/COLOR]
.method private final getIcon(I)I
Good luck!
alteredlikeness said:
There may be an issue with your smali edits, or with the re-odexing - or with the fact that you are disassembling an odex file and not the classes.dex...
Life would be a lot easier if you would deodex your system first (well, at least get your framework deodexed for now, and just reodex what you need) .........
Good luck!
Click to expand...
Click to collapse
OK gonna de-odex first then. Do the mod and see if it works. Then I can re-odex for those who don't have it de-odexed.
Super
Sent from my MotoAHD
Keep up the good work
Can someone open /init.rc and copy and paste the bootclasspath here?
The whole line that starts like this:
Code:
export BOOTCLASSPATH /system/framework/...
I might have some time this afternoon to look at this..
Sent from my phone's mind
Zipped up whole thing. Gonna be at work all day
https://www.box.com/shared/1tfnzv72plbjwjqbgurt
Sent from my MotoAHD
Btw I'm only about half way done de-odexing my system and that's why I haven't been able to try your suggestions yet altered... Thanks for helping though not many people have a knowledge of working with smali edits.
Sent from my MotoAHD
Attached is the deodexed services.jar for the AHD with the 1% battery increment mod (no guarantees - not tested yet - and only for the JB ATT leak).
Also included in the zip is a .bat file to help re-odex it... It's based on a method that's worked for me on the A2 - see here: http://forum.xda-developers.com/showthread.php?t=1853523.
Download the ReOdexer tool from that thread, and put the .bat files for the AHD (attached to this post) in the extracted re-odexer folder... make sure you have busy box installed and try it out.. hopefully it will give you a new-services.odex file.
Not sure if the script will even work with the AHD (I only added your bootclasspath)... you might need to open the .bat files and edit a bit.. or change the "ext3" to "auto" for the mount steps..
alteredlikeness said:
Attached is the deodexed services.jar for the AHD with the 1% battery increment mod (no guarantees - not tested yet - and only for the JB ATT leak).
Also included in the zip is a .bat file to help re-odex it... It's based on a method that's worked for me on the A2 - see here: http://forum.xda-developers.com/showthread.php?t=1853523.
Download the ReOdexer tool from that thread, and put the .bat files for the AHD (attached to this post) in the extracted re-odexer folder... make sure you have busy box installed and try it out.. hopefully it will give you a new-services.odex file.
Not sure if the script will even work with the AHD (I only added your bootclasspath)... you might need to open the .bat files and edit a bit.. or change the "ext3" to "auto" for the mount steps..
Click to expand...
Click to collapse
Cool I'll try it out and let you know. I'm just gonna finish de-odexing it and that way I don't need to re-odex your file. Less steps the better, easier to troubleshoot.
Sent from my MotoAHD
I can't try it tonight, just got home from work and I'm not up to it. I'll report back ASAP.
Sent from my MotoAHD
I get proper 1% increments if I go into settings battery, you mean you want to change the battery icon to show it?
What app are you using for the notification pulldown quick settings? Im using one called power toggle and it has a 1% battery display in notification bar...
Dont tell me you go into settings wifi for wifi and settings display for brightness change...
Having two battery icons in status bar is hokey and unnecessary. Yes I'm taking about the battery icon itself...
Sent from my MotoAHD
Youngunn2008 said:
Having two battery icons in status bar is hokey and unnecessary. Yes I'm taking about the battery icon itself...
Sent from my MotoAHD
Click to expand...
Click to collapse
You're right but I'd rather take two with percentage than one without it, I had to go in battery settings just to check it few times a day, driving me nuts, and I always use drop down toggles, so its a fair trade for me... anyway, good luck with it!
souljaboy said:
You're right but I'd rather take two with percentage than one without it, I had to go in battery settings just to check it few times a day, driving me nuts, and I always use drop down toggles, so its a fair trade for me... anyway, good luck with it!
Click to expand...
Click to collapse
You're right, I have a minimalistic text widget on my home screen for it right now.
Sent from my MotoAHD
A really good mod idea is making the soft button bar thinner, it doesn't seem like global dpi changes affect it...
I've seen it done on galaxy nexus and other phones... too bad I'll only be getting around to in in about two months.
souljaboy said:
A really good mod idea is making the soft button bar thinner, it doesn't seem like global dpi changes affect it...
I've seen it done on galaxy nexus and other phones... too bad I'll only be getting around to in in about two months.
Click to expand...
Click to collapse
That's a good idea too, how much thinner?
Sent from my MotoAHD
Youngunn2008 said:
That's a good idea too, how much thinner?
Sent from my MotoAHD
Click to expand...
Click to collapse
The button bar was about just as tall as the icons are now. If you aim above the bottom of the display, its still easy to hit them.
souljaboy said:
The button bar was about just as tall as the icons are now. If you aim above the bottom of the display, its still easy to hit them.
Click to expand...
Click to collapse
I'll work on it as soon as I have leisure
Sent from my MotoAHD
Related
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
--==--
As far as I know, this is the first time this has been accomplished on Sense framework for Froyo. I spent a considerable amount of time getting this to work, so I hope everyone likes it. I attempted to make this a MetaMorph theme so it would be easy to apply to any ROM, but I did not have any success. Thus, I will release this with links to framework for different ROMs.
Thanks goes to koush and cyanogen and everyone else that put code into CM6. I started with code from CM6 so it's only fair to show my gratitude for the great dev work they do for this community.
WARNING: I am not responsible for any harm this may directly or indirectly do to your phone. It is always wise to do a backup before applying a mod of this magnitude.
NOTE: You must remove the HTC Lockscreen if you have not done so already. This can be done by running the code below. This mod may also undo some theming you may have done to your rom. After flashing this mod, DO NOT replace your framework-res.apk file with another one or you will end up with a boot loop. I suggest you pull the new one from this mod and theme it manually. Otherwise, run the revert script and then flash whatever theme you want.
Remove HTC lock screen:
Code:
adb shell
mv /system/app/HtcLockScreen.apk /system/app/HtcLockScreen.bak
Install DeskClock.apk:
Code:
adb remount
adb push DeskClock.apk /system/app
Requirements:
You must be using one of the supported ROMs.
Your ROM must be deodexed.
If you are using the HTC clock for your alarms, you will have to install the vanilla clock and use it's alarms instead.
If you have a request for support on another ROM, just ask. I may even put a tutorial together on how to mod your own framework.
Install Instructions:
Remove the HTC lock screen if necessary
Install the vanilla clock if necessary
Download the framework zip for the ROM you are running
Download either the Rotary_Music or Rotary_NoMusic zip
Flash both of the zips in recovery
Reboot
Profit
--==--
Thanks to everyone that has donated
Supported ROMs and Their Framework Zip:
SkyRaider Sense 3.x -- SkyRaider_Sense_Rotary.zip (Mirror)
SkyRaider Vanilla 3.x -- SkyRaider_Vanilla_Rotary.zip (Mirror)
Virtuous 2.6 or Stock OTA -- Virtuous_Rotary.zip (Mirror)
Frankenrom -- FrankenRom_Rotary.zip (Mirror)
Themes:
Smooth Sense 1.0 (framework only; use for stock ROM) -- Smooth_Sense_Rotary.zip (Mirror) -- Original Thread
INCredible REVOlution -- Manup456_REVOlution_1_2r1-INC-rotary.zip
INCredible REVOlution (framework only) -- INCredible_REVOlution_rotary_framework.zip
Theme based on this thread with fixes -- original thread
Fixed Gmail/Voice Search
Fixed emmc not mounting
Lock Screen Options:Sense UI
Rotary w/ Music Controls -- Rotary_Music.zip (Mirror)
Rotary w/ Music Controls & Menu Unlock -- Rotary_Music_MenuUnlock.zip (Mirror)
Rotary w/ No Controls -- Rotary_NoMusic.zip (Mirror)
Revert to Tab Unlock -- Revert.zip (Mirror)
CyanogenMod
Coming soon ...
Complete Roms with Lock Screen:
CyanogenMod 6.0.2 - TouchPro Mod -- cm-6.0.2-Inc-tp-mod.zip
Additional Resources:
Vanilla Desk Clock -- DeskClock.apk
HTC Lock Screen -- HtcLockScreen.apk
TUTORIAL: How to mod your own frameworkFor this mod to work with your framework, you must alter your framework-res.apk file. It requires only editing /res/values/ids.xml and /res/values/public.xml. You need to add lines to both. There are also a couple layouts you need to add to /res/layout. Keep in mind, this tutorial only applies to dinc Sense framework.
Disclaimer: This requires knowledge of some advanced Android tools. I will not explain how to install or use them in this tutorial. I will only outline on a high level what needs to be done.
REQUIRED RESOURCES:
apktool - http://code.google.com/p/android-apktool/
DIRECTIONS:
Decompile framework-res.apk
Make the changes outlined below
Recompile
Open the original apk and delete the /res folder and resources.arsc file
Open up the newly compiled apk and copy over the /res folder and resources.arsc file into the original apk
At this point, you can push it over to your phone for testing
REQUIRED CHANGES:For ids.xml, add the following:
Code:
<item type="id" name="musicControlPlay">false</item>
<item type="id" name="musicControlPause">false</item>
<item type="id" name="musicControlPrevious">false</item>
<item type="id" name="musicControlNext">false</item>
<item type="id" name="fill_parent">false</item>
<item type="id" name="rotary">false</item>
For public.xml, add the following:
Code:
<public type="id" name="musicControlPlay" id="0x0102021e" />
<public type="id" name="musicControlPause" id="0x0102021f" />
<public type="id" name="musicControlPrevious" id="0x01020220" />
<public type="id" name="musicControlNext" id="0x01020221" />
<public type="id" name="rotary" id="0x01020222" />
And ...
Code:
<public type="layout" name="keyguard_screen_rotary_unlock" id="0x01090076" />
<public type="layout" name="keyguard_screen_rotary_unlock_land" id="0x01090077" />
Last, add these two files to /res/layout:
keyguard_screen_rotary_unlock_land.xml
keyguard_screen_rotary_unlock.xml
As always, great work ihtfp69. Do the music controls always stay on screen even if there is no music playing? I'm assuming the controls only work for the default music program?
do i need to install vanilla clock if im using your SR 2.5.2 or SR 3.0?
Nice job ihtfp69. You've been doing good things for the Inc.
You rock......
Sent from my ADR6300 using XDA App
TheWhiteBandito said:
As always, great work ihtfp69. Do the music controls always stay on screen even if there is no music playing? I'm assuming the controls only work for the default music program?
Click to expand...
Click to collapse
They are always on. They will work with whatever your default player is. It works with HTC Music, MusicMod, the stock Android Music, etc ...
zeke1988 said:
do i need to install vanilla clock if im using your SR 2.5.2 or SR 3.0?
Click to expand...
Click to collapse
Only if you are using the Sense version as you likely do not have it installed. It is already included with SkyRaider Vanilla 3.x.
Awesome.
Will this overwrite existing customizations such as status bar mods?
OSully said:
Awesome.
Will this overwrite existing customizations such as status bar mods?
Click to expand...
Click to collapse
It will not undo some status bar mods (like the ones that remove icons from the status bar or change the color of your clock), but may undo some themes like custom battery graphics.
This mod can be applied to any framework, though. It just takes five minutes of work. Currently, I have only done three. I may post a tutorial later if there is interest.
ihtfp69 said:
It will not undo some status bar mods (like the ones that remove icons from the status bar or change the color of your clock), but may undo some themes like custom battery graphics.
This mod can be applied to any framework, though. It just takes five minutes of work. Currently, I have only done three. I may post a tutorial later if there is interest.
Click to expand...
Click to collapse
It did overwrite the Revolution theme on Virtuous 2.6 rom, and I tried overwriting it by reinstalling the theme, which caused a force close on boot up and a boot loop, lol.
Nandroid ftw.
Any theme that includes a framework-res.apk file will either have to be patched or re-applied to the framework in the second post. Just post a request or have the themer pm me. To avoid boot loops, flash the revert script before flashing another theme. It will put things back.
Nothing for CM6?
ihtfp69 said:
Any theme that includes a framework-res.apk file will either have to be patched or re-applied to the framework in the second post. Just post a request or have the themer pm me. To avoid boot loops, flash the revert script before flashing another theme. It will put things back.
Click to expand...
Click to collapse
I meant no disrespect, just throwing it out there for anyone was in my shoes.
Installed this happily on my SR Vanilla 3.0 RC2! It is delightful.
However, what wasn't so delightful was that it removed my black notification bar with circle battery and replaced it with the white vanilla.
"What the heck, I did not authorize this" I say to myself.
I try to reinstall the black notification bar from rom manager and... boot loops
Color me strange but I prefer the black notification bar to the rotary lockscreen with music controls. I'm all about aesthetics!
Good thing I heeded the warnings and made a backup before install
Nice!!
Thanks ihtfp69 !!
Div033 said:
"What the heck, I did not authorize this" I say to myself.
Click to expand...
Click to collapse
lmao!
10char
Blue Theme
For those that might already have a blue theme for SkyRaider 3.1 RC3 I have ported the blue theme over to the new Rotary Framework that ihtfp69 just released. Just install it via Rom manager or recovery. Also make sure that you are running a blue theme or you will just have only parts of the theme blue. I also ported a blue them over to this rom so you can check it out in the theme section. I take no credit for anything that I did. All I did was copy and paste and rename some files. As always great work ihtfp69
File download -----> http://www.mediafire.com/?pbzs4ddjjvwm1cm
Music controls
So I cannot get the music controls to work. I am just useing the default HTC music player. I start to listen to some music then lock the screen and the pause does nothing. Nor do any of the buttons.
This is a real nice mod.
Thanks!
this tweak can help those who want a better wifi signal
some people asked to me to install this on my rempuzzle
but this is ALREADY INSTALLED.
if your modem if too far from you,and your wildfire can t use the wifi connection,this may help you
ok,now,maybe,someone doesn t understand me(because of my grammatical errors xd) so i ll show you what it does:
{
"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"
}
what you need:
the calibration file of your rom(step1)
smali and basksmali or this tool to decompile/compile in 1 click-download
the framework.jar of your rom
this zip-download updated
7-zip installed
step1
using a root file manager go to /proc
copy the file named calibration in your sdcard
now go to system/framework and copy the framework.jar in your sdcard
step2
move the calibration file from your sd to system/etc and set permissions in this way:
owner v v
group v
others v
step3
download the zip and flash it
step4
go to system/etc open the calibration file and add this line at the end of the file
rssi_offset=0
save it
ATTN: 0 is the default value.a good value is 20 or 30 but remenber to add this - before the number.
so for ex.
rssi_offset=-20
step5
download the tool(only windows)
extract it everywhere
move the framework.jar in the folder of the tool(wifitweak)
now open de-compile_tool.bat and wait
you will see a new folder named classout
go to classout/android/net/wifi and open WifiManager.smali with for ex. notepad++
you have to edit this values:
[.....]
Code:
.field private static final MAX_RSSI:I = [COLOR="red"][B]-0x37[/B][/COLOR]
.field private static final MIN_RSSI:I = [COLOR="red"][B]-0x64[/B][/COLOR]
[....]
Code:
.method public static calculateSignalLevel(II)I
.registers 9
.parameter "rssi"
.parameter "numLevels"
.prologue
const/4 v6, 0x0
const/16 v5, [COLOR="red"][B]-0x46[/B][/COLOR]
const/16 v4, [COLOR="red"][B]-0x50[/B][/COLOR]
const/16 v3, [COLOR="red"][B]-0x64[/B][/COLOR]
const/4 v2, 0x1
.line 769
const/4 v1, 0x4
if-ne p1, v1, :cond_1f
.line 770
if-lt p0, v5, :cond_f
.line 771
const/4 v1, 0x3
.line 786
:goto_e
return v1
.line 772
:cond_f
if-ge p0, v5, :cond_15
if-lt p0, v4, :cond_15
.line 773
const/4 v1, 0x2
goto :goto_e
.line 774
:cond_15
if-ge p0, v4, :cond_1d
const/16 v1, [COLOR="red"][B]-0x55[/B][/COLOR]
if-lt p0, v1, :cond_1d
move v1, v2
.line 775
goto :goto_e
:cond_1d
move v1, v6
.line 777
goto :goto_e
.line 780
:cond_1f
if-gt p0, v3, :cond_23
move v1, v6
.line 781
goto :goto_e
.line 782
:cond_23
const/16 v1, [COLOR="red"][B]-0x37[/B][/COLOR]
you need to adjust these values according to your number in the calibration file
there is isn t a way,someone says subtract the number you wrote in the calibration
someone else says add the number you wrote in the calibration file
so you have to try
for ex. you wrote -20
you can try to subtract 20 or add 20 or subtract 10 or add 10
ie you need to find a working value (for you and your rom) between -20 and +20
or -30 and +30 if you wrote -30
or -50 and +50 if you wrote -50
how to do that
take the first value(max rssi)= -0x37
go to google and write: 0x37 in decimal
the first result is a calculator
now 55-20=35
go to google and write: 35 in hex
35 = 0x23
replace 0x37 with 0x23
and so on... min rssi -20 etc...
i hope it is clear
step6
to compile
open the tool again and wait
you will see a new file classes.dex
open the framework.jar with 7-zip file manager
move the classes.dex in the window of 7-zip and press YES
now replace your new framework.jar in system/framework
MAKE A BACKUP OF THE ORIGINAL
set permissions:
owner v v
group v
others v
and reboot
if the phone stuck on boot, use adb or android commander to restore the original framework.jar
thanks to gtg465x for the idea
TOO difficult for me
Duder.
1. Doesn't seem like a good section.
2. Use
Code:
tags.
Can you post a moded cm7 stable rom framework pliz ?
Sent from my HTC Wildfire using xda premium
I don t have a cm7 now
Give me your framework
Or wait that i download it
Which version are you using?
sent from my desire s
Wow, excellently stated and extremely comprehensive! Thanks for sharing.
kylon said:
I don t have a cm7 now
Give me your framework
Or wait that i download it
Which version are you using?
sent from my desire s
Click to expand...
Click to collapse
I used the latest stable version.Can't upload my framework now because i can't use my computer now.And also do that with the cm9 framework (latest build who are upload in the latest page of the subject) like koolsavas say will be a good tweak.
If i helped press the thanks butom
el_bhm said:
Duder.
1. Doesn't seem like a good section.
2. Use
Code:
tags.[/QUOTE]
what nonsense code have you written...if u have to mock...go out of this forum please.... don't rite all offensives things:mad:
Click to expand...
Click to collapse
I ll make the frameworks as soon as possible in the next days
sent from my desire s
u give this when school is over...
Sent from my HTC Wildfire
androidino95 said:
u give this when school is over...
Sent from my HTC Wildfire
Click to expand...
Click to collapse
And ???
Sent from my HTC Wildfire using xda premium
Pator57 said:
And ???
Sent from my HTC Wildfire using xda premium
Click to expand...
Click to collapse
I couldve used this to catch signal from nearby cafes
Sent from my HTC Wildfire
I'm a little concerned, won't this affect the hardware?
take for example xloud plugin, it works but damages the speaker after some time. Will this tweak do the same to the Wi-Fi antenna ?
Sent from my HTC Wildfire using Tapatalk 2
lo2ay said:
I'm a little concerned, won't this affect the hardware?
take for example xloud plugin, it works but damages the speaker after some time. Will this tweak do the same to the Wi-Fi antenna ?
Sent from my HTC Wildfire using Tapatalk 2
Click to expand...
Click to collapse
A speaker uses a physical motion to create sound, force this to be to much for the size & quality of your speaker & it'll go pop.
An antenna doesn't have any physical motion and uses software to tell it what to do so I don't think it should break.
"I don't look for trouble it just kind of follows me around"
Followed Guide Exactly,
currently rebooting after replacing Framework.jar on CM7.2 RC1.
Will Post with results.
EDIT: stuck on boot, restoring old framework...
is this fix also the one you included in rempuzzle 2.71?
FGOD said:
is this fix also the one you included in rempuzzle 2.71?
Click to expand...
Click to collapse
Yes
It s not a fix
GlennBrownie said:
Followed Guide Exactly,
currently rebooting after replacing Framework.jar on CM7.2 RC1.
Will Post with results.
EDIT: stuck on boot, restoring old framework...
Click to expand...
Click to collapse
Probably the framework is corrupted
The big problem is to make a working framework
sent from my desire s
Hi there
Currently trying to do this but im at step 5 and it opens the command box but then after a while it closes and nothing happens. I tried replacing the framework but the same problem occured. I took a screenshot just before it close and it says
"Everything is OK
Size: 7329144
Compressed: 3110500
decompiling...
"java" is not recognized as an internal or external command, operable program or batch file.
doing some stuff
Deleted file - E:\wifitweak\wifitweak\classes.dex
If someone can shed some light on this that would be great!
kylon said:
Yes
It s not a fix
Probably the framework is corrupted
The big problem is to make a working framework
sent from my desire s
Click to expand...
Click to collapse
The script i mean but thanks for answering ;-)
Welcome to the end of your life, hail the oceanborn
FGOD said:
The script i mean but thanks for answering ;-)
Welcome to the end of your life, hail the oceanborn
Click to expand...
Click to collapse
The zip?
MacGyver Jack said:
Hi there
Currently trying to do this but im at step 5 and it opens the command box but then after a while it closes and nothing happens. I tried replacing the framework but the same problem occured. I took a screenshot just before it close and it says
"Everything is OK
Size: 7329144
Compressed: 3110500
decompiling...
"java" is not recognized as an internal or external command, operable program or batch file.
doing some stuff
Deleted file - E:\wifitweak\wifitweak\classes.dex
If someone can shed some light on this that would be great!
Click to expand...
Click to collapse
You don t have java
Or you have a bad installation
sent from my desire s
A new Jelly bean how to was posted here.
This mod was built by Lidroid so all credits goes to him.
{
"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"
}
Lidroid ported his toggles to LF2 Roms, but sadly it depend on his toolbox framework.
I managed to get the needed packages from his framework, i included all toggles source code in SystemUI, to make it easy to port on next updates.
Let start, you need to decompile SystemUI.apk (use my repacked Apk_Manager if you get any issue with ICS files).
Edit "SystemUI.apk\res\layout\tw_status_bar_expanded.xml" and make these changes, this will hide the stock status bar and use the new one:
Code:
-- <HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="wrap_content"
++ <com.wanam.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" />
++ <HorizontalScrollView android:id="@id/quicksetting_scroller" android:visibility="gone" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="wrap_content"
Edit "SystemUI.apk\res\values\ids.xml" and add this Id:
Code:
++ <item type="id" name="exp_power_stat">false</item>
Edit "SystemUI.apk\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali" and make these changes :
Code:
.field mPostCollapseCleanup:Ljava/lang/Runnable;
++ .field mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;
.field mQueueLock:Ljava/lang/Object;
Method "addIcon" :
Code:
invoke-virtual {v1, v0, p3, v2}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
++ iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;
++ invoke-virtual {v1}, Lcom/wanam/systemui/quickpanel/PowerWidget;->updateWidget()V
return-void
Method "makeStatusBarView"
Code:
iput-object v0, v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
++ const v18, 0x7f0f00d9
++ move/from16 v0, v18
++ invoke-virtual {v6, v0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->findViewById(I)Landroid/view/View;
++ move-result-object v18
++ check-cast v18, Lcom/wanam/systemui/quickpanel/PowerWidget;
++ move-object/from16 v0, v18
++ move-object/from16 v1, p0
++ iput-object v0, v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;
sget-boolean v18, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z
Code:
iput-boolean v0, v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mUseStatusBarMarquee:Z
invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->tw_loadNotificationShade()V
++ move-object/from16 v0, p0
++ iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;
++ invoke-virtual {v0}, Lcom/wanam/systemui/quickpanel/PowerWidget;->setupWidget()V
return-object v13
Extract attached "wanam.zip" and copy "wanam" folder to your "SystemUI.apk\smali\com".
That's all, recompile your SystemUI.
After building, make sure your Id "exp_power_stat" got the public id "0x7f0f00d9", if you got a different Id, change the public Id in the "makeStatusBarView" method.
Download this file , you need to copy Toggle buttons resources "lidroid-res.apk" to "system/framework", and "QuickPanelSettings.apk" to "/system/app" (with permissions 644) to customize your toggles.
You will need to mod lidroid-res.apk to get rid of "WanamLite Rom" label while trying to reboot, i posted a how to here .
Nice Wanam!
Thank you for sharing stuffs so cool like that.
A really great developer you are.
Thank you for porting lidroids mod wanam,
and thank you for sharing with us!
Great job as always :good::good:
Very nice work wanam!
Already added it
Sent from my GT-I9300 using Tapatalk 2
Hi wanam!
I'm using this mod along with your latest ROM. There is a minor issue regarding the Wifi/Data toggle.
It looks like when wifi is connected (it does work when WiFi is on but not connected), the data icon doesnt refresh when you toggle it. I think the problem is just that it doesn't refresh since it seems that it does respond to the toggle itself.
Any ideas?
Thanks in advance
You are awesome
m33ts4k0z said:
Hi wanam!
I'm using this mod along with your latest ROM. There is a minor issue regarding the Wifi/Data toggle.
It looks like when wifi is connected (it does work when WiFi is on but not connected), the data icon doesnt refresh when you toggle it. I think the problem is just that it doesn't refresh since it seems that it does respond to the toggle itself.
Any ideas?
Thanks in advance
Click to expand...
Click to collapse
I can't reproduce it now, but yes i used to get this issue sometimes with these toggles on my Galaxy S2, does it freeze too from the data ON/OFF settings?
I will investigate later.
wanam said:
I can't reproduce it now, but yes i used to get this issue sometimes with these toggles on my Galaxy S2, does it freeze too from the data ON/OFF settings?
I will investigate later.
Click to expand...
Click to collapse
Hi and thanks for your fast answer.
Actually it does toggle normally in the settings while using the bar's toggle button. It's just that the icon on the bar doesnt refresh. I flashed your 1.3 ROM over your 1.2 without wipe. Can this cause the issue?
::indie:: said:
Thank you for porting lidroids mod wanam,
and thank you for sharing with us!
Great job as always :good::good:
Click to expand...
Click to collapse
waiting for omega v6.1 lol
GadgetCheck said:
Already added it
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
But it`s not in the kitchen, isn`t it?
m33ts4k0z said:
Hi and thanks for your fast answer.
Actually it does toggle normally in the settings while using the bar's toggle button. It's just that the icon on the bar doesnt refresh. I flashed your 1.3 ROM over your 1.2 without wipe. Can this cause the issue?
Click to expand...
Click to collapse
Actually we are not talking about the same bug , i reproduced your issue, and i think it's a minor bug because you don't need to deactivate data while using wifi.
I was talking about data toggle freeze for some seconds while releasing connections, is it a bug or a normal behavior? i will compare with stock ones.
Sent from my GT-I9300 using Tapatalk 2
wanam, Great job on this
These how-to's really contribute well to the development community.
I look forward to working with you in the SGSIII dev arena
Thanks.
Is it possible to add a 2G/3G Switch to it?
The guys over at the Xperia Forum somehow managed to integrate it
http://forum.xda-developers.com/showthread.php?t=1686586
Would be great to have that option on our SGS3!
Thank You!!!!! Great !!!!!!!
By the way ;-) : could you also describe, how to implement the back-button-kill- function (like in Cyanogen) separately?
Would be great, because this function is only in (full) custom roms ...
Is it possible to install it on XLF6 roms, in Omega v6.0?
---------- Post added at 09:29 AM ---------- Previous post was at 09:24 AM ----------
Is it possible to install it on XLF6 roms, in Omega v6.0?
It's a how to for Rom Devs, not a flashable file.
wanam said:
It's a how to for Rom Devs, not a flashable file.
Click to expand...
Click to collapse
Hi im currently using your deodexed stock XXALF2 rom, any chance for a flashable zip for that? please
I made all the necessary line changes but realized the points are wrong from our US variant. Any chance you'd have code to make this possible on the US variants?
Very detailed and great how-to by the way. Was easy to follow.
Sent from my SGH-T999 using xda premium
NeoCream said:
Is it possible to add a 2G/3G Switch to it?
The guys over at the Xperia Forum somehow managed to integrate it
http://forum.xda-developers.com/showthread.php?t=1686586
Would be great to have that option on our SGS3!
Click to expand...
Click to collapse
2G/3G Switch would be awesome!
Guys, I know there's a thread about this here, but that guide is about Gingerbread, and if any of you go to the file mentioned there, you'll see that its completely different.
What you'll need
Tools
I made it using Virtuous Ten Studio, but you can use whatever you want. If you prefer, you can take a look here and choose the tool that best fits in your needs.
Files
/system/app/SystemUI.apk
/system/framework/framework-res.apk
/system/framework/framework.jar
Let's start!
Changing the Plat Logo
This one is pretty much the same, go to framework-res.apk/res/drawable-nodpi/ to change the platlogo.png and platlogo_alt.png, and you can head to SystemUI.apk/res/drawable-nodpi/ to change the jandycane.png, redbean0.png, redbean1.png, redbean2.png and redbeandroid.png.
Changing the Text
For this example, I'll use the lines on 4.2.2 Sammy ROMs. If you are on another build/version, the lines should be like this:
4.2.2 Sammy -> 151, 157 and 198
4.3.1 AOSP ->182, 188 and 238
But I higly suggest you to not do it based on the line numbers, but in the line itself. Here are how the lines should look like:
Code:
[B]1st -> [/B]const-string v9, "Android "
[B]2nd -> [/B]sget-object v9, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
[B]3rd -> [/B]const-string v8, "JELLY BEAN"
1st step: Decompile framework.jar
2nd step: Head to com/android/internal/app/PlatLogoActivity.smali
Go to line 151, the line will be like this:
Code:
const-string v9, "Android "
Here you can change the "Android " text for whatever you want. Note the space (" ") between the word "Android" and the right quote, that's what divides the sentence "Android" from "4.2.2".
e.g.
Code:
const-string v9, "RaphaDroid "
Now go to line 157 and see that things will get a little bit complicate:
Code:
sget-object v9, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
The command sget-object is "calling" a variable somewhere in the file. But we can change it to const-string, just like in line 151. ** I've tried to delete the lines that I thought were responsible for this line, but (probably due to my lacking smali habilities) the phone got into a bootloop. **
e.g.
Code:
const-string v9, "v1.0"
Now head to line 198 and you'll have this:
Code:
const-string v8, "JELLY BEAN"
Here is just like the line 151. Change the JELLY BEAN text for whatever you want.
e.g.
Code:
const-string v8, "TUTORIAL"
Since this line is located under the other ones, there's no need to add space (" ").
Video tutorial (in portuguese, but it's easily understandable)[/indent]
Editando o arquivo framework.jar (Galaxy S3) - Editing framework.jar file (Galaxy S3)
Mission accomplished!
After changing everything you want, just copy/paste your apks and framework.jar in the right place, give permissions "-rw-r--r--" and reboot!
Result
Here we have the result of what we've done.
{
"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"
}
** The words "RaphaDroid" and "v1.0" are divided by that space (" ") that we've added in line 151 **
Please...
All I'll ask you, is that if you are going to change something in your ROM because of this guide, just mention me somewhere in your thread. It helps me A LOT!
Thanks!
---------------------------------------------------------------------------------
Thanks to...
DanielBT for his tutorial in BrasilDroid for editing Plat Logo and Text in Gingerbread
Original guides in BrasilDroid can be found here: for Gingerbread by DanielBT and for Jelly Bean by me.
reserved
really it works for all aosp roms, just different line numbers. I used this guide with N7 no issues. You should post this in xda android theme section too, its extremely useful
Zpik said:
really it works for all aosp roms, just different line numbers. I used this guide with N7 no issues. You should post this in xda android theme section too, its extremely useful
Click to expand...
Click to collapse
Lol
I tried to edit but got into a bootloop. @Zpik, could you tell the lines you used?
Thanks!
Edit: I posted here cause because I wasn't sure it was going to work on other devices.
can someone help me for this?Im totally noob for this :')
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
zamzameir said:
can someone help me for this?Im totally noob for this :')
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Looking at framework.jar inside crDroid AOSPA, I guess you could try this method in lines 182, 188 and 238 (at least in mako). But in CM-based ROMs, I have no clue on what could it be...
There are so many possibilities and I don't know smali... lol
RaphaDroid said:
Looking at framework.jar inside crDroid AOSPA, I guess you could try this method in lines 182, 188 and 238 (at least in mako). But in CM-based ROMs, I have no clue on what could it be...
There are so many possibilities and I don't know smali... lol
Click to expand...
Click to collapse
luckily I'm in paranoid android rom.. can you help me with it? I'll post my framework. jar
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
zamzameir said:
luckily I'm in paranoid android rom.. can you help me with it? I'll post my framework. jar
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Click to expand...
Click to collapse
no need I finally got it working here.. thanks for the tutorial
zamzameir said:
luckily I'm in paranoid android rom.. can you help me with it? I'll post my framework. jar
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Click to expand...
Click to collapse
zamzameir said:
no need I finally got it working here.. thanks for the tutorial
Click to expand...
Click to collapse
Great! I'm very happy for you!
Cheers!
Sent from my
I changed the first post to get it more widespread and cover more devices/versions. Could some Mod move it to a more general theming area?
Thanks!
I'm thinking.. Is there a way where I can manually set my wallpaper background instead of using the current wallpaper in jelly bean?0_o
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
zamzameir said:
I'm thinking.. Is there a way where I can manually set my wallpaper background instead of using the current wallpaper in jelly bean?0_o
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I don't think so... In 4.4, we have a much more complex easter egg, that uses another Wallpaper... But it would be a lot of reading to understand that code...
Or you could use a platlogo with the same size of your screen.
this is a really nice guide.. will try it..
Can we change the smali text in file explorer/root explorer?
Sent from my Galaxy Nexus using Tapatalk 2
whyalwaysme said:
Can we change the smali text in file explorer/root explorer?
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
I didn't try that... I prefer to decompile it on PC, than change it and replace the files.
Sent from my
can i change whole easter egg ? like if i want to remove bean flinger n put an animation or a pic :?
yash1331 said:
can i change whole easter egg ? like if i want to remove bean flinger n put an animation or a pic :?
Click to expand...
Click to collapse
You will need a lot of smali knowledge for this hahaha
I don't know if it's possible to be done in few steps or without "recoding" everything... And I think it doesn't accept animations, only static images.
Sent from my
I've requested someone for framework res apk and framework.jar of nexus 5. Maybe it will help me........ btw I'm just a school student in std 10th and know nothing about coding
yash1331 said:
I've requested someone for framework res apk and framework.jar of nexus 5. Maybe it will help me........ btw I'm just a school student in std 10th and know nothing about coding
Click to expand...
Click to collapse
For the record, I didn't mean to offend you, ok?
And I took a look at a 4.4 framework.jar and it's COMPLETELY different, because of the much complex Easter Egg that is present in KitKat.
I wasn't offended btw I was just telling.
And I planned to do some research on SystemUI and framework of ics and compare it with job N kk. Because ics also have an animation easter egg
---------- Post added at 11:54 PM ---------- Previous post was at 11:53 PM ----------
I wasn't offended btw I was just telling.
And I planned to do some research on SystemUI and framework of ics and compare it with job N kk. Because ics also have an animation easter egg
{
"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"
}
INTRODUCING
Hello XDA Community
I just want to share TIPS how to port OEM/VENDOR Apps to your current ROM
Requirement :
1. Knowledge in decompile/recompile/sign/zipalign apk file (apps)
- If you don't know how to do this, visit this thread http://forum.xda-developers.com/showthread.php?t=2195680
2. Knowledge to find library file (*.so file) and framework file (*.jar) whats needed from apps
3. You should understand MANAGING APPLICTAIONS it help on making update into system like porting APPS
- if you don't know how to do this, visit this post http://forum.xda-developers.com/showpost.php?p=60829642&postcount=2
4. Knowledge to use LogCat
- if you don't know how to do this, visit this thread http://forum.xda-developers.com/showthread.php?t=2274119
What should i do now? :
1. First times you need download Full ROM is there already deodexed so you can take some file you need to ported or you make it by yourself
2. If you already understand what i said above, lets start to final section
3. If you already take all file what you need to port, collect all the files, and prepare update.zip updater, add the file to zip with right folder
*.Apk file must be in system>app or priv-app
*.So file must be in system>lib
*.jar file must be in system>framework
*.xml file permissions framework must be in system>etc>permissions
How can I know what's library is needed? :
1. Knowledge is in need if the library doesn't exist in apk file, locate the name of the library file (*.so file) that may be related to the application (the file name may be a bit the same with the application) you can search in system>lib or use using a logcat after installing apps, you will see a missing library like :
FATAL error can't find class blablabla something like that
2. If library file already exist in apk file /folder lib>armeabi (You just need to extract it from apk file and take the file *.so)
(Taking *.so files)
Example for all applications
NOTE For Lollipop : Google has change structure of an applications in system that every applications having lib folder itself, it make more easy to locate lib files
- Open SemcAlbum.apk using winrar/rar and extract folder lib then remove folder lib from that app
- Rename com.sonyericsson.album.apk to SemcAlbum.apk
- Create folder with same name with apk name (SemcAlbum)
- Under that folder create folder lib
- Under lib folder create folder arm
- navigate to the extracted lib before, move *.so files from armeabi-v7a if exist or armeabi into SemcAlbum/lib/arm/
Click to expand...
Click to collapse
3. To see what's apps required library framework file :
- Decompile apps with using file framework-res.apk from that ROM apps (Also maybe need framework 2 like SemcGenericUxpRes.apk etc)
- Open AndroidManifest.xml using Text Editor (Like NotePad++) and see like this line
<uses-library android:name="com.sony.device" android:required="true" />
Click to expand...
Click to collapse
<uses-library android:name="com.sony.device" android:required="false" />
Click to expand...
Click to collapse
Leave file has been decompiled and Take it file name (In list AndroidManifest) from the ROM file that you want to ported from system>framework also take permission framework file (*.xml) from system>etc>permissions
Example :
com.sonyericsson.navigationbar < it mean jar file, so you should take the file from system/framework
framework files need xml file permissions
com.sonyericsson.navigationbar.xml file, so you should take the file from system/etc/permissions
Explaination :
What The different true & false?
true : the application is required that framework to work
false : the application is still required that framework but without that framework the application can still work but some feature that need framework files will not work.
This section is not modified the apps, first you can try flash it with Recovery and see its working or not, if not working (FC) you need to see whats wrong in logcat (FATAL ERROR)
Or the problem apps parsing error because your Android Version is lower (e.g apps JB to ICS)
Now you need to decompile that apps
Go to smali folder and search whats wrong in logcat, if you already fix it (I will explain how to fix it in next post)
Then open AndroidManifest.xml try to change minimal sdk version from Android_manifest or in apktool.yml
Code:
minSdkVersion: '[COLOR="Red"]16[/COLOR]'
targetSdkVersion: '17'
Change to this number
Code:
minSdkVersion: '[COLOR="Red"]14[/COLOR]'
targetSdkVersion: '17'
save all changes
then recompile, sign and zipalign
NOTE :
1. Not any apps can be ported to lower Android Version by change minimal sdk
Analizing app force close and how to fix it
Well in this post i will explain how to fix force close app that you are trying to port
Typically applications that do not work is because several factors:
1. Missing library framework
2. Missing *.so files
3. Java Method or function that do not match with your current ROM
Click to expand...
Click to collapse
1. Missing library framework
You should look at AndroidManifest.xml what app needed framework files, see screenshots!
take the file name like on AndroidManifest.xml in system/framework and take xml permissions files from system/etc/permissions
Click to expand...
Click to collapse
2. Missing *.so files
This is really confused how to find what app is need *.so files
The solution is install the app and take a logcat!
The log will say something like this :
example (can't find class libUXVisualizer blablabla)
then you just search on system/lib for libUXVisualizer.so from the ROM you want to port and take it!
Click to expand...
Click to collapse
3. Java Method or function that do not match with your current ROM
There is many factors that make app force close, but in SONY Apps usually only error "GetString". if you are trying to port SONY Apps to your current ROM (E.g. CM Based ROM) you will face same issue like this.
What should i do now after i see this log?
Ok let's start!!!
1. Decompile apps with using file framework-res.apk from that ROM apps (Also maybe need framework 2 like SemcGenericUxpRes.apk etc)
2. Go to folder smali/com/sonyericsson/metadatacleanup/util/
3. Open StorageManagerIf.smali using text editor
- Find .line 262 and see like this!
4. Decompile your framework-res.apk
- Go to folder res/value/
- Open Public.xml using text editor
- Following StorageManagerIf.smali in .line 262 there is code look like this
Code:
const-string v2, "[COLOR="Red"]storage_internal[/COLOR]"
RIGHT?
- SO Search storage_internal in Public.xml in your framework-res.apk
copy the code and change the code look like this!
Code:
const-string v2, "[COLOR="Red"]storage_internal[/COLOR]"
invoke-direct {p0, v1, v2}, Lcom/sonyericsson/metadatacleanup/util/StorageManagerIf;->getString(Landroid/content/res/Resources;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
Shrink code to
Code:
const v2, [COLOR="Red"]0x10405ad[/COLOR]
So it will look like this
Code:
.line 262
.local v0, "description":Ljava/lang/String;
const v2, 0x10405ad
if-eqz v2, :cond_0
Click to expand...
Click to collapse
In screenshot logcat say there is many error, you should search similar code like before "storage_sdcard" & "storage_usb" and follow changing code guide like before!!! also search in other smali that same error like that.
If you are done, save all change then recompile apk and sign apk
CONGRATZ YOU ARE DONE.
CREDITS :
Thanks to @Lasan for the trick @ibanez7 for always helping me if i stuck
nice thread
Thanks for it...... :good::good::good::good:
but still waiting for more detil tuttor, give some example to port apk from sony to all android device
because i wana be RC-RD like you:silly:
you are realy great RC-RD here
vanitea said:
Thanks for it...... :good::good::good::good:
but still waiting for more detil tuttor, give some example to port apk from sony to all android device
because i wana be RC-RD like you:silly:
you are realy great RC-RD here
Click to expand...
Click to collapse
you are welcome my friend
Yeah i will post with all detail later, now just uploaded some screenshots
No!!! i'm not developer
nice update
Rizal Lovins said:
you are welcome my friend
Yeah i will post with all detail later, now just uploaded some screenshots
No!!! i'm not developer
Click to expand...
Click to collapse
yeah more understod with screenshot, thanks my bro
and i'm sorry about RD-RC........ :fingers-crossed:
i should write RT-RC
Rizal Lovins said:
1. You must be right with signing the apps, because some apps from platform can't be sign with TESKEYS, you will get FC if you wrong signing mode
There is some signing key ;
- Auto testkey
- Platform
- Media
- Testkeys
- etc i forgot
Choose right signing with apps you want to ported
Click to expand...
Click to collapse
Sorry to ask, how do I determine the signing key?
TitaniumZERO said:
Sorry to ask, how do I determine the signing key?
Click to expand...
Click to collapse
just try all signed tool for PC, like signing with private key etc, search at google to xda, or you can download zip signer in google play store in your phone, it's easy to use
Thanks!
Any tutorial for round switches in settings like homani framework
And xperia u phone book port to tipo ????
If i want to port Z1 Task Switcher ... or Z1 small apps like Calculator ...
EX ! should i edit jar files ? like services and framework.jar ....
Or just follow your method ?
---------- Post added at 06:19 PM ---------- Previous post was at 06:19 PM ----------
@Rizal Lovins
nice guide master
i try to backport music apk from lenovo Ics to Gb...and succes 50% may be...but i have little problem about scanning media..not all music can be playing..n always fc if i open music album
on widget work 100% bt not on main app
thanks
n sorry my bad english
Very comprehensive guide bro... Thanks
thanks for sharing:good::good::good::good::good::good::good::good::good::good::good:
@Rizal Lovins I dont understand very well how to know what files .SO i need
Could this guide port a Samsung app like the s-note 3 camera?
I have a question: why needed to decompile framework-res.apk and other framework file before decompiling/compiling other apps ?
Thnxxx alot for this guide Rizal . ..
Will try it when i get tym....
U are awesome mate...
Sent from my Sony Ericsson Xperia Mini Pro(SK17i) using Tapatalk 4
Thank you for tutorial, can someone port Smartactions from Motorola phones. I can try but tomorrow.
Wysłane z mojego Nexus 4 przy użyciu Tapatalka
AlandEr0301 said:
@Rizal Lovins I dont understand very well how to know what files .SO i need
Click to expand...
Click to collapse
You can just launch an app, wait for it to FC and then read logcat to find out what library it requires
The better way is to decompile apk and search for loadLibrary() calls in sources.
Now I only want to know how to port Walkman visualizator, because this error doesn't help much:
E/dalvikvm( 8237): dlopen("/system/lib/libUXVisualizerCore.so") failed: dlopen failed: cannot locate symbol "_ZN8SkBitmap9setConfigENS_6ConfigEiii" referenced by "libUXVisualizerCore.so"...
Click to expand...
Click to collapse
This symbol is not there in some library, but what lib exactly?) I think it's in Skia 2D graphic library, but I haven't found a version with which visualizer could work.