Android 2.2 FroyoでSoftbank MMS対応する方法(Mms.apk)

Mms.apk.froyo.jakeMod5に更新しました。(2010/8/2)

Mms.apk.froyo.htc.jakeModExperimental4 アップしました。(2010/8/6)

Android 2.1 (Eclair)をお使いの場合はこちら

Android 2.2のソースコードがいよいよ公開されたということで、Softbank MMS対応すべくさっそく AOSP(Android Open Sourcee Project)からFroyoのソースを取得してビルドしてみました。

ソースコードを概観したところの感想は次のようなものです。

  • Softbank MMSの問題を引き起こしていた部分は、EclairでのAOSPの有志の方のコミットにもかかわらず反映されていないようでした。
  • 特にFrameworks.jarに含まれる Pdu関連のソースは手つかずのままFroyoに持ち越されている様子。
  • Mms.apkについては、いろいろ手が加わっており、Eclairでの些細なバグなど(文字化けとか)が修正されていました。
Eclairのソースで施した手当と同じことをFroyoに施してコンパイルしなおしました。チャレンジャーの皆様の役に立てばと思います。

CyanogenMod6をお使いなら

CyanogeMod 6 ROMをお使いの場合は、なにもしなくてもSoftbankでも利用可能です。当方のMms.apkと置き換えるメリットを考慮の上判断してください。

OpenDesire 3.0.x以上をお使いなら

UserAgent指定などのオプションや、SoftbankのMMSを利用するための最小限の更新が含まれています。

当方のMms.apkを利用するメリット

ROMの更新や各方面の方々の対応、Softbank本家の対応予定など、当方での仕事も役目を終えつつありますが、現時点でなおも当方のMms.apkを利用するメリットとしては次のような点になります。
  • アプリ間の連系で emailto: URL Intent を受け取れるように設定しています。
  • Eメールアドレスで送受信した場合のコンタクトのアイコンやアドレスの新規登録処理で、ちゃんと電話番号の場合と区別して処理されるようになっています。
  • HTC由来のROMをご利用の場合
    ソフトバンク本家の謹製アプリが出るまでは、当方で特別対応したものが有効だと思われます。

Mms.apk置き換え時とその後の手順

rootを取る手順や Mms.apk を置き換える手順については各方面で紹介されているのでここでは省略します。

Mms.apkファイルをインストールするとき

/system/app/Mms.apk ファイルを置き換えます。同じディレクトリに Mms.odex ファイルが存在する場合は必ず削除します。

Mms.apkファイルを置き換えて再起動後

User-Agentの設定を必ず行ってください。ソフトバンクで使用する場合はこれを行わないと始まりません。


それでもうまくいかない場合・・・
  • 「モバイルネットワーク」設定(APN設定)でMMSの設定はできていますか?
  • User-Agentの設定をいろいろ変えてもだめですか?


ダウンロード
Mms.apk.froyo.jakeMod5
  • chanogenの更新の取り込み(フォントサイズ指定など微小な修正)
Mms.apk.froyo.jakeMod4
  • AvatorのEmailアドレス対応の修正
  • 文字の大きさ設定、名前を表示しない設定の追加
  • cyanogenからの追加(言語リソースの追加)
Mms.apk.froyo.jakeMod3
  • 背景黒のオプション追加(cyanogenでの更新の反映) (2010/7/9までの分)
Mms.apk.froyo.jakeMod2
  • cyanogenでの新しい更新を含む(2010/6/30までの分)
Mms.apk.froyo.jakeMod1
  • multipart/alternative のメールが文字化けしていたのを修正。(当方のeclairのソースからのコピーミス)



 

HTC由来のROMの注意

なおHTC由来のROM(Sense UI付のもの)では上記のMms.apk では正常動作しません.
たとえば以下のようなROMは HTC 由来のものとなります。
  • LeeDrOiD
  • Oficial Froyo HTC Sense ROM
  • DJ DROID。
以下に試験的に作成したバージョンを置いておきます。

