Modified Gmail.apk for downloading attached '.zip', '.tar', etc. files - Android Software/Hacking General [Developers Only]

Edit: Updated post with Gmail 4.5.2 -- thank you lmasagao for modifying the latest version!
Hello all,
Yesterday, I discovered that the Gmail app refuses to open or save attached zips (or other archives) because they "could contain malicious software." But sometimes I need to download such files anyway, so I modified the latest Gmail.apk to remove the restriction and thought I'd share. This is based off Gmail 4.2.1 and should work on most devices.
This will allow you to download attachments that were previously disallowed by the Gmail application. You will need another app that is capable of opening a zip/tar/etc file installed.
Disclaimer: I am not responsible for whatever happens as a result of using this modified version. If it goes crazy and emails embarrassing photos to all of your contacts it is neither my nor Google's fault.
That said, the changes are pretty minor and so far seem to work as expected.
Installation:
Uninstall existing Gmail app. If Gmail came pre-installed you must delete it from /system/app (root required)
Install Gmail-zips-[version].apk as normal.
Enjoy.
Modifications Made:
These instructions are only necessary if you wish to modify the APK yourself, otherwise see above.
Decompile Gmail.apk:
Code:
apktool d Gmail.apk
Replace the following from 'smali/com/google/android/gm/provider/MimeType.smali' and 'smali/com/android/mail/utils/MimeType.smali':
Code:
const-string v0, "application/zip"
const-string v1, "application/x-gzip"
const-string v2, "application/x-bzip2"
const-string v3, "application/x-compress"
const-string v4, "application/x-compressed"
const-string v5, "application/x-tar"
new-array v6, v7, [Ljava/lang/String;
invoke-static/range {v0 .. v6}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
with
Code:
new-array v6, v7, [Ljava/lang/String;
invoke-static {v6}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
Rebuild Gmail.apk:
Code:
apktool b Gmail.apk
Sign and install!
*This seemed like the correct place to post since the modification applies to any device, but I apologize if this post belongs in another forum*

I wanted to download a zip file, that I sent to myself from work and discovered this really stupid feature of Gmail,
A quick search did not reveal a solution, other than installing a different mail client or using a browser, great to see you were successful in hacking the .apk - going to download it a give it a try now.
The file you attached appears to be the old 4.1.2 version, not the latest 4.2.1
I tried using apktool to decompile gmail 4.2.1 and edited MimeType.smali
but when I try and recompile it I get an error:
I: Building resources...
C:\apktool\working\com.google.android.gmail\res\xml\gmail_widget_info.xml:2: error: No resource identifier found for attribute 'widgetCategory' in package 'android'

Sorry about that -- must have pulled the /system/app version. I updated the OP with Gmail 4.2.1.
As far as the error you describe, unfortunately I didn't see the same issue. I'm using apktool v1.5.2. I did have to upgrade my SDK tools to 21.0.1 before it would build the new version.
In 4.2.1 there's another smali file that needed to be changed as well: 'smali/com/android/mail/utils/MimeType.smali'

Aluminous said:
Hello all,
Yesterday, I discovered that the Gmail app refuses to open or save attached zips (or other archives) because they "could contain malicious software." Well I don't appreciate Google making that determination for me, so I modified the latest Gmail.apk to remove the restriction and thought I'd share. This is based off Gmail 4.2.1 and should work on most devices.
This will allow you to download attachments that were previously disallowed by the Gmail application. You will need another app that is capable of opening a zip/tar/etc file installed.
Disclaimer: I am not responsible for whatever happens as a result of using this modified version. If it goes crazy and emails embarrassing photos to all of your contacts it is neither my nor Google's fault.
That said, the changes are pretty minor and so far seem to work as expected.
Installation:
Uninstall existing Gmail app. If Gmail came pre-installed you must delete it from /system/app (root required)
Install Gmail-zips-[version].apk as normal.
Enjoy.
Modifications Made:
These instructions are only necessary if you wish to modify the APK yourself, otherwise see above.
Decode Gmail.apk:
Code:
apktool d Gmail.apk
Replace the following from 'smali/com/google/android/gm/provider/MimeType.smali' and 'smali/com/android/mail/utils/MimeType.smali':
Code:
const-string v0, "application/zip"
const-string v1, "application/x-gzip"
const-string v2, "application/x-bzip2"
const-string v3, "application/x-compress"
const-string v4, "application/x-compressed"
const-string v5, "application/x-tar"
new-array v6, v7, [Ljava/lang/String;
invoke-static/range {v0 .. v6}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
with
Code:
new-array v6, v7, [Ljava/lang/String;
invoke-static {v6}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
Rebuild Gmail.apk:
Code:
apktool b Gmail.apk
Sign and install!
*This seemed like the correct place to post since the modification applies to any device, but I apologize if this post belongs in another forum*
Click to expand...
Click to collapse
Can we update the App after replacing it ...??

If you modified the version you have installed yourself, and later update it to a new version you modified yourself, then yes-- you will be able to update it. (This is because the application must be signed with the same key in order to update normally.)
If you have the official version or the version I posted, just uninstall the old version before installing the new one and it will work.
Sent from my SPH-L720 using Tapatalk 4

Related

[MOD]/[HOWTO] Mod HTC Browser to allow 16 windows instead of 4

TomLeeDesire helped me figure out how to tweak an HTC Browser.apk to allow 16 windows instead of 4.
If you're interested in increasing the maximum number of windows, there are four lines in two files within Browser.apk that need to be modified.
I made these changes to the HTC Browser.apk from VaelPak 3.2 RC 1, but it should work on any HTC Browser. 0x10 is 16 in hex, so you can make this value whatever you want. If you get above 25 or so open windows, the browser tends to crash.
com.android.browser.TabControl
.constructor()
Line 52: Change "const/4 v2, 0x4" to "const v2, 0x10"
.canCreateNewTab()
Line 565: Change "const/4 v0, 0x4" to "const v0, 0x10"
.createNewTab()
Line 618: Change "const/4 v1, 0x4" to "const v1, 0x10"
com.android.browser.htc.ui.ImageSlider
.add()
Line 658: Change "const/4 v3, 0x4" to "const v3, 0x10"
Once you know where to look, the changes are pretty easy with APKTool (just use version 1.3.1, since 1.3.2 has a bug and doesn't seem to work correctly).
Here is an HTC Browser.apk with these changes, along with some LowRider menu icons thrown in.
EDIT: This is not an installable apk, because the certificates won't match. You need to have a rooted phone and use ADB to overwrite /system/app/Browser.apk (Make a backup first, of course.)
Wow, thank you so much for this. I have been wondering how this was done for awhile.
Thanks again!
Thank you so much for this.
Thanks again!
Hey, I have tried to install the APK file on my phone but keep getting an error saying "Application not installed". I'm a noob, so sorry if this is a dumb question. I'm using the HTC Desire HD
Thanks, very handy
thank you I was searching for this mod a long time.
I have a htc desire hd. when I try to install with estrongs it says not installed.
when I open your apk file in astro it says version 2.2.1 is installed and the version of your apk is 2.2 . its logic that it does not install. is your apk compatible with desire hd?
Do i need to be rooted for this to work? I haven't tried it yet, but it's definitely something that i would find extremely handy.
ceck_01 said:
Hey, I have tried to install the APK file on my phone but keep getting an error saying "Application not installed". I'm a noob, so sorry if this is a dumb question. I'm using the HTC Desire HD
Click to expand...
Click to collapse
I just used ADB to overwrite the Browser.apk in my /system/app
I don't know if this will work on a non-rooted phone.
I'll see if I can figure out how to make this an installable app.
kcbedo said:
I just used ADB to overwrite the Browser.apk in my /system/app
I don't know if this will work on a non-rooted phone.
I'll see if I can figure out how to make this an installable app.
Click to expand...
Click to collapse
Cool, thanks you very much for the help as I'm sure there are alot of people out there who will want this
ceck_01 said:
Cool, thanks you very much for the help as I'm sure there are alot of people out there who will want this
Click to expand...
Click to collapse
It looks like this will only work if you have a rooted phone.
Android won't let you update your current browser with this one, because the certificates won't match once it's modified. HTC would have to resign the app with these changes in order for it to work.
I believe the only way to replace your Browser.apk app is to have a rooted phone and then overwrite the Browser.apk in /system/app.
wow awesome thnx!
ceck_01 said:
Hey, I have tried to install the APK file on my phone but keep getting an error saying "Application not installed". I'm a noob, so sorry if this is a dumb question. I'm using the HTC Desire HD
Click to expand...
Click to collapse
I'm getting the same message on my DHD.
Taurus30 said:
I'm getting the same message on my DHD.
Click to expand...
Click to collapse
You need to use ADB to push the file to /system/app/Browser.apk (after making a backup first).
Installing this as a regular apk won't work, since I can't sign it with the HTC certificate. Android will only upgrade an app if the certificates match.
Ok, cool. At least I know that now. I'll give it a try as soon as I can. Thanks.
Thanks! I do get force close on my DHD thought will try to modify the browser myself.
Thanks for clearing up the will it/won't it work on an unrooted phone. Looks like I'll just have to get on with the rooting.
Sent from my Desire HD using XDA Premium App
i tried editing browser.apk like how you suggested, and i can successfully overwrite it. But i dont see the internet browser on my device, i mean it's as if i never installed it..
honestly i have too many tabs already. Is there a way to make them all close when i exit the browser? I don't like opening my browser and seeing maybe 5 tabs from some**** i was looking at 3 days ago.
Taurus30 said:
I'm getting the same message on my DHD.
Click to expand...
Click to collapse
ZedeN said:
i tried editing browser.apk like how you suggested, and i can successfully overwrite it. But i dont see the internet browser on my device, i mean it's as if i never installed it..
Click to expand...
Click to collapse
Did you sign it before you put it back? Also, you should probably clear Dalvik cache and reboot.
kcbedo said:
TomLeeDesire helped me figure out how to tweak an HTC Browser.apk to allow 16 windows instead of 4.
If you're interested in increasing the maximum number of windows, there are four lines in two files within Browser.apk that need to be modified.
I made these changes to the HTC Browser.apk from VaelPak 3.2 RC 1, but it should work on any HTC Browser. 0x10 is 16 in hex, so you can make this value whatever you want. If you get above 25 or so open windows, the browser tends to crash.
com.android.browser.TabControl
.constructor()
Line 52: Change "const/4 v2, 0x4" to "const v2, 0x10"
.canCreateNewTab()
Line 565: Change "const/4 v0, 0x4" to "const v0, 0x10"
.createNewTab()
Line 618: Change "const/4 v1, 0x4" to "const v1, 0x10"
com.android.browser.htc.ui.ImageSlider
.add()
Line 658: Change "const/4 v3, 0x4" to "const v3, 0x10"
Once you know where to look, the changes are pretty easy with APKTool (just use version 1.3.1, since 1.3.2 has a bug and doesn't seem to work correctly).
Here is an HTC Browser.apk with these changes, along with some LowRider menu icons thrown in.
EDIT: This is not an installable apk, because the certificates won't match. You need to have a rooted phone and use ADB to overwrite /system/app/Browser.apk (Make a backup first, of course.)
Click to expand...
Click to collapse
im trying to push this but it keeps saying no found, am i doing this right,
this is whats in the command window:
/ # -- adb push c:\Browser.apk /system/app/Browser.apk
-- adb push c:\Browser.apk /system/app/Browser.apk
/sbin/sh:n--: not found
/ #

[MOD] * Removable full battery charge notification * [10/09/11]

Also posted in i9000 dev section:
http://forum.xda-developers.com/showthread.php?t=1295748
You may want to clear the battery fully charged notification when phone is on dock, or it doesn't go away even if unplugged. This mod fixes these.
NOTE: I didn't remove the notification, because I think it a better solution to leave the user this option rather than completely removing it.
* baksmali classes.dex in SystemUI.apk
* open com\android\systemui\statusbar\policy\StatusBarPolicy.smali
* search for "iget v3, v2, Landroid/app/Notification;->flags:I" at around line 1824, under
.method private addFullChargeNotification()V
* remove the following 3 lines:
iget v3, v2, Landroid/app/Notification;->flags:I
or-int/lit8 v3, v3, 0x2
iput v3, v2, Landroid/app/Notification;->flags:I
* save, smali, and update apk
Now you know the trick. SystemUI would make the full charge notification as on-going (flags = flags|0x2), and we simply convert it back to default.
{
"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"
}
Feel free to add in your ROM but please give proper credits.
mrzzheng said:
Also posted in i9000 dev section:
http://forum.xda-developers.com/showthread.php?t=1295748
You may want to clear the battery fully charged notification when phone is on dock, or it doesn't go away even if unplugged. This mod fixes these.
NOTE: I didn't remove the notification, because I think it a better solution to leave the user this option rather than completely removing it.
* baksmali classes.dex in SystemUI.apk
* open com\android\systemui\statusbar\policy\StatusBarPolicy.smali
* search for "iget v3, v2, Landroid/app/Notification;->flags:I" at around line 1824
* remove the following 3 lines:
iget v3, v2, Landroid/app/Notification;->flags:I
or-int/lit8 v3, v3, 0x2
iput v3, v2, Landroid/app/Notification;->flags:I
* save, smali, and update apk
Now you know the trick. SystemUI would make the full charge notification as on-going (flags = flags|0x2), and we simply convert it back to default.
Feel free to add in your ROM but please give proper credits.
Click to expand...
Click to collapse
Nice job bro
Sent from my SAMSUNG-SGH-I997R using xda premium
thanks for the tutorial. the line numbers may differ from firmware to firmware. can you tell us what .method it falls under?
there is a .method private removefullbatterynotification ( or something to that effect) in there that is supposed to be invoked by .method private finalupdatebattery (or something like that) can't see why these aren't running properly and I had no ideas on how to interperet the flags. this is a great solution but have you tested it fully?
on simply honey I have had problems mounting the sd card when the battery is full. I intend to try this and if it works ill finally update the rom and credit this thread. if the sd card doesn't mount ill have to keep trying.
it's under .method private addFullChargeNotification()V
the ongoing flag is removed when the notification is created.
I tested it w/ GSInfuse 1.1 and it worked well. No effect with other functions e.g. usb storage / sd card. (In fact, testing costed me much more time than developing as I had to charge up to full from 20%..) In fact it shouldn't since what it does is just remove the ongoing flag of the notification, nothing else.
Dani897 said:
thanks for the tutorial. the line numbers may differ from firmware to firmware. can you tell us what .method it falls under?
there is a .method private removefullbatterynotification ( or something to that effect) in there that is supposed to be invoked by .method private finalupdatebattery (or something like that) can't see why these aren't running properly and I had no ideas on how to interperet the flags. this is a great solution but have you tested it fully?
on simply honey I have had problems mounting the sd card when the battery is full. I intend to try this and if it works ill finally update the rom and credit this thread. if the sd card doesn't mount ill have to keep trying.
Click to expand...
Click to collapse
Worked for me using dlev rom, the 3 lines were identical.
Here's what i did, maybe the OP can add it to his post.
-Install 7 zip
-Open SystemUI.apk with 7zip
-Extract classes.dex
-Download baksmali and smali.bat from the link HERE.
-place the extracted classed.dex in the services folder (from above link)
-run baksmali
-open the out folder (above link) navigate to \out\com\android\systemui\statusbar\policy
-open StatusBarPolicy.smali in wordpad
-search for "iget v3, v2, Landroid/app/Notification;->flags:I" at around line 1824, under
.method private addFullChargeNotification()V
-remove the following 3 lines:
iget v3, v2, Landroid/app/Notification;->flags:I
or-int/lit8 v3, v3, 0x2
iput v3, v2, Landroid/app/Notification;->flags:I
-save the file
-run smali.bat
-open systemui.apk in 7zip
-drag the new classes.dex file from the "new" folder from the link you downloaded into the systemui.apk in 7zip.
-put the modified systemui.apk into your rom or change with root explorer and reboot.
Wow, way complicated!
Big dog Infuse I997 doin some Hellraising
Bandit_Kaine said:
Worked for me using dlev rom, the 3 lines were identical.
Here's what i did, maybe the OP can add it to his post.
-Install 7 zip
-Open SystemUI.apk with 7zip
-Extract classes.dex
-Download baksmali and smali.bat from the link HERE.
-place the extracted classed.dex in the services folder (from above link)
-run baksmali
-open the out folder (above link) navigate to \out\com\android\systemui\statusbar\policy
-open StatusBarPolicy.smali in wordpad
-search for "iget v3, v2, Landroid/app/Notification;->flags:I" at around line 1824, under
.method private addFullChargeNotification()V
-remove the following 3 lines:
iget v3, v2, Landroid/app/Notification;->flags:I
or-int/lit8 v3, v3, 0x2
iput v3, v2, Landroid/app/Notification;->flags:I
-save the file
-run smali.bat
-open systemui.apk in 7zip
-drag the new classes.dex file from the "new" folder from the link you downloaded into the systemui.apk in 7zip.
-put the modified systemui.apk into your rom or change with root explorer and reboot.
Click to expand...
Click to collapse
I have to fight to use MY COMPUTER. My wife and son are both in college now and are always on it. Time to go shopping for a new one. Hehehe. Thanks Bandit, I will try it and if it works I will put it in the update. I will definitely give mrzzheng credit for finding fix and you credit for fixing it for DlevROM.
I'm not a developer but I try to play one on XDA.
bigfau said:
I have to fight to use MY COMPUTER. My wife and son are both in college now and are always on it. Time to go shopping for a new one. Hehehe. Thanks Bandit, I will try it and if it works I will put it in the update. I will give mrzzheng and you credit.
I'm not a developer but I try to play one on XDA.
Click to expand...
Click to collapse
I posted a link for you in the dlev forum.
All credit to mrzzheng which found the fix.
Bandit_Kaine said:
I posted a link for you in the dlev forum.
All credit to mrzzheng which found the fix.
Click to expand...
Click to collapse
I have to thank you for the systemui.apk.
Thanks mrzzheng, ben trying to do this for awhile now but my family likes to hog my computer. Thanks again.
I'm not a developer but I did stay at a Holiday Inn Express lastnight.
<-- kinda computer illiterate. Needs better direction to do this :-(
Big dog Infuse I997 doin some Hellraising
bignate78 said:
<-- kinda computer illiterate. Needs better direction to do this :-(
Big dog Infuse I997 doin some Hellraising
Click to expand...
Click to collapse
you need to decompile classes.dex.
I guess this can be done with smali and recompiled wth baksmali.
it can be done with apkmanager or apk tool as well but apkmanager doesn't make a working apk for me. it is always missing META-INF folder and the permissions are all wrong. if you must use apk manger the trick is to make a copy of the original apk and take the unsignedrepackaged.apk and pull out classes.dex and merge it into the original SystemUi.apk.
I was messing with this mod earlier but tried to test It in the new simply homey release that's in the vibrant forum and ussing hellraiserb9 but had bootloops. too many changes from my last release of simply honey. I didn't have time to debug. well tomorrow is another day.
Originally Posted by bignate78
<-- kinda computer illiterate. Needs better direction to do this :-(
Big dog Infuse I997 doin some Hellraising
Click to expand...
Click to collapse
you need to decompile classes.dex.
I guess this can be done with smali and recompiled wth baksmali.
it can be done with apkmanager or apk tool as well but apkmanager doesn't make a working apk for me. it is always missing META-INF folder and the permissions are all wrong. if you must use apk manger the trick is to make a copy of the original apk and take the unsignedrepackaged.apk and pull out classes.dex and merge it into the original SystemUi.apk.
I was messing with this mod earlier but tried to test It in the new simply homey release that's in the vibrant forum and ussing hellraiserb9 but had bootloops. too many changes from my last release of simply honey. I didn't have time to debug. well tomorrow is another day.
Click to expand...
Click to collapse
Yea, sorry still lost :-/
Big dog Infuse I997 doin some Hellraising
bignate78 said:
Yea, sorry still lost :-/
Big dog Infuse I997 doin some Hellraising
Click to expand...
Click to collapse
Google smali and baksmali. its classes.dex you need decompiled. you can open the apk with an archive manager to find classes.dex decompile it with smali. edit the smali explained in the op and use baksmali to recompiled a new classes.dex add it back to the apk with an archive manager.
if you hate command line the apk manager can do this too but it can be a whole new can of worms.
ya know what. what Rom do you want to run? ill send you a systemui.apk just give me the Roms name.
It's the other way around. Baksmali decompiles and smali compiles. Check out my post i tried to simplify ro rather extend the instructions.
Dani897 said:
Google smali and baksmali. its classes.dex you need decompiled. you can open the apk with an archive manager to find classes.dex decompile it with smali. edit the smali explained in the op and use baksmali to recompiled a new classes.dex add it back to the apk with an archive manager.
if you hate command line the apk manager can do this too but it can be a whole new can of worms.
ya know what. what Rom do you want to run? ill send you a systemui.apk just give me the Roms name.
Click to expand...
Click to collapse
I'm running an I9000 rom called S.U.R.F.A.C.E. with a blue theme from pauldiddy which is saposedly sapose to run on a jvs rom but surface is jvr (or vice versa) but works just fine. I think I can pull the best thing I can do is pull systemUI I'm useing from my phone that way nothing changes due to some of my own mods to the theme would prob work best.
Big dog Infuse I997 doin some Hellraising
I'm using Simply Honey 5.1 from the i9000 forums. I like this method, but the way I usually do it is to pull the APK onto my netbook (native Linux), use a zip manager to pull the classes.dex out, use baksmali to decompile, fix, recompile with smali and drop back in the APK. then I use adb to push (adb push ./SystemUI.apk /system/app/SystemUI.apk) and reboot as it removes my notification bar. Then I test it.
I'm gonna give this a try. thanks for the hard work
Having done this, I have a renewed appreciation for those who recompile apk's for ROMs.
araemo said:
Having done this, I have a renewed appreciation for those who recompile apk's for ROMs.
Click to expand...
Click to collapse
I second that.
I'm not a developer but I try to play one on XDA. DlevROM Yo!
Does this have to be done from s PC or all through the phone?
I'm not all that computer savvy so I have not one clue what to do or where to start
Big dog Infuse I997 doin some Hellraising

[MOD][HOW-TO][CM10]Receive Apk Files Via Bluetooth

This was when I was modding the status bar of CM10 today. I compiled a new apk but was lazy to connect my usb cable to phone and PC. :silly:
So I thought of transferring the apk by Bluetooth. To my surprise the phone rejected the apk and PC showed Access denied.
When I tried transferring the apk by renaming the extension to .zip, it accepted it.
Now renaming apk to zip everytime is a drag, so I thought why not mod the Bluetooth.apk itself to accept APK files.
BEFORE YOU DO ANYTHING, BACKUP YOUR Bluetooth.apk
So here it goes.
Code:
1. Decompile your Bluetooth.apk
2. Go to Bluetooth.apk\smali\com\android\bluetooth\opp folder
3. Open Constants.smali using Notepad++ (recommended).
4. Find “.method static constructor <clinit>()V” (line no. 19)
5. In that method find “sput-object v0, Lcom/android/bluetooth/opp/Constants;->UNACCEPTABLE_SHARE_OUTBOUND_TYPES:[Ljava/lang/String;”
6. Below that there’s[INDENT].line 201
const/16 v0, 0xb
[/INDENT]7. Change “const/16 v0, 0xb” to “const/16 v0, 0xc”
8. If you go down little futher you’ll find[INDENT]const-string v2, "application/pdf"
aput-object v2, v0, v1
[/INDENT]9. Now add below it:[INDENT]const/16 v1, 0xb
const-string v2, "application/vnd.android.package-archive"
aput-object v2, v0, v1
[/INDENT]10. It should look something like this :
[IMG]http://i.imgur.com/dMiK9.jpg[/IMG]
11. Save the file and recompile the apk.
12. Just copy the classes.dex from the new apk and replace that in the old apk.
13. Use the old apk and replace it in /data/sys-parts/app/ with permissions rw-r-r.
14. Reboot and enjoy.
Attaching my Bluetooth.apk
Any problems let me know.
ammar786 said:
This was when I was modding the status bar of CM10 today. I compiled a new apk but was lazy to connect my usb cable to phone and PC. :silly:
So I thought of transferring the apk by Bluetooth. To my surprise the phone rejected the apk and PC showed Access denied.
When I tried transferring the apk by renaming the extension to .zip, it accepted it.
Now renaming apk to zip everytime is a drag, so I thought why not mod the Bluetooth.apk itself to accept APK files.
BEFORE YOU DO ANYTHING, BACKUP YOUR Bluetooth.apk
So here it goes.
Code:
1. Decompile your Bluetooth.apk
2. Go to Bluetooth.apk\smali\com\android\bluetooth\opp folder
3. Open Constants.smali using Notepad++ (recommended).
4. Find “.method static constructor <clinit>()V” (line no. 19)
5. In that method find “sput-object v0, Lcom/android/bluetooth/opp/Constants;->UNACCEPTABLE_SHARE_OUTBOUND_TYPES:[Ljava/lang/String;”
6. Below that there’s[INDENT].line 201
const/16 v0, 0xb
[/INDENT]7. Change “const/16 v0, 0xb” to “const/16 v0, 0xc”
8. If you go down little futher you’ll find[INDENT]const-string v2, "application/pdf"
aput-object v2, v0, v1
[/INDENT]9. Now add below it:[INDENT]const/16 v1, 0xb
const-string v2, "application/vnd.android.package-archive"
aput-object v2, v0, v1
[/INDENT]10. It should look something like this :
[IMG]http://i.imgur.com/dMiK9.jpg[/IMG]
11. Save the file and recompile the apk.
12. Just copy the classes.dex from the new apk and replace that in the old apk.
13. Use the old apk and replace it in /data/sys-parts/app/ with permissions rw-r-r.
14. Reboot and enjoy.
Attaching my Bluetooth.apk
Any problems let me know.
Click to expand...
Click to collapse
mate your guide is good but if you send an apk using a root explorer there will be no problem
use root explorer from market
but your guide is good for devs
Delete.
@ICS_XD:
Actually SENDING apks is NOT a problem. But RECEIVING is. This solution is for receiving apks from other mobiles or PC. Hope you got it. :good:
A very important contribution.
Thank You so much
ammar786 said:
Oh sorry, I misunderstood your reply.
Actually SENDING apks is NOT a problem. But RECEIVING is. This solution is for receiving apks from other mobiles or PC. Hope you got it. :good:
Click to expand...
Click to collapse
May be a problem in this device cm10 not in my s2 g :good:
Good work narutO
Sent from my GT-I9100G using xda premium
ICS_XD said:
May be a problem in this device cm10 not in my s2 g :good:
Good work narutO
Sent from my GT-I9100G using xda premium
Click to expand...
Click to collapse
Hmmm... Maybe it's only our device... Thanx Edward...
Nope did not work. Tried it on CM10.
Could not receive any file rather
silentvisitor said:
Nope did not work. Tried it on CM10.
Could not receive any file rather
Click to expand...
Click to collapse
Did you follow the steps or used the apk?
Also the system apps are in data/sys-parts/apps and permissions are rw-r-r .
ammar786 said:
Did you follow the steps or used the apk?
Also the system apps are in data/sys-parts/apps and permissions are rw-r-r .
Click to expand...
Click to collapse
Yup all of that and few reboots too and then wrote this post.
silentvisitor said:
Yup all of that and few reboots too and then wrote this post.
Click to expand...
Click to collapse
So you followed the steps?...
Try the apk. If it doesn't work reply back.
Thanks a lot! I been looking for a fix for a while now. Working perfectly on my GS2 Skyrocket on JB Aokp.
Sent from my SGH-I727
I done this on different phone and it works.But i cant find where is /data/sys-parts/app/ . I just copy to system/app and fix permission
atrix2 said:
I done this on different phone and it works.But i cant find where is /data/sys-parts/app/ . I just copy to system/app and fix permission
Click to expand...
Click to collapse
Yeah... That's the place. Only for our device it was /data/sys-parts/app/
tanx but not worked for me

[N7100][MOD][KK][4.4.2] Disable Increasing Ringtone

Good morning buddys, here you got the holy MOD to our N7100 Galaxy Note II
Now, here we go!
You'll need:
SecTeleService.apk
HoloxTool_v1.0.1
1. Download and decompress with WinRAR to your desktop the "HoloxTool_v1.0.1" file.
2. Open “SecTeleService.apk” with WinRAR and take the “classes.dex” file to your folder “dex” (within “HoloxTool_v1.0.1”).
3. Run "HoloxTool.bat" and choose option "2".
4. Go to: “HoloxTool_v1.0.1\database\dex\classout\com\android\phone" and open: “Ringer$2.smali” file.
5. Search the line:"invoke-virtual {v2, v7, v3, v4}, Landroid/media/AudioManager;->setStreamVolume(III)V" and delete the whole line:
.line 1038
iget-object v2, p0, Lcom/android/phone/Ringer$2;->this$0:Lcom/android/phone/Ringer;
iget-object v2, v2, Lcom/android/phone/Ringer;->mAudioManager:Landroid/media/AudioManager;
invoke-virtual {v2, v7, v3, v4}, Landroid/media/AudioManager;->setStreamVolume(III)V
.line 1039
Click to expand...
Click to collapse
- File must be like this:
.line 1038
iget-object v2, p0, Lcom/android/phone/Ringer$2;->this$0:Lcom/android/phone/Ringer;
iget-object v2, v2, Lcom/android/phone/Ringer;->mAudioManager:Landroid/media/AudioManager;
.line 1039
Click to expand...
Click to collapse
6[FONT=&quot]. Save changes[/FONT][FONT=&quot] and recompile pressing the option "3" in “HoloxTool_v1.0.1” menu.[/FONT]
[FONT=&quot]7. Copy the “new-classes.dex” file (in “HoloxTool_v1.0.1\database\dex”) to your desktop and rename it to “classes.dex”.[/FONT]
[FONT=&quot]8. Open“[/FONT][FONT=&quot]SecTeleService.apk” with “WinRAR” and pass the “classes.dex” file[/FONT]
9. Now you can pass the "SecTeleService.apk" to your system/priv-app folder with RootExplorer or to your favourite ROM.
[FONT=&quot]Thats all [/FONT]
This means we can fix the ringtone problem like the ringtone volum is low during initial ring then suddenly jump to loud ring volume problem?
soralz said:
This means we can fix the ringtone problem like the ringtone volum is low during initial ring then suddenly jump to loud ring volume problem?
Click to expand...
Click to collapse
You're right buddy
sent from a far far Galaxy n7100
klurosu said:
You're right buddy
sent from a far far Galaxy n7100
Click to expand...
Click to collapse
Then theoretically it should work on all other Samsung models too...
soralz said:
Then theoretically it should work on all other Samsung models too...
Click to expand...
Click to collapse
Only in 4.4.2 man.
In 4.3 the target file is totally different.
sent from a far far Galaxy n7100
No Classes.dex in Sectele.apk
Respected Sir
When i Unrar Sectele apk there is no Class Folder to put into Holox Tool.
I am On 4.4.2 Stock Samsung ROM.
Is There any other Way?
Or Am i doing something Wrong?
Regards
talpur1 said:
Respected Sir
When i Unrar Sectele apk there is no Class Folder to put into Holox Tool.
I am On 4.4.2 Stock Samsung ROM.
Is There any other Way?
Or Am i doing something Wrong?
Regards
Click to expand...
Click to collapse
You need to decompile the apk.
I'm on stock 4.4.2 and can't find SecTeleservices.apk anywhere - could someone tell me where do I get it from ? I've checked system/apk and it's not there. No clue
pegaz said:
I'm on stock 4.4.2 and can't find SecTeleservices.apk anywhere - could someone tell me where do I get it from ? I've checked system/apk and it's not there. No clue
Click to expand...
Click to collapse
it's in system/priv-app

[MOD][GUIDE] Stock MMS Options

What Does this MOD do?
This new MOD will give you the following options:
Code:
[B][COLOR="DarkRed"][CENTER]Screen on/off when receiving text
MMS Subject
Delay text
Message Drafts
Delivery Reports
Multimedia Options
-Roaming retrieve
-Group Options
-MMS Alerts
Pop-Up Display
Preview Options
Change SMS and MSM Limits
Change Image Size [/CENTER]
[/COLOR][/B]
You may already have some of these options, I am just noting what seemed new to me...
Using your method of choice........
Pull SecMms_Blue.apk from your priv-app folder
Navigate to smali/com/android/mms/MmsConfig.smali
Find .method static constructor <clinit>()V
Basically v2 = 0 = disable......... and v3 = 1 = enable
So any options in this method you want to disable change to v2 and any options in this method you want to enable change to v3.
To change the MaxMessageSize, do the following....
Find sput v0, Lcom/android/mms/MmsConfig;->sMaxMessageSize:I and change the line above to const v0, 0x12b8f8
To change the MaxImageHeight and MaxImageWidth, do the following.....
Find sput v0, Lcom/android/mms/MmsConfig;->sMaxImageHeightRestrictedMode:I and change the line above to const/16 v0, 0x780
Find sput v0, Lcom/android/mms/MmsConfig;->sMaxImageWidthRestrictedMode:I and change the line above to const/16 v0, 0xA00
This will give you a max image size of 1920 x 2560. Change the hex values to make it larger or smaller if you like.
I changed most of the other limits to 0x1F4, whick equals 500 in base10, change to what you desire if 500 is not right for you.
Thats basically it. I will attach a simple flash for a deodexed file system. Its located in the downloads bar at the top of the post.
Enjoy, hit thanks if you want to.
XDA:DevDB Information
Stock MMS Options, ROM for the Verizon Samsung Galaxy S 5
Contributors
Didact74
Version Information
Status: Testing
Created 2014-08-12
Last Updated 2014-08-12
I see MrHyde thanks. I guess we'll be seeing this mod in his rom :good:
Didact74 said:
What Does this MOD do?
This new MOD will give you the following options:
Code:
[B][COLOR="DarkRed"][CENTER]Screen on/off when receiving text
MMS Subject
Delay text
Message Drafts
Delivery Reports
Multimedia Options
-Roaming retrieve
-Group Options
-MMS Alerts
Pop-Up Display
Preview Options
Change SMS and MSM Limits
Change Image Size [/CENTER]
[/COLOR][/B]
You may already have some of these options, I am just noting what seemed new to me...
Using your method of choice........
Pull SecMms_Blue.apk from your priv-app folder
Navigate to smali/com/android/mms/MmsConfig.smali
Find .method static constructor <clinit>()V
Basically v2 = 0 = disable......... and v3 = 1 = enable
So any options in this method you want to disable change to v2 and any options in this method you want to enable change to v3.
To change the MaxMessageSize, do the following....
Find sput v0, Lcom/android/mms/MmsConfig;->sMaxMessageSize:I and change the line above to const v0, 0x12b8f8
To change the MaxImageHeight and MaxImageWidth, do the following.....
Find sput v0, Lcom/android/mms/MmsConfig;->sMaxImageHeightRestrictedMode:I and change the line above to const/16 v0, 0x780
Find sput v0, Lcom/android/mms/MmsConfig;->sMaxImageWidthRestrictedMode:I and change the line above to const/16 v0, 0xA00
This will give you a max image size of 1920 x 2560. Change the hex values to make it larger or smaller if you like.
I changed most of the other limits to 0x1F4, whick equals 500 in base10, change to what you desire if 500 is not right for you.
Thats basically it. I will attach a simple flash for a deodexed file system. Its located in the downloads bar at the top of the post.
Enjoy, hit thanks if you want to.
XDA:DevDB Information
Stock MMS Options, ROM for the Verizon Samsung Galaxy S 5
Contributors
Didact74
Version Information
Status: Testing
Created 2014-08-12
Last Updated 2014-08-12
Click to expand...
Click to collapse
trikotret said:
I see MrHyde thanks. I guess we'll be seeing this mod in his rom :good:
Click to expand...
Click to collapse
Open to anyone who wants to use it.
Lots of other stuff in that particular smali that can be modified as well.
I flashed this file in safe strap and I'm bootlooping. LMAO am I doing it right. OR this is not for flashing. My flash addiction got me to flash and read later :silly:
trikotret said:
I flashed this file in safe strap and I'm bootlooping. LMAO am I doing it right. OR this is not for flashing. My flash addiction got me to flash and read later :silly:
Click to expand...
Click to collapse
Are you deodexed? I tried it again and it seems to be okay for me. There have been a few downloads now so unless no one has flashed but you it should be okay. LOL.
I will look through it again and make sure.
Didact74 said:
Are you deodexed? I tried it again and it seems to be okay for me. There have been a few downloads now so unless no one has flashed but you it should be okay. LOL.
I will look through it again and make sure.
Click to expand...
Click to collapse
Are you sure those aren't my downloads. Lol I downloaded three times in case I had bad download. I am on a deodex rom
trikotret said:
Are you sure those aren't my downloads. Lol I downloaded three times in case I had bad download. I am on a deodex rom
Click to expand...
Click to collapse
If you feel comfortable doing so, try pulling the apk out of the zip file and pushing it to the ROM and see if you have an issue.
Didact74 said:
If you feel comfortable doing so, try pulling the apk out of the zip file and pushing it to the ROM and see if you have an issue.
Click to expand...
Click to collapse
With file explorer?
I just flashed via SS and got stuck at the Alliance Rom splash screen until I restored an older backup.
So I'm not going crazy. Does it matter if we are the Ne9 latest update
trikotret said:
So I'm not going crazy. Does it matter if we are the Ne9 latest update
Click to expand...
Click to collapse
LOL...hang on a sec, Im gonna fix ithis right now.
Okay, repacked and re-uploaded. Bad upload maybe?
Also added a stock MMS flash.
Remember, the zip was just to give you a quick fix. The real fun is looking through the smali file and changing what you want.
Flash should work now....sorry for the issue.
I dont know how to change anything in smali file. I'm just a crackflasher
trikotret said:
I dont know how to change anything in smali file. I'm just a crackflasher
Click to expand...
Click to collapse
....and there's nothing wrong with that...lol. Flash away!
Didact74 said:
....and there's nothing wrong with that...lol. Flash away!
Click to expand...
Click to collapse
It flashed. I flashed the stock MMS. Which one is special edition lol
trikotret said:
It flashed. I flashed the stock MMS. Which one is special edition lol
Click to expand...
Click to collapse
Stock is stock. The other has the options added.
No need to apologize! I appreciate that you uploaded it in the first place!
Didact74 said:
What Does this MOD do?
This new MOD will give you the following options:
Code:
[B][COLOR="DarkRed"][CENTER]Screen on/off when receiving text
MMS Subject
Delay text
Message Drafts
Will this mod allow saving pictures from MMS to external drive? Or am I missing something and that's already an option somehow?
Click to expand...
Click to collapse
I don't think it will but this might help?
http://forum.xda-developers.com/showthread.php?t=2784011
[MOD]Write to extsd (root required)
http://bit.ly/1brshoa
bad bone said:
I don't think it will but this might help?
http://forum.xda-developers.com/showthread.php?t=2784011
[MOD]Write to extsd (root required)
http://bit.ly/1brshoa
Click to expand...
Click to collapse
No, I've done that, I have write access. stock MMS messenger doesn't have a setting for choosing where attachments are saved. The only one I know of is Handcent, but found it bloated.

Categories

Resources