[Nexus7] スリープ時のエフェクトを変更してみる

元ネタはxdaのこちらのスレッド。実際の動作を映したビデオもこちらのリンクでご覧いただけます。
基本的には非root/rocked端末でも行けそうな雰囲気なのですが、万一の際の対応が面倒なので、「カスタムリカバリが起動するなら問題なし」と豪語できるユーザ向けの内容かもしれません。
ちなみに、本MODはICS以降であればAndroidのバージョンや端末の種類を問わず実行できます。が、ここでは"Nexus7"とCM10.1でのみ試しています。なお、作業にはWindows PCならびにJava環境が必要となります。
基本的な流れは以下の通りです。
1.どうにかして"/system/framework/framework-res.apk"をPCに持ってくる
2.xdaで公開されているPC用ソフト"Framework Flasher"をインストール
3.上記ソフトにて"framework-res.apk"をデコンパイル
4."files-to-edit\framework-res.apk\res\values\bools.xml"をエディタで開く
5.内容の一部を変更
6.ファイルをセーブして"Framework Flasher"でリコンパイル
7.最終的に"update.zip"を作成
8.できた"update.zip"をフラッシュすれば完了
箇条書きにするとわずか8ステップで完了ですが、ちとハマるポイントなどありましたので、備忘録的に記述しておきます。
まずは1.の部分。"framework-res.apk"をPCにコピーする方法ですが、元ネタのスレッドでは、"Nexus Root Toolkit"または"Google Nexus 7 TOOLKIT"の利用が推奨されております。要するにadbのpushコマンドが使えればOKという話。
なので、adb環境が整っているならそれを利用すれば良く、何ならファイル管理アプリでPCに転送する方法でもかまいません。
続いて2.以降の話。"Framework Flasher"は、インストール作業など不要で、ダウンロードしたzipを展開すればすぐに使えるようになります。pathの通ったディレクトリ下に置いておきましょう。
使い方ですが、コピーしてきた"framework-res.apk"を"place-framework-res-here"フォルダに入れ、"RunMe.bat"を実行するとターミナルエミュレータ画面のメニューが表示されます。

xdaのスレッドをななめ読みしてみると、どうやら関連ファイルが古いために発生する不都合な様子。そこで、該当するファイルが含まれたアーカイブ(2個)をこちらのWebページからダウンロードしてきます。
必要なのは"apktool1.5.2.tar.bz2 "と"apktool-install-windows-r05-ibot.tar.bz2"。見慣れない拡張子が付いておりますが、これを展開できるツールも必要となります。当方では"7-Zip"というオープンソースのアーカイバを使用しました。
それぞれのアーカイブに含まれる"aapt.exe"と"apktool.jar"を取り出し"Framework Flasher"の"resources"フォルダ内にあるファイルと入れ替えます。
また、Javaに関連したpathとclasspathが通っていないとダメな雰囲気なので、Windowsの環境変数も追加しておきます。当方では以下の一文をclassspathとpathの最後尾に付加しました。状況によりフォルダ構成が異なるかもしれませんが参考まで。
;C:\Program Files\Java\jre7\binこれでエラーもなく、処理が完了するようになりました。
処理後のファイルは"files-to-edit"フォルダに保存されます。名前は"framework-res.apk"のままですが、デコンパイル済みなのでダブルクリックで開けます。フォルダを"res"→"values"と開き、その中にある"bools.xml"を適当なエディタで開きます。
Windowsのメモ帳を使うと変に改行コードなどが入ってしまうため、当方では"TeraPad"というテキストエディタを使用しました。変更箇所は以下の通り。
<bool name="config_animateScreenLights">true</bool>これを以下のように変更します。
<bool name="config_animateScreenLights">false</bool>編集が完了したらセーブして"Framework Flasher"画面に戻ります。続いてメニュー(2)を選んで再びコンパイルし、(3)でAPKに署名、最後に(4)で署名付きの"update.zip"を作成すればOK。
後は、"update.zip"をリネームするなり、そのまま使うなりでフラッシュすれば完了です。CacheとDalvikのワイプも忘れずに。リブート後にCRT消灯エフェクトが有効になります。
実際にやってみると、確かにCRTっぽい消え方をします。これは愉快。なのですが、画面の方向に関わらず同じアニメーションが使用されます。
縦画面だと良い感じなのですが、横画面だとマヌケな感じに。走査線の概念を理解しているユーザにはとても残念なエフェクトに見えてしまいます。わざわざリスクを冒してまでするMODではないような気が。
使い勝手は少々異なりますが"Screen Off and Lock"というアプリを使用すれば、同様なエフェクトを、簡単かつ安全に導入できます。しかも、ちゃんと画面位置に対応したエフェクトとなっております。
なので、興味のある方は、まずはこちらのアプリをインストールしてみるのがよろしいかもしれません。
コメント
アドバイスをください
状況からするに”bools.xml”の編集に問題があったのかも。余計な改行コードが入ってしまったり、保存の段階でファイルが破損したりなど。この辺に気を付けて、もう一度”bools.xml”の編集からやり直してみてくだされ。