Mms.apk.froyo.htc.jakeModExperimental4
  • メッセージの送信で落ちる不具合に対処(できたか不明動作報告求む)

 

Mms.apk.froyo.htc.jakeModExperimental4 (871 kb)

 

Comments (53) -

リリースありがとうございます。下記カスタムUAで快適に動作しています。
SoftBank/1.0/X02NK/NKJ001 Series60/3.1 NokiaN95/20.0.273 Profile/MIDP-2.0 Configuration/CLDC-1.1

ところでX01T UAでは送受信NGだったのでリソースを覗いてみたところ、SCJ001となっているようです。
下記ご参考まで。。
github.com/.../3173d1ebfb535db6eae21e328a78c74558c14157

X01TのUAが間違ってたんですね?よそでもらったものをそのままにしていましたので知りませんでした。ご報告ありがとうございます。私の手元のソースも直しておきます。

hi, thanks a lot for your effort.
with this, we can MMS in Froyo?

desireuser 7/9/2010 8:29:32 AM

いつも2.1でこのjakemod apkを使ってたんですけど、今日新しく forum.xda-developers.com/showthread.php?t=720294 のfroyo with htc senseを入れました。

Mms.apk.froyo.jakeMod2で受信は何回も試して、1回できましたが(非常に短いメールだった)残りは受信できなくて、送信はできなかった。そして、受信や送信のときいつもforce closeしてしまいます(mmsの場合だけ、通常のsmsは問題ありません)

ROMをFroyoにしたときにメモリのWipeはしましたか?おそらく、MMSのデータベースの仕様が変わっているために、2.1の時にバックアップされたMMSなどは2.2に持ってこれないと思います。真っさらの状態でプログラムが落ちるとなると該当のROMとMms.apkのビルドの不整合が疑わしいですが・・・

お返事ありがとうございます!
Wipeはしましたが、確認のためまたすべてをwipeして、ROMを再び入れて、ほかに何もせずMms.apk を入れ替えて試したんだけど。。結局同じでした。mmsを扱うときに毎回force closeしてしまいます。

あのROMに入ってる新しいRadio 32.41.00.32U_5.08.00.04が原因なのですかね。。 それかHTCが何かを変えたかな。一応2.2のSenseに新しいHTC messagesアプリは入ってますが;

もしかしてそのROMはHTCが手を入れてあるメッセージアプリがのっていますか?HTC Desireの謹製ROMの時も同様でしたが、MMS用のデータベースがHTC仕様にいじってあって、AOSPの素のMms.apkでは動作しなかったことがありました。DBのVIEWのフィールドが1つ欠けていただけの違いでしたが致命的でした。
そうすると、新たにHTC用のFroyo版 Mms.apkをビルドしないといけなさそうですね。2.1の時と同じ修正を加えたものをコンパイルしますんで、試していただくことできますか?

そうですね、新しいHTC ROMのleakみたいですので、すべてのアプリはHTCのものになってます。
そういう違いあったんですか、なるほど。。
わざわざありがとうございます!もちろん試します。

Froyo HTC ROMに対応できるだろうビルドを作ってみました。結局のところスレッドのリストで添付ファイルの有無を示すアイコンが出なくなるのがHTC版の結果です。ただ、動作確認は私はできないのでご報告お待ちしています。(デフォルト背景黒はcyanogenの最新版反映のせいです。)
rapidshare.com/.../...royo.htc.jakeModExperimental

ありがとうございます。
新しいapkを入れてみました。
mmsの受信・送信のときにまだforcecloseしますが、アプリを何回も起動して、forcecloseしたら結局受信と送信は両方できました(長いメールも受信できました)。androidはあまり詳しくないほうですから、デバッグとかができなくてすみません;;

Nexus one user 7/11/2010 8:04:03 AM

Nexus one 2.2 FRF 91でこのmms.apkが使えました。ありがとうございました。SIMは黒、赤のどちらでも運用できました。

贅沢を言ってしまうとフォントサイズが変えられると嬉しいです。

