【2.1&2.2】build.propを手軽に追加・修正する:BuildPropMerge (要root)

Xperiaが2.3になる(かもしれない)祭りな最中ですが、敢えてカスタムネタですw
今回は日々出てくるカスタムROMの中から効果ありそうなbuild.propだけを抜き出したものをPCを用いて簡単に元のbuild.propに追記するフリーソフトを考察します。

 

build.propとはXperiaにとって非常に重要なファイルです。カスタムromでdocomo絵文字を表示させたり、マーケットでちゃんとdocomo端末だということを宣言してSPモードメールを表示させたり、動作をつかさどる設定値が書かれています。なので通常(非root)では触ることができないsystemディレクトリにあります。

root化したXperiaではRootExploreなどを使ってsystemの中を編集することができますが、いちいちファイルを取り出す→編集→元に戻して→パーミッションを変更する、なんて手順を踏まなきゃいけませんし、一つ失敗すると起動しなくなる、というとても大事で重要なファイルです。

このbuild.propを変更することで動作が軽快になったりするため、カスタムrom作者を中心に様々な設定値が書き込まれていくわけで、その設定だけを自分のXperiaに追記していってる人も多いことでしょう。

そこで今回考察するBuildPropMergeというソフトウェアを用いてこれら作業を簡便化するのをやってみたいと思います。

 

◆準備するもの(前提事項)◆

ん?AndroidSDKだけでいいということはroot取らなくてもできるのか??と思って一旦初期化してやってみましたが、コマンドベースでsuしてるため、処理上はうまくいっているように見えても実は書き変わってないことが分かりました。なので、最低限rootは取っていないと使えないです。
だったらxRecovery環境をFlashToolで導入し、五郎さんのカスタムrom使ったほうがよいかもです。

 

◆使い方◆

