日々

 日中、とうとうAndroid 5.1(LMY47D)なNexus 5 32GBから、Android 4.4.2(KOT49H)なNexus 5 16GBにメイン端末を入れ替え。既にAndroid 5.1.0のファクトリーイメージも出てるけど、これで完璧といった評判も聞かないのでダウングレードしたモデルをしばらく使って電池の持ちとか様子を見てみることにした。

 定時後、第二神明で帰宅。歯医者へ。海津大崎行った時にはずれた虫歯治療の詰め物んとこを再治療。すぐ近くにあった小さな虫歯も一緒に直してもらえた。

 帰宅後、晩御飯。豚肉の生姜焼きとコーンスープ。

 母親の知人NHがPCメンテで来訪。液晶割れを確認。修理価格の予想を話した結果、新しいPC(FMVA30KB3)を買うことになり、色々説明して悩まれた結果購入して帰宅。
 とりあえず、こっちで受け取って明後日届くであろうブツを引き渡す方向で。気付いたら深夜10時すぎ。

Galaxy Nexusのセルスタンバイ対策をやってみる

Google公式のグローバル版ファームウェアであるAndroid 4.3(JWR66Y)のセルスタンバイ対策を何となくやってみた。

対策前

IIJmioのデータ通信専用SIMでデータ通信そのものは問題なく可能だけど、アンテナピクトやデータ通信ピクトは白い三角の枠のみで何も表示されず、キャリア等の表示も緊急通報のみ-NTT DOCOMOとなっている。クイック設定パネルのモバイルネットワーク表示は白い三角の枠のみで通信サービスはありませんと表示されている。また、電池のセルスタンバイの圏外時間が100%となっている。

対策手順

Galaxy Nexusブートローダーモードで起動してAndroid SDKがインストールされたPCとUSB接続して、以下の手順でframework-res.apkのbools.xmlにあるconfig_voice_capableをtrueからfalseに書き換えることで通話機能を無効にする。必要なファイル群はコマンドを見て適宜予め準備しておく。

  1. fastboot boot recovery-clockwork-6.0.4.7-maguro.img」でCWMを起動する
  2. CWMが起動したら「mounts and storage」→「mount /system」→「+++++Go Back+++++」で/systemをマウントする
  3. 「adb pull /system/framework/framework-res.apk」でframework-res.apkをPCに転送する
  4. java -jar apktool_2.0.0rc4.jar d framework-res.apk」でframework-res.apkを展開する
  5. メモ帳などで「framework-res\res\values\bools.xml」の「true」を「false」に書き換える
  6. java -jar apktool_2.0.0rc4.jar b framework-res」でframework-resを再生成する
  7. 「COPY framework-res\build\apk\resources.arsc」で再生成されたresources.arscをカレントディレクトリにコピーする
  8. 「COPY framework-res.apk framework-res.zip」でframework-res.apkをzipファイルとしてカレントディレクトリにコピーする
  9. 7za u -mx=0 framework-res.zip resources.arsc」で7-Zipコマンドラインバージョンを使ってframework-res.zipにresources.arscを無圧縮で上書きする
  10. 念の為に「zipalign -f 4 framework-res.zip framework-res_new.apk」で32ビット単位の位置合わせを行う(しなくても、まあ大丈夫だと思う)
  11. 「adb push framework-res_new.apk /system/framework/framework-res.apk」で書き換えたframework-res.apkをGalaxy Nexusに転送する
  12. 「adb shell chmod 644 /system/framework/framework-res.apk」でframework-res.apkのパーミッションを正しく設定し直す
  13. CWMから「reboot system now」→「No」で再起動する

対策後

アンテナピクトは電波強度が正しく表示され、アンテナピクト左上にデータ通信ピクトの「H」や「3G」などが表示され、キャリア等の表示もNTT DOCOMO-NTT DOCOMOとなっている。クイック設定パネルのモバイルネットワーク表示は白い三角の枠のみで緊急通報のみと表示されている。また、電池のセルスタンバイの圏外時間は表示されていない。

復旧手順

元のframework-res.apkをGalaxy Nexusに転送して上書きし、パーミッションを644に設定し直す