はじめまして。Mms.apk.froyo.jakeMod3頂きました。
早速、HT-03A CM6-Nightly Build (iPhone SIM使用)の環境に入れてみたのですが、メッセージの自動ダウンロード・通知がうまくいきません。
(ダウンロードがされないので、通知がこない。)
手動ではダウンロードできるのですが、自動でいかないというのは何が原因に考えられるでしょうか。
何か手がかりありましたら教えてください。

CM6では初めからソフトバンクのMMSが利用できる状態にあると思いますが、その状態ではうまくいくのを確認されましたか?SIMのタイプと、APN設定やMMSに関する設定と、User-Agentの設定の組み合わせがキーのようですが・・・

OpenDesire2.0 試しましたか?なんか何もしなくて、MMSとAPN設定しなくてもすぐ使える。
AdamGすごい!!

試してみましたがMMSはだめでしたよ。一番明暗が分かれるのはHotmailからリッチテキストでメールを送った場合でしょうか。ダウンロードボタンを押してもダウンロードできないです。User-AgentでSBのサーバーではじかれているのが原因だと思いますが。

はじめまして。x06htをroot化した時点では順調にMMSも使えていたのですが、froyo frf91のmodacoのr21カスタムromを入れ、froyo用のmms.apkに差し替えたのですが、MMSが件名しか受信できず、本文がダウンロード出来ず、もちろん送信もできずに困っております。元に戻せば良いのですが、このままのfroyoで解決方法などあれば、ご教授願えますでしょうか?
よろしくお願いいたします。

A really great blog thanks for the post.

名もなきうんたら 7/18/2010 4:07:42 PM

初めて質問させて頂きます。
X06HTにOfficial Froyo HTC Sense ROM を焼いてMMSをやってみたのですが
どうもうまく動作しないようです。
上のコメントにHTC用のMms.apkがあったのでそれを使ってみましたが同様に
動作しません。
smilemmsでUAはiphoneでやっています。何か問題がありますでしょうか?
ちなみに、エラーは吐くのですが、一応送信及び受信はできるようです(できる時とできない時がある)
一応URLも貼っておきます。
Official Froyo HTC Sense ROM【forum.xda-developers.com/showthread.php?t=726300
エラー画面【http://pc.gban.jp/?p=21355.png
既存のHTCMessageアプリでも同様の症状の画面が出て強制終了してしまうようです。
長々なりました。失礼します。

GinzaMagician 7/19/2010 1:29:53 AM

Custom ROM DeFroST 2.1 FRF91
Radio 32.42.00.32U_5.09.00.08
softbank desire x06htにて動作しませんでした。

新しいradioにしたのが問題でしょうか?

私も最新のradioでは3Gでネットにも繋げず駄目で、バージョンを下げたら今度はマーケットからのインストールエラーで、結局元のOS2.1に戻しました。が昨日教えて頂いたROM、CM6をインストールしたらMMSもそのままで動作いたしました。本当にありがとうございました。

DeFroST 2.1 FRF91 + Radio 32.42.00.32U_5.09.00.08 は私の今使っている状況と全く同じです。Mms.apkのインストール状況やその他の設定を確認してみてください。

GinzaMagician 7/20/2010 11:54:36 PM

Jakeさん
返信ありがとうございます。

すべてをwipe後にROMLaughingeFroST2.1 とRafio を焼きました。
その後
Mms.apk.froyo.jakeMod4をMms.apkとして/system/app/に移動しました。
rebootすると
「エラー
メッセージ(com.android.mms)が予期せず停止しまし
た。やり直してください。」
と表示されます…

ちなみに2.1のときはJakeさんのMms.apk.jakeMod11でまったく問題なく
使用できておりました。
APN、MMSC等の設定は2.1の頃と同じ設定です。

ちなみに、SIMはVodafone時代のままです。アドレスもt.vodafone.ne.jpです。

なにかありましたら全力で協力させていただきたく思いますので
よろしくお願い致します。

sense romにもmms.apk使えるように頑張ってください!jakeありがとう!

jakeさん、Mms.apk.froyo.htc.jakeModExperimental2はmmsの受信できました。
でも送信はできないみたいです。何回でもSend押して何もでないんです。

