Jump to content

[Astuce] pour empêcher la conversion des SMS en MMS ici


Recommended Posts

Salut à tous, alors je sais que c'est un problème assez récurrent, on peut y remédier en installant Handcent ou quoi mais mon Dieu comme cette application est moche !

Alors je suis tombé sur ça, je l'ai fais, ça m'a pris 10 minutes, tout roule comme sur des roulettes ! J'écris des SMS de la taille d'une montagne sans problème.

http://samsunggalaxysforum.net/f11/%5Bguide%5D-modify-mms-apk-8471.html

Si besoin je peux traduire.

Moi je suis sur Mac alors j'ai utlisé APK Manager pour mac trouvé ici :

https://github.com/jocelynmallon/apkmanager

Pour faire la dernière étape qui est de mettre l'.apk dans le dossier /system/apps il faut être rooté et moi j'ai utilisé l'application ES Explorateur de fichiers disponible sur Play Store. J'ai d'abord mis l'apk sur la SD card par le cable, ensuite dans l'ES Explo on va dans les réglages et dans "Paramètre réseau" on coche tout dans Root.

Ensuite on va dans la SD carte, couper le fichier et coller dans /system/apps, écraser l'originale. Le GSM se bloque pour une dizaine de seconde, rédemarre tout seul et hopla ! Tout va bien :D

En espérant avoir aidé quelqu'un !

Link to comment
Share on other sites

Hello,

J'ai essayé à partir du post original, mais je n'ai pas réussi, j'ai même perdu toute possibilité d'envoi/réception SMS (j'ai même eu un mal fou à remettre mms.apk de façon à ce que les raccourcis réapparaissent, même avec wipe et reboot, merci TitaniumBackup pour m'avoir permis de tout remlettre en ordre!!!).

