ぽ箱4が動くまでの戦い!

その日、ツイッター見てると、なにやらxdaにXperia arcのROMがアップされたと・・・

日曜日だったので、自宅でさくっとダウンロードして、中身をにると、ソニエリっぽいが、やはり見たことのない構成だったので

ktkr!!

早速、弄ってみることにした。まず、気になったのがぽ箱でした。

例によって、私の場合、2.1がホームグラウンドなわけで、2.1で動くのか確認するために、いつもの

apkmanagerの登場ですw

いきなり入れてみる!というのもありですけど、自分の場合、AndroidManifest.xmlを確認します。

[bash]
<activity android:name="com.sonyericsson.android.iwnnime.TargetEditText12key" />
<activity android:name="com.sonyericsson.android.iwnnime.TargetEditTextLandscape" android:screenOrientation="landscape" />
<activity android:name="com.sonyericsson.android.iwnnime.TargetEditText12keyLandscape" android:screenOrientation="landscape" />
<service android:name="com.sonyericsson.android.iwnnime.poboxplugin.POBoxPluginBroadcastService" android:enabled="true" />
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="9" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
</manifest>
[/bash]

このuses-sdkのところを見れば、どのバージョンで動くのか、おおよそわかります。

この場合、minSdkVersion=”7″ということでEclair(2.1)のことです。で、targetSdkVersion=”9″は、GingerBread(2.3)ですから、この時点でEclair以上、GingerBreadまでで動くということが、推察されます。

だったら、突っ込むかw

そして、まあ、普通に使えることが確認できたので、次はカスタムROM主流のfroyoで試すことに・・・

お試しはFX10β3です。(当時、β4はdocomoファームで動かなかったのでw)最初からインスコしました。

自作APNの設定ファイルとこのサイトでも以前紹介したぽ箱に必要なlibファイルを取り揃えて、zip作って突っ込みました。

ここに悲劇が!!

自作のbuild.propを入れ忘れてましたw

ktkr!!

まぁ、これが、連発して・・・(って人多い?w)

そこで、私の大好きなadbコマンドでログ見ます。(ddmsのほうが見やすいかw)

[bash]
c:\> adb logcat
[/bash]

で、出力された結果の抜粋ですが

[bash]
I/ActivityManager( 1569): Start proc com.sonyericsson.android.iwnnime for service com.sonyericsson.android.iwnnime/.jajp.POBoxTouch: pid=2360 uid=10015 gids={1015}
I/iWnn ( 2360): JNI_OnLoad
D/AndroidRuntime( 2360): Shutting down VM
W/dalvikvm( 2360): threadid=1: thread exiting with uncaught exception (group=0x4001d7c8)
E/AndroidRuntime( 2360): FATAL EXCEPTION: main
E/AndroidRuntime( 2360): java.lang.IllegalAccessError
E/AndroidRuntime( 2360): at com.sonyericsson.android.iwnnime.OpenWnn.onCreate(OpenWnn.java:88)
E/AndroidRuntime( 2360): at com.sonyericsson.android.iwnnime.jajp.IWnnImeJaJp.onCreate(IWnnImeJaJp.java:648)
E/AndroidRuntime( 2360): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2959)
E/AndroidRuntime( 2360): at android.app.ActivityThread.access$3300(ActivityThread.java:125)
E/AndroidRuntime( 2360): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2087)
E/AndroidRuntime( 2360): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 2360): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 2360): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 2360): at java.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime( 2360): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 2360): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 2360): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 2360): at dalvik.system.NativeStart.main(Native Method)
[/bash]

起動していきなり落ちてますw

java.lang.IllegalAccessErrorとな?

場所は、

com.sonyericsson.android.iwnnime.OpenWnn.onCreateとな?

onCreateって、思いっきり、いきなりじゃんw

で、プログラムを見てみるわけですが、さっきapkmanagerでデコンパイルしてますから、探してみます。

というか、すぐ見つかりますが、

apk_manager_4.9\projects\JapaneseIME.apk\smali\com\sonyericsson\android\iwnnimeの中のOpenWnn.smali

が、ぁゃιぃ!

ファイルを開いて、onCreateって文字を検索してみると

[bash]
.method public onCreate()V
.locals 5

.prologue
.line 84
invoke-super {p0}, Landroid/inputmethodservice/InputMethodService;->onCreate()V