handcentかchompsmsを使ったら無事に送信できました。
でもオリジナルのmmsの方が好みだけどね

ついにSence系でも使えるようになりましたか。
Root取るだけで公式ROMでも使えることに。

ソフトバンクによるとFroyoへのアップデートは
11月頃ということでしばらく先になりそうですが。
9月には単体MMSアプリとして出すらしいですね。

素晴らしい成果に感謝!

Official Froyo HTC Sense ROM 1.0c + Mms.apk.froyo.htc.jakeModExperimental2 にて、
allan氏と同じくMMS受信はできますが送信はSendを何度押しても反応がないですね。
APN等はSense UIでないROMの場合送受信共に問題なく動いていたので問題はないと思います。
radio.imgは32.42.00.32U_5.09.00.08で、エラー自体は何も出ないのでAPIの呼び出し等が失敗しているのでしょうか?

わー
ありがとうございました
送信と受信もできた!

softbank.ne.jp 対 gmail.com
softbank.ne.jp 対 ezweb.ne.jp
softbank.ne.jp 対 softbank.ne.jp

^-^

Mms.apk.froyo.htc.jakeModExperimental2

Official Froyo HTC Sense ROM 1.0c

32.42.00.32U_5.09.00.08

問題なし^^

ありがとう

■環境
ROM:Official Froyo HTC Sense ROM 1.0c
RADIO:32.42.00.32U_5.09.00.08
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental2
Etc:Super Circle Battery with % Version A (1.2)

■回線設定
APN:open~
SIM:銀SIM

■MMS設定
UA:iphone3

私もahmad_ieさんとほぼ同環境で利用させていただいてますが、
残念ながら、allanさん、神無月さんと同じようにSMSには問題ないですが、
MMSでの送信のみ動作に問題が出ております。

[Defrost]→[CyanogeMod]→[OpenDesire]→[Official Froyo HTC Sense]と
渡り歩いてきましたが、改めてSenseUIの動作の軽さに驚いています。
HTC本家の2.2も、近々正式リリースとの噂もありますので、
お暇がある時にご一考頂ければ助かります。

こんにちは
■root化したとき、UnrEVOkedというアプリを使いました
■cmd使わずに、winrarソフトでensefroyo_v1.0c.zipをunzipして、Mms.apkを差し入れて、またwinrarでzipして、ROMをインストールした
■APNはsmile.worldなんだ、[Official Froyo HTC Sense]の用意されたAPNの設定のそのまま選びました
■UA: iphone3
■SIM:銀だ
成功できるように

W32/Benjamin-A 7/30/2010 8:45:02 PM

■環境
ROM:Official Froyo HTC Sense ROM 1.0c
RADIO:32.42.00.32U_5.09.00.08
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental2

■回線設定
APN:open~
SIM:赤SIM

■MMS設定
UA:V702NK

最初の時点ではUAにV702NKが無かったりしたのですが、
再起動したら702NKの設定が出てきました。
その後テストすると送信中のまま止まってダメでした。

成功してる人もいるようなので設定をあれこれいじってみたところ、
エンターで送信しない設定にしたらうまくいきました。
もう少しテストしてみますが、現状ではOKです。

巷ではカラー絵文字のMMSなどもありますが、
マージすることが出来ればいいなと夢見ていますw

いつもありがとうございます!

それはよかったですね
僕の場合は、最初から設定はそのままで送信の動作には問題がなっかたよ^^

X06HT
ROM:Official Froyo HTC Sense ROM 1.0C
RADIO:32.42.00.32U_5.09.00.08
APN:opensoftbank
MMS Proxy:sbmmsproxy

にてMms.apk.froyo.htc.jakeModExperimental3を適用。
UAをSoftbank V702NK2に設定したところ、送受信できました。

ようやくガラケのネットを解約できそうです。
ありがとうございました。

Mms.apk.froyo.htc.jakeModExperimental3 使ってみた!
フォントサイズ使いやすくなった^^