[事前準備]

  • zipファイルをPC上で解凍。ファイルは3つ。
  • mergeprop.txtに入れ込むコマンド(文字列)のみ記述。(元々書かれているのはカスタムromでdocomo化宣言するために必要なもの。(とreadmeに書いてあります)
  • build.propで効果のありそうな項目、、というのはどれがそうなのかは難しい。。なので、とりあえずほぼ2.1標準状態なものをここにアップしてみます。

    ##### Merging of the /util/data/semc_kernel_time_stamp.prop file #####
    ro.build.date=Mon Nov 29 16:43:00 2010
    ro.build.date.utc=1291016580
    ro.build.user=SEMCUser
    ro.build.host=SEMCHost

    ##### Final patch of properties #####
    ro.build.product=SO-01B
    ro.build.description=SO-01B-user 2.1-update1 2.0.1.B.0.19 158 test-keys

    ro.product.name=SO-01B_1233-7397
    ro.product.device=SO-01B
    ro.product.board=es209ra
    ro.build.version.incremental=ExBC
    ro.build.tags=release-keys
    ro.build.fingerprint=docomo/SO-01B_1233-7397/SO-01B/es209ra:2.1-update1/2.0.1.B.0.19/ExBC:user/release-keys

    ######################## Customized property values #########################

    ro.semc.version.cust=1233-7397
    ro.semc.version.cust_revision=R11B
    ro.semc.enable.fast_dormancy=true
    ro.semc.emergency.masterreset=true
    ro.semc.spn.currentname=NTT DoCoMo
    ro.semc.spn.newname=NTT DOCOMO
    ro.semc.push_email=1
    ro.semc.supplementary_service=1
    ro.com.google.clientidbase=android-sonyericsson
    ro.com.google.clientidbase.yt=android-sonyericsson
    ro.com.google.clientidbase.am=android-docomo-jp
    ro.com.google.clientidbase.vs=android-sonyericsson
    ro.com.google.clientidbase.gmm=android-sonyericsson
    ro.config.libemoji=libemoji_docomo.so
    ro.camera.sound.forced=1
    ro.product.brand=docomo
    ro.semc.ecclist.num=6
    ro.semc.ecclist.type.0=firebrigade ambulance
    ro.semc.ecclist.number.0=119
    ro.semc.ecclist.plmn.0=440 FFF
    ro.semc.ecclist.non_ecc.0=false
    ro.semc.ecclist.type.1=firebrigade ambulance
    ro.semc.ecclist.number.1=119
    ro.semc.ecclist.plmn.1=441 FFF
    ro.semc.ecclist.non_ecc.1=false
    ro.semc.ecclist.type.2=marineguard
    ro.semc.ecclist.number.2=118
    ro.semc.ecclist.plmn.2=440 FFF
    ro.semc.ecclist.non_ecc.2=false
    ro.semc.ecclist.type.3=marineguard
    ro.semc.ecclist.number.3=118
    ro.semc.ecclist.plmn.3=441 FFF
    ro.semc.ecclist.non_ecc.3=false
    ro.semc.ecclist.type.4=police
    ro.semc.ecclist.number.4=110
    ro.semc.ecclist.plmn.4=440 FFF
    ro.semc.ecclist.non_ecc.4=false
    ro.semc.ecclist.type.5=police
    ro.semc.ecclist.number.5=110
    ro.semc.ecclist.plmn.5=441 FFF
    ro.semc.ecclist.non_ecc.5=false
    ro.voicemail.dialing-number=1417
    #########################################################################

    ro.config.ringtone=sony_ericsson.ogg
    ro.config.notification_sound=notification.ogg
    ro.semc.content.number=PE6

    ################# Updating of the SW Version #################
    ro.semc.version.fs_revision=2.0.1.B.0.19
    ro.build.id=2.0.1.B.0.19
    ro.build.display.id=2.0.1.B.0.19

    ##### Values from product package metadata #####
    ro.product.model=SO-01B
    ro.semc.ms_type_id=AAD-3880074-BV
    ro.semc.version.fs=DCM-1-2-5-6
    ro.semc.product.name=X10
    ro.semc.product.device=X10

    # begin build properties
    # autogenerated by buildinfo.sh
    #ro.build.id=2.0.1.B.0.19
    #ro.build.display.id=2.0.1.B.0.19
    #ro.build.version.incremental=158
    ro.build.version.sdk=7
    ro.build.version.codename=REL
    ro.build.version.release=2.1-update1
    #ro.build.date=Tue Dec 14 10:58:26 JST 2010
    #ro.build.date.utc=1292291906
    ro.build.type=user
    #ro.build.user=hudsonslave
    #ro.build.host=jptolx2667
    #ro.build.tags=test-keys
    #ro.product.model=rachael
    #ro.product.brand=Sony-Ericsson
    #ro.product.name=rachael
    #ro.product.device=rachael
    #ro.product.board=es209ra
    ro.product.cpu.abi=armeabi-v7a
    ro.product.cpu.abi2=armeabi
    ro.product.manufacturer=Sony Ericsson
    ro.product.locale.language=en
    ro.product.locale.region=GB
    ro.wifi.channels=
    ro.board.platform=qsd8k
    # ro.build.product is obsolete; use ro.product.device
    #ro.build.product=rachael
    # Do not try to parse ro.build.description or .fingerprint
    #ro.build.description=rachael-user 2.1-update1 2.0.1.B.0.19 158 test-keys
    #ro.build.fingerprint=Sony-Ericsson/rachael/rachael/es209ra:2.1-update1/2.0.1.B.0.19/158:user/test-keys
    # end build properties
    rild.libpath=/system/lib/libril-qc-1.so
    rild.libargs=-d /dev/smd0
    ro.semc.def_screen_orientation=sensor
    ro.semc.timescape_keys=X10_key
    ro.semc.timescape_model=1_5_handed
    ro.semc.sound_effects_enabled=false
    persist.rild.nitz_plmn=
    persist.rild.nitz_long_ons_0=
    persist.rild.nitz_long_ons_1=
    persist.rild.nitz_long_ons_2=
    persist.rild.nitz_long_ons_3=
    persist.rild.nitz_short_ons_0=
    persist.rild.nitz_short_ons_1=
    persist.rild.nitz_short_ons_2=
    persist.rild.nitz_short_ons_3=
    persist.ro.ril.sms_sync_sending=0
    ro.sf.lcd_density=240
    #DEVICE_PROVISIONED=1
    #ro.qualcomm.proprietary_obex=1
    wifi.interface=wlan0
    debug.sf.hw=1
    dalvik.vm.heapsize=24m
    kernel.log=default
    ro.camera.hd_shrink_vf_enabled=1
    ro.telephony.call_ring.multiple=false
    keyguard.no_require_sim=true

    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    #ro.config.notification_sound=OnTheHunt.ogg
    ro.config.alarm_alert=Alarm_Classic.ogg
    ro.setupwizard.mode=DISABLED
    ro.com.google.gmsversion=2.1_r12
    #ro.com.google.clientidbase=android-sonyericsson
    #ro.com.google.clientidbase=android-sonyericsson
    persist.cust.tel.eons=1
    net.bt.name=Android
    ro.config.sync=yes
    dalvik.vm.stack-trace-file=/data/anr/traces.txt
    ro.drm.active.num=4
    ro.drm.active.0=semc,1
    ro.drm.active.1=cmla,0
    ro.drm.active.2=viaccess,0
    ro.drm.active.3=marlin,1

    これに対し、五郎さんのCustomJitには以下のコマンドが追記されていました。

    # CUSTOM PROPERTIES
    windowsmgr.max_events_per_sec=125
    wifi.supplicant_scan_interval=180
    mot.proximity.delay=150
    dalvik.vm.startheapsize=28m
    dalvik.vm.heapsize=28m
    ro.ril.hsxpa=2
    ro.ril.gprsclass=12
    ro.ril.hsdpa.category=8
    ro.ril.hsupa.category=6
    ro.ril.disable.power.collapse=1
    ro.telephony.default_network=2

    スリープ時のwi-fi接続時間の設定、heapsize(メモリの領域の使う量を定義)など端末に最適化された設定がされているようです。さすが!!
    なので、#CUSTOM PROPERTIES以下部分これだけ抜き出し、メモ帳に貼り付け、UTF8形式のmergeprop.txtとして保存。

  • Xperiaの設定
    「田」>設定>アプリケーション>開発>USBデバックにチェックを入れる

[実作業]

  1. XperiaをPCとUSBケーブルで接続(本体と接続ではなく充電するモード)
  2. 自分だけかもしれませんが、RootExploreでsystemを書き換えできるよう事前に「Mount R/W」にしておかないと書き換えできておらず。。
  3. PCでBuildPropMerge.exeを実行

    この画面が出た後に(画面開いたまま)もう一度BuildPropMerge.exeを実行。Xperiaの画面にSuperuserリクエストが出るので許可。

    PCに戻るとコマンドプロンプトの画面が以下のように「書き換え完了」となる。Enterで画面を閉じる。(最初のも「x」で閉じていい)

    もともとあったコマンドは「変更」となり、新規追加されたものは「追加」となります。
    なので、arcなbuild.propのfingerprintとSDKのところだけを書き換えるときとかにも非常に有用なソフトです。
    ※3/26現在、これやるとSPモードメールがpushされなくなります。もしやってしまった方はsdk=8に戻してください。

     

    ro.build.fingerprint=docomo/SO-01C_1246-7916/SO-01C:2.3.2/3.0.D.2.79/sMfP:user/release-keys

    ro.build.version.sdk=9

     

  4. 作業完了したらXperiaを再起動。

今回は有用な設定値は見つけられませんでしたが、こんな感じでbuild.propの追記・編集ができるので良かったら使ってみてください。
とりあえずカスタム2.2な人がfingerprintを書き換えるとAndroidマーケットでPOBox4のキセカエキーボード連絡先引用2.3ウェブ引用2.3などのPOBox関連プラグインが落とせるようになったりするので。

11件のコメント


  1. […] build.propに以下のコマンドを追記する。追記はBuildPropMerge(考察済み)が便利。<目的>・SO-01Bであることを宣言・docomo絵文字を使う・POBoxを使うため […]


  2. @星の都 さん>
    作者様に何の断りもなく書いてしまいましてスミマセンでした。
    差分適用できるのは非常にメリットあると思いまして。
    新バージョンも使わせていただきます。今後とも宜しくお願い致します。m(__)m


  3. いつも考察ありがとうございます。何も考えずに。上記の例をコピペしてマージしてみました。見事に文鎮化しておりますw。ひょっとしたら立ち上がるかもと放置プレイ中です。ちなみに使ったのはBuildPropMerge_v1.0.0.22です。
    今確認したらuildPropMerge_v1.1.0.0があるみたいです。


  4. 紹介ありがとうございます。不意に検索してここにたどり着きました。
    BuildPropMergeの作者でございます。
    まさかここまで広まるとは思っておらず、びっくりしています。

    初回バージョンには多数のバグがあるので、最新版をお使いくださいヾ(゚ω゚)ノ゛

    重ね重ね、お礼を申し上げます。


  5. またまた便利そうなツールですね。情報ありがとうございます。
    FlashTool(0.2.8)のbuild.prop Editorでも、直接build.propの編集が出来るみたいですね。
    だんだんと便利になって嬉しい限りです。


  6. そうなんですかー、了解しました。とりあえずarc偽装はやめときます。


  7. スミマセン、出先のためコメント欄に書きます。
    sdkを9にするとSPモードメールが受信できなくなります。arc偽装は今はやめておいたほうがいいかもです。_(._.)_


  8. ショーグン殿
    いつもいろいろ勉強させてもらってます。以前考察したベンチマークがよいとされたbuild.propを今も使っております。
    ショーグン殿はarcなbuild.propを今は使われているのでしょうか?
    サクサクぬるぬるで電池持ちのいい(そんなのしらねーなんて言わずに)ショーグン殿のおすすめを教えてください!