Related
I have seen a modified Phone.apk floating around for a while but sadly it stated that it was NOT compatible with the HTC Hero.
Well my phone had a 'feature' that makes it vibrate when the outgoing call connects, and i wanted to remove it.
Note that i'm running DamageControl 2.09 and there is NO option to disable this 'feature'.
Being quite determined and having an OK background in reversing applications i decided to give it a go.
My phone now contains an option in Phone Settings that will enable/disable this vibrate on outgoing connect.
Below i have detailed what I did and why. (I'll spare you all the things i did that didn't work, and only show HOW to modify the APK and get the system to accept it!)
Requistes:
able to run adb from command prompt (SDK in PATH EnVar)
able to run apktool from command prompt (in SDK folder?)
able to run the testsigner from the command prompt as 'java testsign' (ClassPath EnVar)
First things first, anything we do the the Phone.apk is going to require us to resign it. this presents a few problems...
Phone.apk has the following in it's AndroidManifest.xml
android:sharedUserId="android.uid.phone"
Click to expand...
Click to collapse
This means that there is most likely more .apks that have this same UserId (7 to be exact on DC 2.09)
All APKs sharing the same UserID MUST be signed with the same certificate or the OS wont let 'em load.
The second problem is that it is a system application, and if we change it's Certificate it will no longer be granted certain SYSTEM permissions like DEVICE_POWER
The easiest solution was for me to resign every apk in /system/app and /system/framework
Here is a little batch script for windows that i used (you may have to execute the commands individually, sometimes it's tempermental)
Code:
echo off
adb shell stop
mkdir SystemApp
adb pull /system/app SystemApp
mkdir SystemFramework
adb pull /system/framework SystemFramework
for /R %%x in (*.apk) do java testsign "%%x"
adb remount
adb push SystemApp /system/app
adb push SystemFramework /system/framework
rmdir /S /Q SystemApp
rmdir /S /Q SystemFramework
adb reboot recovery
echo Wipe Dalvik-Cache and Perform Factory Reset
echo execute 'adb shell chmod -R 777 /system' from adb
echo reboot and enjoy!
echo on
This code will take care of resigning all system apps, effectively changing the system certificate. Now we are free to modify the Phone.apk all we want!
Please remember that anytime we push a system app like Phone.apk which is 'always' running we should either be in recovery or use the following script:
Code:
adb shell stop
adb remount
adb push Phone.apk /system/app/Phone.apk
adb shell start
del Phone.apk
pause
after a short while the phone will seem to do a soft reset and will be running the new Phone.apk
Now that we have certificate issues out of the way lets look into the actual application itself.
once decompiled with apktool you can run this script to rename all the files to .txt (this is for being able to search the file contents via Windows Search)
note: the command prompt must be CD'd into the output directory of apktool
Code:
for /R %%x in (*.smali) do REN "%%x" *.txt
having searched through all the code for various keyphrases, i'll only show the correct ones here. We need to find where shouldVibrateOut() is located.
after searching for that we should see that it's located in Ringer.smali and looks like this:
Code:
.method shouldVibrateOut()Z
.locals 1
.prologue
.line 430
const/4 v0, 0x1
return v0
.end method
the code above effectively says return true; clearly someone was taking an easy way out here ... but this does confirm that there is no option to disable the 'feature'.
To disable it we could simply change the 0x1 to a 0x0 and recompile/push/reboot and be done with it. But the goal here is to extend the features of the phone, and doing what the dev should have done (giving users the option).
So, next we need to find the Preferences Activity that lists the options, and modify it's XML file to add our own there
looking again in the AndroidManifest.xml we find this:
<activity android:theme="@android:style/Theme.NoTitleBar" android:name="PhonePreference" android:configChanges="keyboardHidden|orientation">
Click to expand...
Click to collapse
So we know the activity is named PhonePreference
now we navigate to the /res/xml folder of apktool's output and find phone_preference.xml
it seems the last Checkbox is:
<com.htc.preference.HtcCheckBoxPreference androidersistent="true" android:title="@string/preference_save_contact" android:key="pref_key_save_contact" android:summary="@string/preference_save_contact_statement" android:defaultValue="true" />
Click to expand...
Click to collapse
so we're going to take this line and copy paste it underneath and make it look like this (changes are bolded)
<com.htc.preference.HtcCheckBoxPreference androidersistent="true" android:title="@string/preference_vibrate_out" android:key="pref_key_vibrate_out" android:summary="@string/preference_vibrate_out_statement" android:defaultValue="false" />
Click to expand...
Click to collapse
now we need to edit the strings.xml file to add values for the above checkbox
add these 2 lines to the strings.xml file:
<string name="preference_vibrate_out">Outgoing Calls Vibrate</string>
<string name="preference_vibrate_out_statement">Phone will vibrate on connect for Outgoing calls</string>
Click to expand...
Click to collapse
If we were to compile it and push it to the phone now we would see a new menu option!
Sadly the Phone application is unaware of how to use this new setting to determine whether or not to vibrate. so we must teach it by editing the code.
I'm not going to go into great detail of what each line does they're pretty self explanatory. however i will go over the important pieces...
we need to change the shouldVibrateOut() routine to this:
.method shouldVibrateOut()Z
.locals 4
.prologue
const/4 v0, 0x0
#v0=(Null);
const-string v1, "pref_key_vibrate_out"
#v1=(Reference);
iget-object v2, p0, Lcom/android/phone/Ringer;->mContext:Landroid/content/Context;
.local v2, v2:Landroid/content/Context;
#v2=(Reference);
invoke-static {v2}, Lcom/htc/preference/HtcPreferenceManager;->getDefaultSharedPreferences(Landroid/content/ContextLandroid/content/SharedPreferences;
move-result-object v3
#v3=(Reference);
invoke-interface {v3, v1, v0}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
move-result v0
#v0=(Boolean);
return v0
.end method
Click to expand...
Click to collapse
the string in v1 is the same string as the android:key="pref_key_vibrate_out" we used when making the new checkbox.
the rest of the code basically grabs a hold of the instance's Context variable and uses some built in APIs to read the setting of that checkbox and return it's value:
Checked == True
Unchecked == False
This will enable the shouldVibrateOut routine to detect whether or not it SHOULD rather than just saying yes.
Come to think of it, why make a routine whose name suggests there's an option and then not give one!! anywayz let's finish up...
next if you did rename all the files you'll need to put them back to .smali
for /R %%x in (*.txt) do REN "%%x" *.smali
Click to expand...
Click to collapse
and then recompile it using apktool, resign it, push it to the /system/app folder AFTER issuing the STOP command as shown above.
once it's pushed you should be able to simply use
adb shell start
Click to expand...
Click to collapse
to do a 'soft' reboot of the phone.
If the app crashes try going into recovery mode and wiping out the dalvik cache!
I hope those who have read this got something out of it, and that i wasn't too confusing or too vague. any questions or comments you may have are welcome.
Enjoy!
Thanks for the instructions, you rock. This will help immensely for adding an option for roam only. I got it working for Fresh, but there were problems with other ROMs. I'm thinking your info will help resolve the issues.
noob Q. is there a flashable file...
That's pretty pro
i can make one, but you still have to resign your entire /system/app and /system/framework...
i could include those in the update.zip for you if you are running DamageControl 2.09
Hmmm... I'm running Zen... so I believe it should work....
Sent from my HERO200 using XDA App
i dont think an update.zip full of DamageControl system apps would work on a different ROM... if u can resign the system itself as described above... i can make an update.zip for you with the Phone.apk in it
Ok....
Sent from my HERO200 using XDA App
Zip Format
please please please make a backup of your original phone FIRST!
adb pull /system/app/Phone.apk Phone.bak
if you flash this update.zip for the new phone and it keeps FCing on you you'll need to either A) flash the Original i've provided in a zip format or reboot into recovery and push your old one back.
you MUST resign all system files like i've described above for my mod to work...
place the below files on your sdcard and flash away...
I do not promise anything unless you are running on DamageControl ROM 2.09
ummmm.... ok so after 2 or so hours... looks like it only works with damage rom.... somewhere some how there is something that is not letting this work... i wounder what it could be,,,,,,, ..... any way great work thank you for your help....
maybe i'll see if i can't get a working one on the Zen rom... any version info i need to be aware of?
EDIT: I'm assuming you're running this ROM....http://forum.xda-developers.com/showthread.php?t=662113
EDIT2: Here you go, as long as you're running the above rom... it'll work, tested it myself
http://www.mediafire.com/?kiaqt264culyt96
vibrate is off by default
to re-enable the vibrate go into Settings->Call->Phone Settings and there's a checkbox for Vibrate on Outgoing
Nieylana said:
maybe i'll see if i can't get a working one on the Zen rom... any version info i need to be aware of?
EDIT: I'm assuming you're running this ROM....http://forum.xda-developers.com/showthread.php?t=662113
EDIT2: Here you go, as long as you're running the above rom... it'll work, tested it myself
http://www.mediafire.com/?kiaqt264culyt96
vibrate is off by default
to re-enable the vibrate go into Settings->Call->Phone Settings and there's a checkbox for Vibrate on Outgoing
Click to expand...
Click to collapse
Actually I'm running Zen Hero fx....
Sent from my HERO200 using XDA App
here: http://www.mediafire.com/?s1zkx93bcnmjfxc
for Zen Hero FX 2.1 Lite
flash this zip and wipe the cache...
Nieylana said:
here: http://www.mediafire.com/?s1zkx93bcnmjfxc
for Zen Hero FX 2.1 Lite
flash this zip and wipe the cache...
Click to expand...
Click to collapse
this is sweet...... again thank you for all your hard work.... it works like a charm....
Hey Q. Do you know anything about vibrating when you press the dial pad... I'm looking thru settings but can't fine it... do you know if its something like this.?.?.
Sent from my HERO200 using XDA App
I can mods that too for you if you would like. Let me know.and the best part is now that u've flashed that zip file, all u'll need is a diff phone app (smaller download )... will work on it tomorrow
Sent from my HERO200 using XDA App
Big-O-Devil said:
Hey Q. Do you know anything about vibrating when you press the dial pad... I'm looking thru settings but can't fine it... do you know if its something like this.?.?.
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=660506
check out this thread bout haptic dialer
Never mind believe he was talking bout adding the option of turning it on and off
I can mods that too for you if you would like. Let me know.and the best part is now that u've flashed that zip file, all u'll need is a diff phone app (smaller download )... will work on it tomorrow
If you can.... ... that would be sweeeeet..
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
Sent from my HERO200 using XDA App
a few problems... it doesn't seem to haveit's own settings page (cant use the Phone Settings page... different package), nor can i seem to add a button to the thing .. will try later
Nieylana said:
a few problems... it doesn't seem to haveit's own settings page (cant use the Phone Settings page... different package), nor can i seem to add a button to the thing .. will try later
Click to expand...
Click to collapse
sounds like a real head-buster.....
I have recently rooted my phone, but ran into an issue with an app that I use for work e-mail and calendaring. The app checks to see if the phone has been rooted before fully launching.
I believe I have found the code where the app checks for compliance.
.method public getRooted()Z
.locals 1
.prologue
.line 192
iget-boolean v0, p0, Lcom/good/common/policy/ComplianceManagerPolicy;->m_checkRooted:Z
return v0
.end method
Can anyone help me return "false"?
Sorry for the noob question. I am teaching myself as I go.
Please post questions in General Section.
Code:
iget-boolean v0, p0, Lcom/good/common/policy/ComplianceManagerPolicy;->false
would be my guess. i'd need to look a bit more at the function to make sure - but that would seem at least logical.
Happy hunting.
Thanks for the reply.
I have made the change and rebuilt the apk file.
I moved the file back onto the device in the /data/app folder right over the old apk file.
Unfortunately, the app disappeared. I copied the apk to my sd-card and try to install it, but it just comes back with a message saying the application not installed.
After rebuilding the apk file, what is the correct process to get it back on the phone?
Thanks
Have to sign it...
Sent from my SPH-D700 using XDA App
Thanks to zeppelinrox and software_samurai for great tutorial of I SCream SUPERCHARGER!! and Guide Modding services.jar
And making this happening!
Credits goes to them!
Im not a developer.
Im just wanna make it easy for u.
Im not so familiar of these coding.
This should works for all android devices.
Do a Nandroid backup! In case Anything Happen!
Recommended to apply this mod to enable init.d script on stock rom.
Because when i running v6,i got a log that it didnt apply setting from 99supercharged.sh
Thus,i enabled init.d on the stock rom.
Here the steps
Step of process
1.V6 Supercharger script
2.Editing the .smali
3.Merging to the phone
4.Recovery (Wipe dalvic cache)
5.V6 Supercharger script AGAIN?
6.Violla! U Get the 100% Supercharged. If not done,repeat again. Or tell me what's the problem.
Requirement :
-For Windows Only
-Busybox 1.19.4 ! (Install using busybox installer) Thanks to xtacy for mention it.
-ODEX/STOCK ROM ONLY
-ICS
-Winrar to open .jar
-Java
-Notepad++ (Install at default location)
-Mount as MTP! or NOT STORAGE MODE
-ADB driver
-USB Debugging and Unknown source ON
Now download my batch file.
See attachment v2.1.1
Old Version
Here
STEP 1 :
Extract it to C:\ drive, the script may fail if extracted on other location.
Follow instruction in the batch and for editing,refer to this post.
STEP 2 :
When u get till "Now editing smali!!!"
p/s: If u dont get a notepad++ open a file,go edit manually this file using notepad++
Code:
.\files\frameworks\classout\com\android\server\am\ActivityManagerService.smali
Sorry if the cmd cant work for u. Im just trying to make a simple,and sometimes i cant find out how to solve it.
Follow instruction Below for editing parts :
Note:
"=======" Not to put on the file,just a break of a search.
Ignore if the ".line " mistmatch! And Ignore if u got some misvalue of the original value!
But make sure u edit according to the line.
"green" is the value to placed in
"red" is the original value
"blue" is the keyword of the search
REPLACE IT PROPERLY
Above of each line,i write the keyword to search,find it.
Search
Check in the "match case"
Now starting the editing process
======================
"visible"
======================
.line 13614
const/4 v2, 0x1
if-le v10, v2, :cond_118
.line 13615
const/4 v10, 0x3 (0x1)
.line 13616
const-string v2, "visible"
move-object/from16 v0, p1
========================
"heavy"
========================
if-ne v0, v2, :cond_154
.line 13654
const/4 v10, 0x4 (0x3)
.line 13655
const/16 v27, 0x1
.line 13656
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13657
const-string v2, "heavy"
move-object/from16 v0, p1
=======================
"home"
=======================
.line 13663
const/4 v10, 0x1(0x4) Note that this is for Die-Hard Launcher! To BulletProof it, make it 0x0, HTK 0x2
.line 13664
const/16 v27, 0x1
.line 13665
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13666
const-string v2, "home"
move-object/from16 v0, p1
=======================
"previous"
=======================
.line 13674
const/4 v10, 0x5(0x7)
.line 13675
const/16 v27, 0x1
.line 13676
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13677
const-string v2, "previous"
move-object/from16 v0, p1
=======================
"backup"
=======================
.line 13694
const/4 v10, 0x7(0x4)
.line 13695
const-string v2, "backup"
move-object/from16 v0, p1
=======================
"started-services"
=======================
.line 13723
const/4 v10, 0x6(0x5)
.line 13724
const-string v2, "started-services"
move-object/from16 v0, p1
========================
SAVE IT!
After Finishing editing and saving,exit it and continue to the command prompt.
REMEMBER,DONT CLOSE NOTEPAD++,IF U NOT DONE EDITING & SAVING IT YET!!!
STEP 3 :
Manually open the "services.jar" using winrar,and drag the "classes.dex" inside the "services.jar"
just click "ok"
and close it.
STEP 4 :
After a few of merge and pushing the file,now Patching! U are near close to the end!
STEP 5 :
Then reboot to recovery for wipe dalvic cache
DONE & GUDLUCK!
Tell me if u have done it,
If u get this when running v6 supercharged
==========================================
Current Minfrees = 1,1,1,1,1,1 MB
MB MB
==========================================
Click to expand...
Click to collapse
u need busybox 1.19.4 !... Thanks to xtacy! to alert me.
P/s : Sorry if my coding not correct,im noob about this,just i wanna share a easy way to u all.
P/s2 : Sometimes it doesnt work,it occur to me before,try again,mybe u got problem on editing part.
thus,start from Edit part.
P/s3 : Tell me if this work to u! if someone can polish my command,then do so and tell me.
100% Tested and working to my Xperia Pro and tablet.
Please link this post is u want to share it!
And lastly,
ALL THIS AT YOUR OWN RISK!
THANKS ME if this help u!
This script was created by zeppelinrox. I am in no way responsible for any part of this script.
This guide i created for myself and other member of other forum,and i feel wanna share what i do to get the 100% supercharged, and here it is.
And sorry for my bad english.
Wow... that's interesting indeed.
You should specify that it's for ODEX roms in the title - which makes this even more useful since the webapp along with the latest V6 Script makes it very easy for deodexed roms and there is nothing for ODEX roms (though, with the manual option, the latest V6 script will install the jar and odex files)
so during step 2,wat happen if i entered the wrong value?
This is brilliant!! Many thanks for this.
Just a small error at which my run failed..
Code:
cd %ProgramFiles%\Notepad++\
notepad++.exe %~dp0files\frameworks\classout\com\android\server\am\ActivityManagerService.smali
should be
Code:
cd [COLOR="red"]"[/COLOR]%ProgramFiles%\Notepad++\[COLOR="Red"]"[/COLOR]
notepad++.exe %~dp0files\frameworks\classout\com\android\server\am\ActivityManagerService.smali
Also, java 1.7 is not ok? I had an error there too, as the script expects java 1.6
Thanks again..
-Updated-
OK I managed to go through, but notepad++ showing weird characters.. can't read it lol.. it's gibberish..
shardul_seth said:
This is brilliant!! Many thanks for this.
Just a small error at which my run failed..
Code:
cd %ProgramFiles%\Notepad++\
notepad++.exe %~dp0files\frameworks\classout\com\android\server\am\ActivityManagerService.smali
should be
Code:
cd [COLOR="red"]"[/COLOR]%ProgramFiles%\Notepad++\[COLOR="Red"]"[/COLOR]
notepad++.exe %~dp0files\frameworks\classout\com\android\server\am\ActivityManagerService.smali
Also, java 1.7 is not ok? I had an error there too, as the script expects java 1.6
Thanks again..
Click to expand...
Click to collapse
May i know,what bit of ur os? Thanks. And can u give me,where the notepad++ be placed? Tq.
vc_stargazer said:
so during step 2,wat happen if i entered the wrong value?
Click to expand...
Click to collapse
Might got bootloop or cant get 100% supercharged.
Eugene1991 said:
-Updated-
OK I managed to go through, but notepad++ showing weird characters.. can't read it lol.. it's gibberish..
Click to expand...
Click to collapse
Weird characters? May i know?
Sent from my MK16i
My %ProgramFiles% has a space in it.. Very common cause of errors if the path is not quoted!
32-bit OS
shardul_seth said:
My %ProgramFiles% has a space in it.. Very common cause of errors if the path is not quoted!
32-bit OS
Click to expand...
Click to collapse
Oh,i see. Thanks for correcting me. But dont know y it work for me.
Nvm,i will try the code tomorrow morning. Thanks!
Sent from my mk16i
@rextor,
Brilliant work mate. This really made it simple.
I did goof up in the beginning but it was worth it to get my arc 100% Supercharged .
It might be worth mentioning that ODEX refers to the Stock ROM and you might want to stress on doing a NANDROID backup .
But I do have a question. Why do my Current Minfrees look like this?
==========================================
Current Minfrees = 1,1,1,1,1,1 MB
MB MB
==========================================
It says I'm 100% Supercharged but those are the minfree values.
Also, if I choose option 10 (Quick V6 Cust-OOMizer), if I choose to apply the values suggested by SuperMinFree Calculator, I get the following error.
/mnt/sdcard/V6_SuperCharger_for_Android-Update9_RC8.2.sh[5587]: *256: unexpected '*'
*EDIT*
Both problems solved. Changing busybox version from v1.20.1-cm9 to v1.19.4-cm9 sorted out the issue.
Thanks
xtacy! said:
@rextor,
Brilliant work mate. This really made it simple.
I did goof up in the beginning but it was worth it to get my arc 100% Supercharged .
It might be worth mentioning that ODEX refers to the Stock ROM and you might want to stress on doing a NANDROID backup .
But I do have a question. Why do my Current Minfrees look like this?
==========================================
Current Minfrees = 1,1,1,1,1,1 MB
MB MB
==========================================
It says I'm 100% Supercharged but those are the minfree values.
Also, if I choose option 10 (Quick V6 Cust-OOMizer), if I choose to apply the values suggested by SuperMinFree Calculator, I get the following error.
/mnt/sdcard/V6_SuperCharger_for_Android-Update9_RC8.2.sh[5587]: *256: unexpected '*'
*EDIT*
Both problems solved. Changing busybox version from v1.20.1-cm9 to v1.19.4-cm9 sorted out the issue.
Click to expand...
Click to collapse
Ah! i forgot that it need a custom of busybox. as it mentioned by zeppelinrox.
Thanks for remind it!
Any news to this error?
Trying merge using JDK!
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.7', but '1.6' is required.
Error: could not find java.dll
Error: could not find Java SE Runtime Environment.
"An Error has Occured, Please merge manual way! Follow below!"
Merging Process!
Please open the services.jar using winrar
and put inside the classes.dex
(located in folder files/merge)
Click to expand...
Click to collapse
Ah, ok. Sorry. I did it already manual. Thanks for this great script!
sorry,
I'm stuck on step 2, notepad ++ doesn't open anything
I've read to look in :".\files\frameworks\classout\com\android\server\am\ActivityManagerService.smali"
But I can't find this file (it is on the computer or on the device?)
It's in the batch file you were asked to download. Navigate to that folder using Notepad ++
Swyped from my SE Xperia arc (LT15i) using Tapatalk 2
in the folder files (C:ReXs_v6/files) I have no other folder
ps: solved reinstalling java 64bit
---------- Post added at 01:01 PM ---------- Previous post was at 12:36 PM ----------
ok after reboot my device won't boot anymore
Is there a way to fix or I have to flash a new rom?
thanks
If you don't follow the instructions carefully, you'll end up with a bootloop (from personal experience. LOL! I had to reflash the fw. My mistake for not taking a nandroid backup).
So reflash the .431 fw and do the process again. Do Step 1; STOP; open Notepad++ and follow the steps.
Swyped from my SE Xperia arc (LT15i) using Tapatalk 2
All charged here. Instructions could be more clear about having to put the stuff into C-drive or else the script will fail. Also some helpful "press enter"-style prompts would be nice. I had to refer to the batch file a few times to figure out what was going on and what should I do next..
That java-version check is nasty. Here are couple of ways to find installed java path.
xtacy! said:
It's in the batch file you were asked to download. Navigate to that folder using Notepad ++
Swyped from my SE Xperia arc (LT15i) using Tapatalk 2
Click to expand...
Click to collapse
Thanks for replying for me,as im rarely online. :beer:
Barleyman said:
All charged here. Instructions could be more clear about having to put the stuff into C-drive or else the script will fail. Also some helpful "press enter"-style prompts would be nice. I had to refer to the batch file a few times to figure out what was going on and what should I do next..
That java-version check is nasty. Here are couple of ways to find installed java path.
Click to expand...
Click to collapse
I already mention it to put on c or extract it to c drive. I will put on if not,script fail.
Oh,ok i try to put on more the enter style for each what its doin,i think it uneasy to enter enter enter to much,i just put it on the important part only...
Tq! But then on the busybox shell,i dont know for each step whats going on,i dont know what code for creating a log file. Anyone know may help.
Sorry if that was a bad coding. Im just create it by reading,and referring code for just to help other people easy to supercharged their phone. If anyone got source for coding for me to guide,will be helpfull. Anyway, later i will polish it later.
Sent from my MK16i using Tapatalk 2
rexstor said:
Thanks for replying for me,as im rarely online. :beer:
Click to expand...
Click to collapse
No worries. Glad I could help.
Swyped from my SE Xperia arc (LT15i) using Tapatalk 2
Worked a treat.
Had same problem as earlier person with wrong Java installed. (Needed 64 bit)
Thanks
ICesWeak
So I followed this guide step by step, succesfully generated a services.jar file, installed via the V6SuperCharger Script, got I Scream SUPERCHARGED and said Yes to a SuperClean & Restart.
Then my phone reboots and , after a while with a pop-up "Updating Android - optimizing apps", i finally get to the home screen.
Since I've read that I should run again de V6SuperCharger Script, I found that my Ic es weak (or something like that), my question is, what am I doing wrong? maybe I shouldn't re-run the script after the wipe/reboot?
I'm sorry if this is a stupid question, but I'll really appreciate some help
This Guide will show you how to Disable increasing ringtone and enable Record feature on Jellybean 4.1.1 without decompiling SecPhone.apk.
You will need to download the zip at the bottom of this thread and unpack folder to desktop.
Java jdk Installed and Environment Variables set correctly (if you don’t know how Google it)
SecPhone.apk for you rom (Deodexed)
Notepad ++
And 7zip.
1. Place SecPhone.apk into SecPhone Diss folder downloaded previously.
2. Hold shift and right click mouse in folder to bring up menu and click: open command prompt here.
3. Type: java -Xmx512m -jar baksmali.jar SecPhone.apk and hit Enter. When this is finished you should have a new folder called out.
4. Go to: SecPhone Diss\SecPhone.apk\smali\com\android\phone and open Ringer$1.smali with Notepad ++.
5. Search for:Landroid/media/AudioManager;->setStreamVolume(III)V .There will be 2 entries. You want the first one, it should match the code below. The v1 v6 etc may be different!
6. Delete the line marked with -- .Increasing ringtone gone!
---------------------------------------------------------------------------------------------------------
iget-object v1,v1,Lcom/android/phone/Ringer;>mAudioManager:Landroid/media/AudioManager;
-- invoke-virtual{v1, v6, v4, v5}, Landroid/media/AudioManager;->setStreamVolume(III)V
.line 573
const/4 v1, 0x7
const-wide/16 v2,0x7d0
----------------------------------------------------------------------------------------------------------
Now for the Record function. If you don’t want this function skip to step 10
7. Go to SecPhoneDiss\SecPhone.apk\smali\com\android\phone\PhoneFeature .smali and open withNotepad ++
8. Search for invoke-static {}, Lcom/android/phone/PhoneFeature;->makeFeatureForUsa()V
9. Add the code marked with ++
----------------------------------------------------------------------------------------------------------
invoke-static {}, Lcom/android/phone/PhoneFeature;->makeFeatureForJapan()V
.line 796
:cond_d
invoke-static {}, Lcom/android/phone/PhoneFeature;->makeFeatureForUsa()V
.line 797
++sget-object v0, Lcom/android/phone/PhoneFeature;->mFeatureList:Ljava/util/HashMap;
++const-string v2, "voice_call_recording"
++const/4 v4, 0x1
++invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
++move-result-object v3
++invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/ObjectLjava/lang/Object;
return-void
-------------------------------------------------------------------------------------------------------------------
10. Now hold shift and right click mouse in folder to bring up menu and click: open command prompt here again and this time type: java -Xmx512m -jar smali.jar out -o classes.dex when complete you will have a new file called classes.dex
11. Right click SecPhone.apk and open archive with 7zip. Inside will be a file named classes.dex replace this one with the one just made by drag drop method.
Job done!
If this helps you the please click Thanks
Be sure to checkout my rom here: http://forum.xda-developers.com/showthread.php?t=1970440
Disclaimer: Do at your own risk. I am not responsible for any damage/data loss etc from doing this Mod. No one made you do it.
Thank you! Will be trying this today.
Sent from my SCH-I535 using Tapatalk 2
gharrington said:
This Guide will show you how to Disable increasing ringtone and enable Record feature on Jellybean 4.1.1 without decompiling SecPhone.apk.
You will need to download the zip at the bottom of this thread and unpack folder to desktop.
Java jdk Installed and Environment Variables set correctly (if you don’t know how Google it)
SecPhone.apk for you rom (Deodexed)
Notepad ++
And 7zip.
1. Place SecPhone.apk into SecPhone Diss folder downloaded previously.
2. Hold shift and right click mouse in folder to bring up menu and click: open command prompt here.
3. Type: java -Xmx512m -jar baksmali.jar SecPhone.apk and hit Enter. When this is finished you should have a new folder called out.
4. Go to: SecPhone Diss\SecPhone.apk\smali\com\android\phone and open Ringer$1.smali with Notepad ++.
5. Search for:Landroid/media/AudioManager;->setStreamVolume(III)V .There will be 2 entries. You want the first one, it should match the code below. The v1 v6 etc may be different!
6. Delete the line marked with -- .Increasing ringtone gone!
---------------------------------------------------------------------------------------------------------
iget-object v1,v1,Lcom/android/phone/Ringer;>mAudioManager:Landroid/media/AudioManager;
-- invoke-virtual{v1, v6, v4, v5}, Landroid/media/AudioManager;->setStreamVolume(III)V
.line 573
const/4 v1, 0x7
const-wide/16 v2,0x7d0
----------------------------------------------------------------------------------------------------------
Now for the Record function. If you don’t want this function skip to step 10
7. Go to SecPhoneDiss\SecPhone.apk\smali\com\android\phone\PhoneFeature .smali and open withNotepad ++
8. Search for invoke-static {}, Lcom/android/phone/PhoneFeature;->makeFeatureForUsa()V
9. Add the code marked with ++
----------------------------------------------------------------------------------------------------------
invoke-static {}, Lcom/android/phone/PhoneFeature;->makeFeatureForJapan()V
.line 796
:cond_d
invoke-static {}, Lcom/android/phone/PhoneFeature;->makeFeatureForUsa()V
.line 797
++sget-object v0, Lcom/android/phone/PhoneFeature;->mFeatureList:Ljava/util/HashMap;
++const-string v2, "voice_call_recording"
++const/4 v4, 0x1
++invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
++move-result-object v3
++invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/ObjectLjava/lang/Object;
return-void
-------------------------------------------------------------------------------------------------------------------
10. Now hold shift and right click mouse in folder to bring up menu and click: open command prompt here again and this time type: java -Xmx512m -jar smali.jar out -o classes.dex when complete you will have a new file called classes.dex
11. Right click SecPhone.apk and open archive with 7zip. Inside will be a file named classes.dex replace this one with the one just made by drag drop method.
Job done!
If this helps you the please click Thanks
Be sure to checkout my rom here: http://forum.xda-developers.com/showthread.php?t=1970440
Disclaimer: Do at your own risk. I am not responsible for any damage/data loss etc from doing this Mod. No one made you do it.
Click to expand...
Click to collapse
Thank you.
When we're on a call and receive another call via call waiting, answering a call gives up a dialog with 2 options:
"1. Putting caller 1 on hold
2. Ending call with caller 1"
This choice imo is very stupid, since it wastes time and negates the very purpose behind call waiting.
By the time I choose an option the call gets missed.
Can you show how to set default as "put caller 1 on hold".
Sent from my GT-I9300 using xda app-developers app
Thks..that a pretty simple n straight forward guide. Tried n working on deodexed ELK4 firmware.
Sent from my GT-I9300 using xda app-developers app
Is there any guide for stock ODEXED JB rom? Please, guys, help me, really need this mode!
How should I alter these instructions for use on Ubuntu with an android development environment setup?
CorySCline said:
How should I alter these instructions for use on Ubuntu with an android development environment setup?
Click to expand...
Click to collapse
1. Insure java is installed.
2. Copy the two files downloaded baksmali.jar and smali.jar directly into home folder (remove them from SecPhone Diss folder) along with SecPhone.apk
3. Its pretty much same deal only you don't need 7zip just double click apks and they open as zip.
4.As long as the files are in home folder. instead of steps 2 + 10 just open terminal and type code.
5.In step 3 the folder created out will be created in home folder.
That should get you through if you get stuck just ask and ill try to help you. Also I just write this it might help you http://forum.xda-developers.com/showthread.php?t=2048132
its the same thing with 4.1.2 ?
F3nr1s said:
its the same thing with 4.1.2 ?
Click to expand...
Click to collapse
Yes mate will work for 4.1.2.
call recording for 4.2.1
gharrington said:
Yes mate will work for 4.1.2.
Click to expand...
Click to collapse
will work for 4.2.1?
anuar.ultimate said:
will work for 4.2.1?
Click to expand...
Click to collapse
I would say not without some modifications at least but I haven't looked yet.
What about CM10.1? Can we patch it with this? Or is it patched already out-of-the-box?
Great manual!
gharrington said:
This Guide will show you how to Disable increasing ringtone and enable Record feature on Jellybean 4.1.1 without decompiling SecPhone.apk
Click to expand...
Click to collapse
Thanks for this great manual!
DualJoe said:
What about CM10.1? Can we patch it with this? Or is it patched already out-of-the-box?
Click to expand...
Click to collapse
In CM10.1 increasing sound disabled by default
Worked on Neatrom 5.9 (SGS2). So easy and useful!
Thanks for the guide, would it be fesible to add a toggle in settings to turn increasing ring tone on and off if wanted.. Thanks again for your time
Sent from my SM-N900V using Tapatalk
Help me please
Hello,
I checked my own phone, but you said no files. Note 3 and Lollipop 5.0 installed on my phone.
What do I need to look into the file?
Thank you.
i have an epm but when i want to add the screenshot its okay but went i recompile its have problem.why? this the link http://forum.xda-developers.com/showthread.php?t=2350724
That's the guide I used to add an epm to hyperion 8 rom so I know it works
You have probably done something wrong - Look at your recompile errors it will tell you
Can You Help Me
i have make it but when recompile have problem can you help me?:laugh: im using stock deodex dxlf1sir.
Like I said - It won't recompile because you have done something wrong
Without a screenshot of your Apktool error no one can help as you haven't actually said or shown why it won't recompile
Have Succesful Recompile
i have success full recompile but the mod doesnt happen
NgamTeroxx said:
i have success full recompile but the mod doesnt happen
Click to expand...
Click to collapse
I'm guessing you haven't put the public ids from the framework into the policy smali files
Read the whole first page - Post 1 AND post 2
And saying something doesn't work unfortunately you will not get a proper answer - you could have done many things wrong
all I can say I check everything you have done including putting all the codes from your public ids.xml into the smali
Thaxs for the hel sir
:laugh: thaxs alot sir
I'm guessing you haven't put the public ids from the framework into the policy smali files
Read the whole first page - Post 1 AND post 2
And saying something doesn't work unfortunately you will not get a proper answer - you could have done many things wrong
all I can say I check everything you have done including putting all the codes from your public ids.xml into the smali
Click to expand...
Click to collapse
i also tried public ids put right recompiled success but when pressing power button no option for Ss and my phone got hotboot
djraje said:
i also tried public ids put right recompiled success but when pressing power button no option for Ss and my phone got hotboot
Click to expand...
Click to collapse
if phone hot reboots chances are the wrong public ids have been used or smali been implimented wrongly
remember you have to compile and decompile the new apk to add the public ids to your public.xml
in most cases you have to remove the leading 0 when adding public ids to smali - so 0x0123456 will become 0x123456 when added to smali
also with this part remove the part in red and change the part in blue to your public ids that relate to the part marked in red in your public.xml
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$12;
const v3, [COLOR="Blue"]0x108xxxx[/COLOR] [COLOR="Red"]-> ic__lock_screenshoot.png[/COLOR]
const v4, [COLOR="Blue"]0x104xxxx[/COLOR] [COLOR="Red"]-> screencapture string[/COLOR]
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$12;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
marcussmith2626 said:
if phone hot reboots chances are the wrong public ids have been used or smali been implimented wrongly
remember you have to compile and decompile the new apk to add the public ids to your public.xml
in most cases you have to remove the leading 0 when adding public ids to smali - so 0x0123456 will become 0x123456 when added to smali
also with this part remove the part in red and change the part in blue to your public ids that relate to the part marked in red in your public.xml
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$12;
const v3, [COLOR="Blue"]0x108xxxx[/COLOR] [COLOR="Red"]-> ic__lock_screenshoot.png[/COLOR]
const v4, [COLOR="Blue"]0x104xxxx[/COLOR] [COLOR="Red"]-> screencapture string[/COLOR]
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$12;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
Click to expand...
Click to collapse
i know sir i did all things correctly but can't get it could u do it for me androidpolicy.jar