とりあえずご報告として。
色々なSenseROMを試すついでに、Mms.apkも一緒に試していた所、
私もついにMMSの送信ができる環境に行きつきました。

■環境
ROM:LeeDrOiD Mod V1.7b
RADIO:32.43.00.32U_5.09.00.20
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental3

■回線設定
APN:open~
SIM:赤SIM

■MMS設定
UA:iphone3

全てのROM入れ替えは以下の手順で行っています。
Wipe → ROM Flash → コマンドでapk入換

一点、気になる所は通常時はROMをフラッシュした後、
正常に動作するかを確認するためにapkの入換前に
再起動を行っていましたが、LeeDrOiDの時だけは、
再起動を行わず、フラッシュ後直後に入換作業を行った事です。

今の環境を壊すのは避けたい所なので、
検証した結果ではないのが申し訳ありませんが報告まで。

以下の環境でMMSの送受信に成功しました。

■環境
ROM: Rooted Official HTC Android 2.2 (FroYo) ROM [Market issue fixed]
RADIO:32.43.00.32U_5.09.00.20
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental3

■回線設定
APN:smile.world
SIM:黒SIM

■MMS設定
UA:iPhone (3.0)

最初送信に失敗していたのですが、ログを見ると/data/data/com.android.mms/shared_prefs/com.android.mms_preferences.xmlのpref_key_mms_priorityの値を取得する時に型が違うためエラーになっているようでした。

  <string name="pref_key_mms_priority">medium</string>

という行を

  <int name="pref_key_mms_priority" value="129" />

に変えたら成功しました。
ただ、後で同じファイルを見たらその行が消えていたのと、User-Agentの設定などが元に戻ってしまっていたので、上記の設定自体は間違っているのかもしれません。
たんにpref_key_mms_priorityの行を削除するだけでもよかったのかもしれませんが、試していません。

shugoさんと同じ環境です。
pref_key_mms_priorityの行を削除してもうまくいきました。

ありがとうございます。

貴重な情報をありがとうございます。つまり、pref_key_mms_priorityの取り扱いで落ちないようにすればMMSの送信で困っているケースを救えるということでしょうか・・・。次回更新に含めてみます。

Jakeさん