Je n'ai pas pu trouver, notamment, le répertoire /smali/com/android/mms/transaction/SmsReceiverService.smali pour y faire la modif sur l'heure d'envoi à la place de celle de réception des SMS. Ainsi lors de la recompilation, il fallait effacer un certain nombre de fichiers, dont un certain classes.dex que je n'ai jamais trouvé (probablement car je n'avais pas ces répertoires /smali/com/... dans mon dossier projet).

Donc, lorsque j'ai remplacé le fichier /system/app/MMS.apk par celui compilé-maison (avec root explorer), je n'ai pas eu le freeze suivi du reboot dont tu parles dans ton post. Par contre, plus de MMS/SMS ensuite ...

Au passage, tu as bien utilisé le framework /system/framework/mediateck-res.apk pour la décompilation ?

Tu peux m'indiquer la démarche que tu as suivie STP ?

PS : j'ai utilisé, sous W7, Apk Manager 5.0.2

Link to comment
Share on other sites

Voila je vais traduire le tutoriel, essaye de faire exactement comme je dis et ça devrait aller sans problème, c'est assez facile à faire !

1. Télécharger APK Manager. Pour Windows - Pour Mac

(Le tuto sera basé sur la version Windows)

2. Faites extraire l'APK Manager dans un dossier facilement accessible (bureau).

3. Allez dans le dossier /system/app et copié le fichier mms.apk

Copié également le fichier mediateck-res.apk qui se trouve dans /system/framework

4. Allez dans le dossier de APK Manager, collé le mms.apk dans le dossier "place-apk-here-for-modding"

5. Cliquez sur le fichier "start.bat"

6. Choisissez l'option 22 "Set current project"

7. Sélectionner "mms.apk" dans la liste qui apparaît.

8. Choisissez l'option 10 "Decompile with dependencies"

9. Quand il sera demandé de mettre le fichier dépendant pour la décompilation. Faites un drag'n drop avec le fichier mediateck-res.apk​ copié précédemment dans l'APK Manager. Faites Entrer et attendez, ne fermez pas l'APK Manager quand c'est fini.

10. Allez dans le dossier de l'APK Manager, ensuite projects/mms.apk/res/xml et ouvrez le fichier mms_config.xml avec n'importe quelle éditeur de texte.

11. Faites CTRL + F et chercher la ligne suivante :

<int name=”recipientLimit”>10</int>

Remplacez la par cela :

<int name=”recipientLimit”>100</int>

Grâce à ça vous pourrez envoyer un message groupé à 100 personnes en même temps !

12. Maintenant trouvez la ligne suivante :

<int name=”smsToMmsTextThreshold”>4</int>

Remplacez la par cela :

<int name=”smsToMmsTextThreshold”>100</int>

Désormais l'application va convertir vos SMS en MMS quand vous aurez atteint les 100 SMS ! Cela vous laisse une bonne marge !

13. Sauvegardez et fermez.

A partir d'ici nous avos fait les modifications nécessaire pour que les SMS ne se convertisse plus aux MMS. Si c'est tout ce que vous voulez, sautez directement à l'étape suivante, si vous voulez aussi changer la date vu à la réception du message par la date réelle de l'envoie de message, continuez.

ATTENTION : Je n'ai fais que les modifs pour la conversion SMS/MMS, donc je ne saurais pas vous aider pour la suite, je n'ai fais que traduire. Je pourrais juste vous aider pour la partie SMS/MMS !!!

14. Allez dans le dossier de l'APK Manager, ensuite dans projects/mms.apk/smali/com/android/mms/transaction/ et ouvrez le fichier SmsReceiverService.smali avec n'importe quelle éditeur de texte.

15. Cherchez cette ligne de code :

invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

Remplacez la par cela :

invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getTimestampMillis()J

Recherchez à nouveau cette ligne :

invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

Remplacez lar par cela :

invoke-virtual {v0}, Landroid/telephony/gsm/CbMessage;->getTimestampMillis()J

16. Sauvegardez et fermez.

17. Retourner dans l'APK Manager ouvert.

18. Choisissez l'option 11 "Compile APK"

19. Répondez "y" aux deux questions

20. Laissez le finir, ne fermez pas encore l'APK Manager.

21. Allez dans le dossier de l'APK Manager, vous verrez un nouveau dossier nommé keep, ouvrez le et supprimez les deux fichiers resources.arsc et classes.dex. Ensuite allez dans le dossier /res/xml/ et supprimez le fichier mms_config.xml

22. Retournez dans l'APK Manager et appuyer sur Entrer.

24. Quand c'est fini, Choisissez l'option 24 pour fermer l'APK Manager.

25. Allez dans le dossier de l'APK Manager, ensuite dans le dossier place-apk-here-for-modding. Vous verrez deux fichiers, supprimez le fichier mms.apk et renommez le fichier Unsignedmms.apk en mms.apk

26. Copiez le fichier mms.apk dans le dossier /system/app du téléphone.

Link to comment
Share on other sites

salut,

merci pour toute ton explication,

mais je suis bloqué déjà bien avant ça...

tu dis ceci

"Copié également le fichier mediateck-res.apk qui se trouve dans /system/framework"

je n'ai pas ce ficheir à cet endroit... pas de trace de mediateck...

Tu sais me dire comment je dois faire???

Merci d'avance.

J'ai un HTC explorer.

Link to comment
Share on other sites

Salut,

Le fichier de framework dont il est question est propre au processeur Mediateck de notre Acer Liquid Gallant Duo, donc regarde dans ton dossier /system/framework et cherche les *.apk qu'il contient (il ne devrait pas y en avoir des masses). Par exemple, dans le dossier /system/framework du Acer Liquid Gallant Duo, j'en ai trouvé 2 : "framework-res.apk" et "mediatek-res.apk".

A priori, le nom devrait contenir soit "framework" soit "res" (par exemple, pour le Samsung Galaxy S, le fichier de framework s'appelle "twframework-res.apk").

De toute façon, pas de souci, l'interpréteur te dira si le fichier que tu auras "drag'n dropé" ne correspond pas, donc test avec les *.apk que tu auras trouvé dans /system/framework, il y en aura forcément un qui lui conviendra ! Dans mon cas, l'interpréteur (Apk Manager) m'a envoyé bouler avec le fichier framework-res.apk et a accepté le second.

Voilà, bonne chance ;o)

Link to comment
Share on other sites

Re-salut DrunkShark,

Je te remercie pour la traduction, qui ne me posait pas de problème, et je me permet d'adapter ta traduction pour ceux qui voudraient faire la manipulation en mode newbee.

Au passage, je précise qu'il faut être équipé d'un téléphone rooté, disposer du Java JDK et de ADB (pas nécessairement l'environnement avec Eclipse) avec le serveur en route via la commande adb start-server :

Voila je vais traduire le tutoriel, essaye de faire exactement comme je dis et ça devrait aller sans problème, c'est assez facile à faire !

1. Télécharger APK Manager. Pour Windows - Pour Mac

(Le tuto sera basé sur la version Windows)

2. Faites extraire l'APK Manager dans un dossier facilement accessible (bureau).

3. Allez dans le dossier /system/app et copié le fichier mms.apk

Copié également le fichier mediateck-res.apk qui se trouve dans /system/framework

4. Allez dans le dossier de APK Manager, collé le mms.apk dans le dossier "place-apk-here-for-modding"

5. Cliquez sur le fichier "start.bat"

6. Choisissez l'option 22 "Set current project"

7. Sélectionner "mms.apk" dans la liste qui apparaît.

8. Choisissez l'option 10 "Decompile with dependencies"

9. Quand il sera demandé de mettre le fichier dépendant pour la décompilation. Faites un drag'n drop avec le fichier mediateck-res.apk​ copié précédemment dans l'APK Manager. Faites Entrer et attendez, ne fermez pas l'APK Manager quand c'est fini.

10. Allez dans le dossier de l'APK Manager, ensuite projects/mms.apk/res/xml et ouvrez le fichier mms_config.xml avec n'importe quelle éditeur de texte.

11. Faites CTRL + F et chercher la ligne suivante :

<int name=”recipientLimit”>20</int>

et oui, chez Acer, c'est 20 et non 10 ...

Remplacez la par cela :

<int name=”recipientLimit”>100</int>

Grâce à ça vous pourrez envoyer un message groupé à 100 personnes en même temps !

12. Maintenant trouvez la ligne suivante :

<int name=”smsToMmsTextThreshold”>4</int>

Remplacez la par cela :

<int name=”smsToMmsTextThreshold”>100</int>

Désormais l'application va convertir vos SMS en MMS quand vous aurez atteint les 100 SMS ! Cela vous laisse une bonne marge !

13. Sauvegardez et fermez.

A partir d'ici nous avons fait les modifications nécessaire pour que les SMS ne se convertisse plus aux MMS. Si c'est tout ce que vous voulez, sautez directement à l'étape suivante, si vous voulez aussi changer la date vue à la réception du message par la date réelle de l'envoie de message, continuez.

ATTENTION : Je n'ai fais que les modifs pour la conversion SMS/MMS, donc je ne saurais pas vous aider pour la suite, je n'ai faist que traduire. Je pourrais juste vous aider pour la partie SMS/MMS !!!

à partir de là, le framework (ou mms.apk) ne permet pas de modification plus poussée, car il n'y a pas de dossier /smali créé dans le dossier du projet mms.apk. Donc, avec cette méthode, les modifications réalisables s'arrêtent ici, on peut donc sauter ta traduction des étapes 14 à 16.

17. Retourner dans l'APK Manager ouvert.

18. Choisissez l'option 11 "Compile APK"

19. Répondez "y" aux deux questions

20. Laissez le finir, ne fermez pas encore l'APK Manager.

21. Allez dans le dossier de l'APK Manager, vous verrez un nouveau dossier nommé keep, ouvrez le et supprimez les deux fichiers resources.arsc et classes.dex. Ensuite allez dans le dossier /res/xml/ et supprimez le fichier mms_config.xml

Une petite explication pour la modification ici : comme le framework (ou l'apk) n'englobe pas ces fameux fichiers sensés se situer dans un dossier /smali, on ne retrouvera que resources.arsc et mms_config.xml de l'apk originale. Inutile donc de chercher tout autre fichier à effacer, il n'y en a pas !

Au passage, si jamais vous aviez décidé de modifier d'autres fichiers que mms_config.xml, pensez à effacer aussi ceux que vous avez modifié du dossier /keep !

22. Retournez dans l'APK Manager et appuyer sur Entrer.

24. Quand c'est fini, Choisissez l'option 24 pour fermer l'APK Manager.

25. Allez dans le dossier de l'APK Manager, ensuite dans le dossier place-apk-here-for-modding. Vous verrez deux fichiers, supprimez le fichier mms.apk et renommez le fichier Unsignedmms.apk en mms.apk

26. Copiez le fichier mms.apk dans le dossier /system/app du téléphone.

Je rajouterais ici qu'il ne faut pas oublier de monter le dossier /system/app en r/w (originalement en r/o), avec Root Explorer par exemple, et de modifier les droits du nouveau fichier mms.apk en rw-r--r--.

Finalement, remonter le dossier /system/app en r/o.

Dernier truc, j'ai ensuite personnellement rebooté, mais je ne sais pas si c'est nécessaire, dans le doute, cela ne coute rien.

Ne pas être étonné de la disparition de l'icône dans la barre inférieure des raccourcis, il faut recréer le raccourcis, par contre l'icône de l'écran de veille sera normalement restée.

J'ai testé, effectivement, même après l'écriture d'un roman fleuve en SMS, il n'est pas converti en MMS (la flèche d'envoi continue d'indiquer au-dessus d'elle le nombre de caractères et le nombre de SMS, elle n'affiche pas MMS au-dela du 3ème SMS concaténé).

Je précise toutefois de ne pas tenter ce genre de modification sans avoir au préalable effectué de copie de sauvegarde, on ne sait jamais !

Voilà, en espérant avoir moi aussi apporté ma petite pierre à l'édifice débuté par Requin Bourré :P !

PS : je suis très débutant sous Android (depuis Noël en fait :lol: ) mais même si j'apprends assez vite, c'est une manipulation réalisable en étant attentif à ce que l'on fait.

PS2 : si quelqu'un connait un moyen de pouvoir afficher en plein écran et zoomer dans les photos liées à un MMS, sans devoir au préalable les enregistrer sur sa SD ou devoir utiliser un autre client SMS/MMS, je suis preneur de l'astuce !

Edited by Akira083
Link to comment
Share on other sites

@Huggo : Akira a bien répondu à ta question, ça dépend en effet du GSM. Moi aussi j'ai essayé un avant de tomber sur le bon (le mediateck dans notre cas).

@Akira : Merci pour les détails. Je penses que avec tout ça, il devrait plus avoir de soucis chez personne.

PS : Pour le dossier /smali je ne peux pas vous donner de directives conrètes, moi j'ai la ROM SuperStock et dedans, il y a bien le dossier /smali. Pour la ROM d'origine du Acer je ne saurais pas dire.

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

J'ai un HTC Desire Z et je suis sous Android Gingerbread (2.3.3) avec la surchouche Sense 2.1.

Et alors là j'ai un gros soucis, après bien des pérégrinations je suis enfin tombé sur ce tuto plus que bien expliqué, j'arrive a acceder a MMS.apk/res/xml/mms_config mais là je n'ai rien pas de "smsToMmsTextThreshold" donc pas de limite a changer

Je n'ai que ca

<?xml version="1.0" encoding="utf-8"?>

<mms_config version="3">

<int name="maxMessageSize">307200</int>

<int name="maxImageHeight">480</int>

<int name="maxImageWidth">640</int>

<string name="userAgent">Flyer</string>

<string name="uaProfUrl">http://www.htcmms.com.tw/Android/Common/nexusone/ua-profile.xml</string>

</mms_config>

et alors le dossier smali je ne l'ai pas du tout.

Quelqu'un a-t-il un piste ou une idée a me proposer ???

Merci d'avance

Edited by murene
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...