X10 mini pro android2.1 Softbank MMSが”まぁまぁ”使えるようになった。【追記2010/11/19】

Android OS通信

またもや「no title」を運営しているruotalさんのおかげでandroid2.1なX10 mini proでもMMSの受信が可能になりました。
いつもありがとうございます。m(__)m

画像+絵文字を送信してGmailにて受信。

詳しいやり方とかは、

を参照してくださいませ。ほんと、すごいなぁ。。。。

まずはroot化とbusyboxのインストール

rootを取るにはSuperOneClickを使用するのが一般的のようでしたが、WLANの切り替えやdebug接続の切り替えのタイミンのせいなのか、なかなかrootを取りづらい。
某巨大掲示板を見ると、

というroot取得ツールがあるようで、しかもMarketからダウンロードできるというもの。
試しにやってみたところ、あっさりとroot化。拍子抜けです。

busyboxのインストールは以前投稿したやり方でbusyboxをインストールすることができました。

framework.jarを引っこ抜く。

PCとX10 min pro をdebug接続してDOS窓から下記を入力。

(今までpathが間違っていました。ynagaさんのご指摘をいただきまして修正しました。)

>adb pull /system/framework/framework.jar C:\

これでC:\直下にframework.jarが保存されていると思います。

framework.jarにパッチを充てる

no titleさんのサイト「Softbank MMS対応framework修正 (Xperia X10 mini(pro) Android2.1)」から

  • framework.jar.u20.sbm.20101109.bsdiff

をダウンロードしてきます。
次にWindowsな方はCygwinを使ってUNIXコマンドを使用できるようにno titleさんが用意してくれた

  • bsdiff.zip

をダウンロードします。

引っこ抜いた「framework.jar」、「framework.jar.u20.sbm.20101109.bsdiff」、bsdiff.zipから解凍した4つのファイルを適当なフォルダ内にまとめます。
私はworkというフォルダをC:\直下に作成して作業しました。

DOS窓からコマンドを実行

>cd C:\work
>bspatch framework.jar framework.jar.sbm framework.jar.u20.sbm.20101109.bsdiff

これでパッチ適用済みの「framework.jar.sbm」が作成されます。

・・・ここまで書いておきながら私はUbuntuでパッチを当てたので上記を試したわけじゃありませんがUbuntu、Windowsどちらの環境で作成したものでもファイルサイズは同じだったので大丈夫だと思います。
ちなみにUbuntuでしたらパッチを充てる前に

$sudo apt-get install bspatch

で必要なものをインストールしておいてください。

User-Agentの設定

no titleさんのところに書いてあるとおりですので詳しいことは書きませんが、私はiPhone使いではないので、iPhoneのUser-Agentは出来れば使いたくありませんでした。
そのあたりも考えてくださって、ファイルを用意してくれていますのでありがたく頂戴いたしました。
下記のファイルをダウンロード。

  • custom_settings.xml

テキストエディタで開き、Nokia X02NK/N95用のUser-Agentに設定しました。

<?xml version="1.0" encoding="utf-8"?>
<settings version="3">
<setting key="mms-useragent" runtime="false">SoftBank/1.0/X02NK/NKJ001 Series60/3.1 NokiaN95/20.0.273 Profile/MIDP-2.0 Configuration/CLDC-1.1</setting>
</settings>

改行コードとか、BOM付きの有無とかが関係あるのか分かりませんが、最初設定したときはどうもMMSを受信することができませんでした。
2回目に上記の赤字の部分だけの修正したところ受信もうまくいきました。細かい検証はしていないので、1回目の設定のどこが間違っているか分かりません。
修正したファイルも分りやすいようにC:\workフォルダ内にいれておきました。

さぁ、本体にファイルを戻しましょう。

まずframework.jar.sbmから。
作業としてはno titleさんの記事をコピペして若干修正すれば問題ありませんでした。
以下もコピペ。手抜きですみません。