こんにちは、k1777です。
私のブログ(http://d.hatena.ne.jp/k1777/20100803)にも記事を書きましたが、
inaさんと同じ環境でMMS送受信成功しております。

■環境
ROM:LeeDrOiD Mod V1.7b (V1.6でもV1.7aでもOK)
RADIO:32.43.00.32U_5.09.00.20 (08でもOK)
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental3

■回線設定
APN:open~
MMS-Proxy:mmsopen~
SIM:銀SIM

■MMS設定
UA:V702NK2

inaさんと異なるのは、apkをROMに組み込んでからROM焼きをしている点です。
  Wipe → ROM Flash → APN設定しMMS送受信test
なお、ブログに画像も掲載しましたが、メッセージ画面の背景が白になってしまいます。
実害は無いのですが、チョット気になります。
inaさん、shugoさん、nariさんはどうですか?

Jakeさん:

こちらこそありがとうございます。
com.android.mms.transaction.MmsMessageSender#updatePreferencesHeaders()の

    sendReq.setPriority(prefs.getInt(MessagingPreferenceActivity.PRIORITY, DEFAULT_PRIORITY));

という行でClassCastExceptionが発生しているようでしたので、それをcatchしてsendReq.setPriority(DEFAULT_PRIORITY)などとすれば、設定が間違っていても動きそうな気がします。
本来は設定を直すのが筋だと思いますが。

k1777さん:

私はMms.apkはROMを焼いた後でリカバリモードで入れ換えました。

>>k1777さん

私も同様にメッセージ表示部分は黒くなっていますが、
背景は白い状態になっていますね。

JakeさんがjakeModExperimental4を公開して頂いたので、
もうすぐ出そうなLeeDroid1.8で改めて確認させて頂きます。

Jakeさん

こんばんは。
「jakeModExperimental4」ですが、「NexTSense v3.4」に組み込んで焼いてみたところ
単体で送受信OKでした。
(背景が白い状態なのは変わりませんでした)
これでSense付ROMの選択肢が広がりそうです!ありがとうございました☆

shugoさん、inaさん、返信コメントありがとうございました。

Jakeさん

こんばんは。k1777です。
XDAの「RoufianosV6」でも「jakeModExperimental4」は単体送受信OKでした。
official-OTA-2.2をベースにしたカスタムROMなら大丈夫と判断してよさそうですね。

Jakeさま
有効利用させてもらっております。
以下環境で、今のところ送受信OKのようです。

■環境
ROM:modaco Froyo with Sense (FRF91) r5 without default MoDaCo additions
RADIO:32.43.00.32U_5.09.00.20
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental4

■回線設定
APN:open~
MMS-Proxy:mmsopen~
SIM:赤SIM

■MMS設定
UA:カスタム 708SC

ありがとうございます。
MMSの送受信ができるようになりました。

[ROM] Rooted Official HTC Android 2.2 (FroYo) ROM [Market issue fixed]
[RADIO]32.43.00.32U_5.09.00.20.zip

しかし、一点問題があります。対処法を教えて下さい。
連絡先やSimeji マッシュの「Contact Picker」でアドレスを指定しても、TOにアドレスが入ってきません。
手入力しかできないのでしょうか?

ROM:NexTSense v5.0 Sense-FroYo 2.2 Official OTA
RADIO:32.43.00.32U_5.09.00.20
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental4

APN:open~
MMS-Proxy:mmsopen~
SIM:銀SIM
UA:V702NK2

送受信はOKのようですが、画像を添付した場合
対docomo:添付消える
対au:添付はあるが「part_xxxxxxx~」というファイル名になり受信できず(壊れてる?)
となりました。

ただ、Handcentを使って送信すると例のsmil.xmlとかいうファイルも一緒に添付されてしまいますが、画像は正しく送れました。

Jakeさん
ななしさんのコメントが気になって私もテストしたところ、画像の添付送信はNGでした。
詳細は私のブログ(http://d.hatena.ne.jp/k1777/20100811)に書きましたが、
受け手(DoCoMo)では添付ファイルはあるものの、開こうとすると「対応していないデータ」と
いうエラーメッセージが出ます。
どうやら画像データが壊れてしまっている感じです。
2.1化したHero+jakeMod11で同様のテストもしてみましたが、コチラはOKでした。

Sense ROMでの添付ファイルでの送信に問題があるということですね?送信のロジックを私がいじっているということはないので、Open系のROMとSenseROMとで違いが出るとは考えにくいですね。UserAgentの設定やAPNの違いによって挙動が変わったりはしないのでしょうか?でなければ、そもそものMultipartのメールの送信部分をいじらないといけないことになりますね。これは深刻です。

Jakeさん
取り急ぎ経過報告です。
APNをX06HTデフォのOpenに変更し、MMS-Proxyをsbmmsproxy~に変更。
UAをX02NK、iPhone、X01HTにしても同様の
エラーが発生しています。
APNとMMS-ProxyとUAの組み合わせは膨大になるので、OpenDesire系を試して
みようかと思う今日この頃です...

どうもありがとうございました!
It works. Using Mms.apk.froyo.jakeMod5 on HTC Desire with rooted HTC Sense Froyo 2.2 ROM (forum.xda-developers.com/showthread.php?t=741663)

下記の環境で使用させて頂いています。

ROM:Official Froyo HTC Sense ROM 1.0C
RADIO:32.44.00.32U_5.09.05.30_2
Mms.apk:Mms.apk.froyo.htc.jakeModExperimental4

送受信には問題なく利用させて頂いています。
連絡先からメッセージを選んでも宛先は反映されませんが、直接入力で
インクリメンタルサーチは作動しています。
ただ、音声通話中にメッセージが着信すると通知音が鳴動してしまいます。
HTC謹製のメッセージ・メールアプリでは同様に通話中に着信しても通知音が
なりませんが、同じようにはなりませんか?

Pingbacks and trackbacks (1)+

Comments are closed