2012年6月24日日曜日

ICSにしてみた

「ここのところ、なんか細かい作業が多くて仕事が進まないんだよね」
『あなたのところはいつもそうじゃないですか』
「まぁそうっちゃそうなんだけどね…。ただ、やらなきゃいけない仕事の一つが“とあるフィールドの長さを変更する”だから当たりがでかいんだよね。
まとめれやらないと時間ばっかりかかっちゃうしさ…」
『ああ、なんかわかります。日替わりで作業すればいいじゃないですか』
「だってお客さんからも問い合わせくるんだよ。集中時間がなかなか…」
『あー、じゃあ平日休んで休みに仕事すればいいんじゃないですか』
「それはそれでやだよ…」

「気分が向いたので、Xperia ProをIceCream Sandwichに上げてみたよ」
『なんか面倒臭がってなかったでしたっけ?』
「めんどくさがってましたよ。xperiaはブートローダにかかってるロックを解除できるのね。そうするとカスタムなカーネルを読み込めるようになるんで、例えばシステムいじっておかしくなっちゃった時にfastbootを使ってClockworkModを起動することでシステムの復旧ができたりとか、そういうことができるのね」
『ちょっと前まではRoot化するときには必須でしたからね、ブートローダーのアンロック』
「そう。本来のカーネルが起動するまえに作業できるからね。
んで、この解除方法はSonyが公式にサポートしてるんだけど、やっちゃうと保証が無くなるのは当然としても、それに加えてシステムの更新ができなくなっちゃうんだよね。
さらに、公式のブートローダーアンロックをやると、システムを初期化しなくちゃいけないわけですわ」
『ふむ。つまり、ブートローダーが解除されているあなたのXperiaの場合は、一度ブートローダーを再度ロック→ICS化→ブートローダーアンロック(この時にシステム初期化)→Root化 という手順を踏まないといけないわけですね』
「めんどうでしょ?だからどーしよかなーと思ってたんだけど、なんか非公式なアンロック方法ってのがあって、この方法だと初期化しなくてよさそうなんで試してみた。
TestPointっていう端子を通電させながら、アンロック用のソフトを実行させるんだけどさ」
『だけどさ?』
「クリップの一つくらいあるだろうと思って始めたんだけど、いざ通電する段階でクリップなんてないことに気づいたよ」
『何やってるんですか…』
「安全ピンしかなかったんでそれでやったけどね」

『で、ICS化した感じはどうですか?』
「うーん…見た目は変わったよね。なんかすっきりしたかな。通知エリアから設定に入れたりとか、データ通信量が見えたりとか、こまいところでは良くなってるんじゃないかな」
『はっきりしない言い方ですね』
「正直そんなに大きく変わった感じはしないかも…。しかもうちのXperia Proだと若干非力かな。前のほうがサクサクだったような…。
でもメモリの利用量はこっちのほうが良い気もする」
『アニメーションが多くなってる気がしますから、その関係ですかね』
「かも。あとはタスクが裏で動いてるのかな?
方法良くわからないけど、いらんタスクとアニメーションの停止を出来ればもっと良くなると思うよ」
『バッテリーとかはどうです?』
「ICSにしたら、MVNOのバッテリードレイン問題が再発しましたよ。
GBの時にも発生してた問題なんだけど、そのときは対策パッチを作ってくれている方がいて、それで対応できたんだよね。
でもICSの該当ファイルのframeworkはodex化されてるので、単純に書き換えできないんだよね。だから、こいつをdeodex化→書き換え→再度odex化っていう手順しなきゃいけなかったんで大変でした。
これと、いつものbuild.propの“魔法の5行”を足してやればGBとあんまり変わらない状況になるよ」
『そうですか』
「…」
『…』
「…なんか、オチないね…」
『あなたがframeworkの書き換えに失敗して、何度も何度もブートループに陥った話をしてないからじゃないですか?』
「あああ…。作ったjarファイルを再度odex化するためにdeodex-wrapperを使うんだけど、できた結果のファイルが元のファイルと比べて小さかったんだよ。
でもまぁ…そういうこともあるか程度で作業続けちゃったら、
起動→sonyのロゴ→xperiaのロゴ→ブラックアウト→sonyのロゴ→xperiaのロゴ→ブラックアウト…の繰り返しに…」
『ファイルサイズ、だいぶ違いましたよね?』
「ええ、はい…。結果的にはどうもクラスパスに必要なファイルが足らなかったんだと思う。よくわからなかったので、最終的には必要そうなファイルを退避して/system/frameworkの中でdeodex-wrapper実行してどうにかなりました」
『バックアップファイルをうっかり消したりしてだいぶパニクってましたよね』
「はっ、はい…。元ファイル消して一瞬\(^o^)/ 状態になってました」
『そういうときのためにも、中身をいじる場合はブートローダーアンロックしてclockworkmodを実行できるようにしておくのは大事なことですね』
「おっしゃるとおりです…」