.line 86
const-string v3, "ro.product.manufacturer"

invoke-static {v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;

move-result-object v1

.line 87
.local v1, manufacturer:Ljava/lang/String;
const-string v3, "Sony Ericsson"

invoke-virtual {v1, v3}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

move-result v3

if-nez v3, :cond_0

.line 88
new-instance v3, Ljava/lang/IllegalAccessError;

invoke-direct {v3}, Ljava/lang/IllegalAccessError;-><init>()V
[/bash]

ほら、あるじゃんw logcatのメッセージも

at com.sonyericsson.android.iwnnime.OpenWnn.onCreate(OpenWnn.java:88)

って88行目?

[bash]
.line 88
new-instance v3, Ljava/lang/IllegalAccessError;
[/bash]

ビンゴでしょw

86行目(.line 86)あたりで見慣れた文字がw build.propのあれですよね?

87行目(.line87)で、見慣れた文字列が… ソニエリってw

invoke-virtual {v1, v3}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

ってとこで、v1とv3を比較しているわけですよ。

v1にはbuild.propに設定されている文字列が入ってて、v3にはソニエリって文字が入ってるわけですよ。

なので、build.propにソニエリ文字列が入っていないと、動かないわけですねw

ってことは、なにか!

invoke-virtual {v3, v3}, Ljava/lang/String;->matches(Ljava/lang/String;)Z

なんてしたら、ソニエリ文字列とソニエリ文字列を比較するわけで、同じジャマイカ!!

そうです。チェックがパスされるわけです。

ひっそり、ツイッターのフォロワーの方にプレゼントしたぽ箱は、上記修正をしてリコンパイルしたものです。(銀河でも動いたと報告受けました。当たり前かw)

まぁ、このあたりの情報は、したらばにも投稿しましたけど(こんなに詳しくは、してないですw)。

ふぅー。これで、仕事はオワタ・・・( ´ー`)y-~~ と思ったら、

なんと、事件は現場で起こってるんだ!

 

 

 

 

 

つづく…(のか?)

「ぽ箱4が動くまでの戦い!」への8件のフィードバック

  1. 是非、続いて下さい。
    気になりますw

    見てるうちにテーマが2転3転してて、、、
    ビックリしましたwww

  2. テーマ触られてるようで。

    もし宜しければ、、、
    シングルページにもページ送りが
    あったらなぁ、と思ったりしてしまいました。
    すみません(汗

  3. うぉぉぉぉ。ばれてましたか!!
    そうなんですよ、ブログのカスタマイズもw
    大体あれなんですが、基本デザインセンスないもので、
    どこかからダウンロードしてきては試してを繰り返してたので・・・

    ご要望承りますたw

  4. ページ上部にページ送りがw
    ありがとうございます。

    現在、GoroCustom-06+ぽ箱4プレゼントバージョンを
    使わせていただいていますm(_ _)m

    いつも有難う御座います。
    九州に住んでいるので、
    千葉に足が向かないよう北枕で寝させて頂いていますw

  5. 流れ流れでこちらにたどり着き、大変お世話になっております!
    五郎さんのようにプログラム系(言い方が違う?)には全然詳しくなく・・・
    説明サイトを参考にGoroCustom-06を叩き込んでXperiaがサクサクになってびっくりしました!

    また、ぽ箱4の方もまたこちらでアップしてくれるとうれしいです(^_^;

  6. 五郎さんも何だかんだでarc買っちゃったりする可能性あります…?
    スペック見ちゃうとどう考えてもスルーと思うんだけどペリアブロガーが次々と乗り換えちゃって失望w

  7. いあ、今はarcに興味ないですね。
    そんなにスペック変わってないし、重いだの、使えねぇだの言ってる人に
    こうすれば、十分使えるよってのを公開してるだけなんですけどねw
    まぁ、正規の使い方じゃないし、強制できないんですけどね。
    って、これもまた、他人のフンドシでやってるんですが、「えっ、そうなの?」って人が
    簡単に導入できるようにと、やってるわけでして…(最初は皆さん結構苦労したと思うのでw)

  8. 同感です
    xdaの方でも俄然盛り上がってきましたし、まだまだこれからですね?
    今回のA-SPECwも有難く使わせていただきます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です