> cd c:\work
>dir (ファイルがあるかどうか確認。)
c:\work のディレクトリ?
custom_settings.xml?
framework.jar.sbm
> adb push framework.jar.sbm /sdcard
> adb shell
$ su
# mount -o remount,rw /dev/block/mtdblock0 /system
# cp /sdcard/framework.jar.sbm /system/framework/framework.jar.sbm
# chmod 644 /system/framework/framework.jar.sbm

ここから一気に淀むことなく実行する必要があるようです。

# mv /system/framework/framework.jar /system/framework/framework.jar.bak
# mv /system/framework/framework.jar.sbm /system/framework/framework.jar
#sync
#reboot

再起動後は起動し切るまでに時間がかかりますので、まったりと待ちます。

次にcustom_settings.xmlを戻します。
怒涛のコピペ。

> adb push custom_settings.xml /sdcard
> adb shell
$ su
# mount -o remount,rw /dev/block/mtdblock0 /system
# mkdir /system/etc/customization/settings/com/sonyericsson/provider
# chmod 755 /system/etc/customization/settings/com/sonyericsson/provider
# mkdir /system/etc/customization/settings/com/sonyericsson/provider/useragent
# chmod 755 /system/etc/customization/settings/com/sonyericsson/provider/useragent
# cp /sdcard/custom_settings.xml /system/etc/customization/settings/com/sonyericsson/provider/useragent
# chmod 644 /system/etc/customization/settings/com/sonyericsson/provider/useragent/custom_settings.xml
# sync
# reboot

以上でファイルの戻し作業は終了です。

MMSアクセスポイントの設定

アクセスポイントは今更なんで細かいことは書きません。
menu -> Settings -> Wireless & network settings ->Mobile networks ->Access Point Namesからネットワークの設定をしてください。
IDとかパスワードはさんざん出てきているので特に書きません。
私はX02NKのものを使用しています。一応、X02NKユーザだったですから。

MMSC http://mms/
MMS proxy mmsopen.softbank.ne.jp
MMS port 8080
MCC 440
MNC 20
Authentication type <Not set>
APN type default,mms

APN typeを「defaul,mms」としたのは普段のインターネット接続用アクセスポイントとMMS用アクセスポイントを2つ作成していると、どうもディスプレイがオフになった際にネットワークの切り替えができずにMMSが受信できないような挙動があったからです。
また、ウェブブラウジングをしている時にMMSをX10 mini proに送信してみるとネットワークの切り替えができずMMSを受信出来ていないようです。
今のところ、このように設定していると画面が消えていても大丈夫です。
Nokiaなどでは上記のようなことが起きた場合、ネットワーク切り替えを促すダイヤログが出るので、作り込みが細かいなぁと感心していました。

Messaging.apkの件名バグはやはり耐え難い。

MessagingでMMSを作成すると相手方携帯電話には件名のところに本文が入ってしまいます。

試しに改行してみればなにか変わるかと思いましたが・・・

無意味でした。

そこで前の投稿では採用しなかった

を使ってみました。
こちらはCM5版をダウンロードして、Mms.apkを取り出してインストールしてみました。

追記:リンク先のダウンロードリンクが切れていますね。コメント欄に書いておきました。

>adb install Mms.apk

でインストールしてみました。(ファイラーで指定すればインストールできるとは思います。)
framework.jarの修正も必要とありましたが、この問題はno titleさんの修正が済んでいるので使うことが来ます。

インストールしてみると最初の何度か、メッセージの起動に失敗します。
またメッセージが起動しているとMessagingの方が起動しないこともあります。
タスクマネージャですべて終了させてから再度操作すると起動しました。

Mms.apkからなら絵文字も入るし、件名も追加できます。


試しにdocomo携帯から絵文字を送ってみる

デフォルトのMessagingだと絵文字の表示はもちろんできません。

しかし、Mms.apkで追加したメッセージの方は絵文字も表示できました。

ほんと、技術を持った方々のおかげでここまで快適に使えるようになるなんて、素晴らしいですね。
ありがとうございます。

