Mms.apkの変更
またまた、Nexus S ネタです。
年末のフォント変更に続いて、某社のMMSを送受信できるようにしたいと思い、参考になる情報を求めてネットを探してみたところ、先人の方々の情報が結構でてきましたので、即行動を起こしました。
情報によると次のような感じでした。
- Mms.apk を本体から次のようなコマンドでPCにもってくる。
adb pull /system/app/Mms.apk
- apktool を使って、Mms.apk を分解
apktool d Mms.apk
- 分解した Mmsresxmlmms_config.xml のUser Agentを適切な名前に変更する。
ちなみに、もともとの mms_config.xml は次のとおりでした。<?xml version="1.0" encoding="utf-8"?>
<mms_config version="3">
<int name="maxMessageSize">307200</int>
<int name="maxImageHeight">1000</int>
<int name="maxImageWidth">1296</int>
<string name="userAgent">nexuss</string>
<string name="uaProfUrl">http://wap.samsungmobile.com/uaprof/nexuss.xml</string>
</mms_config> - apktoolを使って、Mmsを再構築する。
apktool b Mms
- Mms.apkを7-zipなどで開いて、元の resxmlmms_config.xml を Mmsbuildapkresxmlmms_config.xml に置き換える。
- 置き換えたMms.apk に署名を行う。
java -jar SignApk.jar certificate.pem key.pk8 Mms.apk Mms_signed.apk
certificate.pem : 自己署名証明書ファイル
key.pk8 : pkcs#8形式の秘密鍵ファイル
Mms.apk : 署名前の Mms.apk ファイル
Mms_signed.apk : 署名後の Mms.apk ファイル - 署名を行った Mms.apk を元に戻す。
adb push Mms.apk /system/app/Mms.apk