2012年6月3日日曜日

SmartWatchとか


『また仕事してるんですか?』
「ひぃ…来週から別の仕事のお手伝いしなきゃいけないんだけど、今週バタバタしてて、自分の作業が全然終わってないんだよぅ…」
『いい加減効率上げる方法考えたほうがいいんじゃないですか?』
「わかってますよぅ。でも作業中にいろいろ割り込み入るんだから仕方ないじゃん」
『人の話をはねつける能力がないのはあなたの問題です』
「ひぃ」

「え、えーとね、最近ちょっといろいろあってゲーム機を持ち歩かなくなったので、そのかわりにちょっとした機械を買いました!」
『SmartWatch MN2 、ですね』
「そー。時計ですよ。しかも、時計なのに、時計だけあっても時間が表示できないっていうすごい時計」
『そこだけ切りだすと訳わかりませんが、これはXperiaとBlueTooth接続するのが前提なんですよね』
「そう。スマホ側からデータを送り出して、MN2側はそれを表示するだけっていうことらしいね」
『どんなことできるんです?』
「SmartWatch専用のアプリがあるんで、何を入れるかによるね。
基本的な奴としては、FacebookやTwitter、メールの着信時お知らせとか、オーディオプレイヤーの遠隔操作とか、天気予報の表示とか…」
『それ以外は?』
「Playストアに、本体に通知が発生した時にSmartWatchに投げるっていうのがあるんだけど、これがすごい便利。指定したアプリだけ通知をSmartWatchに通すような設定ができるから、自分で普段入れてるアプリも簡易的に連携できるわけですよ」
『バッテリーはどうです?』
「うーん、あんまり頻繁につかわなければ2日間は持つよ。ただちょっと予想外だったのが、充電がMicroUSBじゃなくて専用のコネクタなんだよね。だから表で充電したければケーブル持ち歩かないと。そこが不便かなぁ…」
『ディスプレイとかは?確か全面タッチパネルなんですよね』
「うん、ディスプレイはそんな見難いってことはないよ。タッチパネルは、まぁ、元がちっちゃいからね。タッチとスワイプは使えるんだけど、スワイプしたつもりなのにタップしてることがある。俺の押し方が行けないのかもしれないけどね」
『ところで…誰かに、“スマホがあるならSmartWatchなくても良くない?”って言われませんでした?』
「あー、言われたかもね。でもこういう機械は、実用性が云々じゃなくて触ってて楽しいからいいんです!」
『まぁそりゃそうですね。実用性求めるなら普通の時計買えばいいわけですし』
「それに、これを買ったことでまたAndroidのプログラム作りたいっていう欲求が高まって来ましたよ。
最近の昼休みは、ちょっと前に半額で買ったオライリーのAndroid Hackを眺めながらお弁当食べるのが習慣」
『自分でアプリ作れれば好きなことできますからね。いつくらいに完成予定ですか?』
「え? えー、いや、まだ勉強してるだけだし…」
『そういうことだからあなたはダメなんですよ。ちゃんと何事にもスケジュールを立てて進めないから仕事も−』
「…もうやだー!」
『あ、逃げた』