【追記2010/11/19】

MMSが受信できなかった理由に「ローミング」があるそうです。

Mobile networksのData roamingが有効になっていないとConnectivityService辺りがMMSを無効にしてしまうようです(又はほかが無効処理して有効化さ れないか、のどちらか)。コネクションが張られても、その後にMMSクライアントにデータが渡されない状態になっていました。

詳しくは

をお読みくださいませ。
海外に行くことが多い方は要注意ですね。

booleeをフォローする
BOOLEE STREET.net

コメント

  1. kawa より:

    うおおおおお!ありがとうございます。本当に助かりました、もうなんかマジ涙出てきました
    このページ永久保存します。銀SIMでMMS送受信できました?、ただ同じく件名に本文が入りますね

    (なんか質問ばかりで申し訳ないのですが)

    > * The Weight: Android Mms.apk の Softbank 絵文字対応:を使ってみました。
    の部分でCM5版をダウンロードして、とのことですが、リンク先にさっき行ったらDLできないようなんですが
    かめきちさんは以前にDLしたものを使った、ということですか?

  2. kawa より:

    >銀SIMでMMS送受信できました?、

    すいません「?」は間違いです、もちろんちゃんと送受信できてます

  3. boolee より:

    こんにちは。
    感謝すべくは、no titleさんの方ですよ(^^ゞ
    CM5版は確かにリンクが切れていますね。書き忘れていました。
    ディレクトリ構造を変えたみたいで
    http://takuo.jp/junk/Mms.apk/OLD/cm5/
    にまだ残っています。
    update-mms-cm5-signed.zip
    をダウンロード後、解凍して「/system/app/」内にあるMms.apkを使用しております。

  4. kuro-hyou より:

    こんにちは、参考になる情報ありがとうございます。no titleさんの情報も合わせSMMの設定を実施しているのですが、どうも受信がうまくいきません。no titleさんのframework.jarにもBugがあるようですが、私のPathあて自体に問題がないのか確認したくご連絡しました。
    1.custom_settings.xmlは、そのまま銀SIMの私もつかえるのでしょうか?
    2.MCCの設定は40とありますが440の間違いでしょうか?
    3.APN typeは無しでも正常に動作しますか?

    質問ばかりで申し訳ございませんが、MMS受信をロスってしまうと使い物にならなく。。

  5. kuro-hyou より:

    こんにちは、参考になる情報ありがとうございます。no titleさんの情報も合わせMMSの設定を実施しているのですが、どうも受信がうまくいきません。no titleさんのframework.jarにもBugがあるようですが、私のPathあて自体に問題がないのか確認したくご連絡しました。
    1.custom_settings.xmlは、そのまま銀SIMの私もつかえるのでしょうか?
    2.MCCの設定は40とありますが440の間違いでしょうか?
    3.APN typeは無しでも正常に動作しますか?

    質問ばかりで申し訳ございませんが、MMS受信をロスってしまうと使い物にならなく。。

  6. boolee より:

    kuro-hyouさん、こんにちは。
    1についてですが、想像上では「使える」とお答えします。
    なにせ、持っていないものですから、何とも言えないのです。
    もし、私が持っていたら気にせず同様の設定をすると思いますが。

    2については、恥ずかしい限りです。「440」が正しいです。
    コピペのミスですorz

    3については、Gmail宛の送受信は可能でしたよ〜。

  7. litchee より:

    こんばんは。
    いつも楽しく拝見しております。
    今回も非常にわかりやすい情報をありがとうございます。
    booleeさん、no titleさんの記事を参考にMMSの設定を行い、
    送受信はできるようになったのですが、2点ほど問題が・・・

    1、MMSを送信すると相手側に同じメールが2通届いてしまう
    2、メッセージ一覧が文字化けする

    銀simでuser-agentはX02NKにしております。
    何か思い当たることがあれば、アドバイス頂けないでしょうか?
    よろしくお願いいたします。

  8. boolee より:

    初めまして、litcheeさん。
    確かに2通届いてしまうことがありました。
    Softbank SIMからSoftbankの携帯に送ると2通届いているよ、と言われてしまいましたorz
    とりあえず、Conversations.apkをリネームして無効にすることで回避できていそうです。(未確認ですが・・・。)
    今はMMS.apkをapktoolで改造することを目論んでおり、研究中です。
    どうにも良い方法があれば、私も教えてほしいほどです・・・・。役立たずですみません。

  9. ynaga より:

    初めまして
    no title さんのページから来ました。
    丁寧な情報をありがとうございます。

    ところでmms.apk ですが、前回のスレッド一覧が文字化けする点は解消されていますでしょうか?
    自分はまだ解消出来ていなかったもので・・・

  10. ynaga より:

    追記です
    framework.jar を引っこ抜くコマンドの記述が違っていましたので報告まで。

    誤 >adb pull /system/app/framework.jar C:\
    正 >adb pull /system/framework/framework.jar C:\

    あと、2通届く件ですが、
    mms.apk(メッセージ) と messaging.apk 両方から送信されることが原因ではないかと思っています。
    私の場合は、custom_settings.xml の設定をしていないために
    messaging.apk から送信しようとするとエラーになるので
    結果的に2通送信が行われていないようです。

    詳細に検証していないので間違っているかも知れませんが・・・・

  11. boolee より:

    ynagaさん、初めまして。
    修正の件、ありがとうございました。
    こんな基本的なことなのに・・・orz
    今はframework.jarに手を入れていますが、いい成果が得られていないのが現状です。
    MMSが2通送信されてしまうのは、私も同じ認識です。
    いずれにしましても、私はandroidの技術的な知識もないので、他のbloger様の成果を待つ以外なさそうです・・・。
    あと、MMS一覧の件はダメですね。

  12. ynaga より:

    booleeさん、MMS一覧の件、ついにruotalさんが修正版を作ってくださいましたね!

  13. boolee より:

    こんにちはー。
    私も確認しました。早速インストールしてみたいと思います!
    >>ruotalさん、ありがとうございます!

  14. とう より:

    2.1でmmsを快適に使いたく、さまよっています。今はruotalさん提供のyokinさんtakuoさんの改造版を試用中です。

    ところで、純正Conversations.apkで件名に本文が入ってしまう点については
    本文の前に山ほどスペースを入れて改行することにより回避できます。
    本文にも山ほどスペースが入ってしまいますが...

  15. boolee より:

    とうさん、こんにちは。
    スペースを入れると回避できるとは裏技ですね。
    >>本文にも山ほどスペースが入ってしまいますが...
    思わず吹いてしまいましたw
    ちょっと試したくなりました。
    私の環境では、8796.jpさんのframework.jar改造+ruotalさんの改造したtakuoさんのMms.apkを使っています。
    ただ、結構な頻度で受信できないことがありますね。
    カワイイ端末だけに、もっと快適になれば最高なのですが。
    あと、私のこのブログタイトルで来てしまうと、がっかりな内容ですよね?
    書き換えておきます。

  16. とう より:

    booleeさんこんにちは。
    スペースは機会があればお試し下さい。
    私はruotalさんframework.jar改造+ruotalさんtakuoMms.apkで試用中ですが、?通知されない ?通知されるが受信に1件ゴミメールが入る のどちらかが起こってしまい、現在奮闘中です。
    同様の症状の方はいないようですねぇ...(-.-)

  17. より:

    こんばんは。
    cp /sdcard/framework.jar.sbm /system/framework/framework.jar.sbm で cp: not foundが返ってきてコピーできないいのですがわかりますか?
    初歩的な事ですいません。

  18. boolee より:

    あ さん
    busyboxをインストールしていますか?

  19. より:

    busybox の設定が上手い事できてなかったみたいです。
    一応ファイルは戻せたのですがmms受信でMessage no downloadになって送信もできないで困っています。書いている通りにやったのですが端末で設定とかしなくてはいけないんでしょうか?