2012/12/28

Nexus 4 がやってきた!


LG Electronics が製造し、Google が販売する Nexus 4 は 11月に米国で発売されました。日本のキャリアから発売される見込みはほとんどないと判断して個人輸入しました。
  • 11/3 - 1ShopMobile で予約開始
  • 11/13 - Google Play Store で発売されるも、即日完売
  • 11/20 - 各国で売り切れのため、Google Play Store  を監視する Web サービス n4checker が公開される
  • 11/27 - 米国 Google Play Store で販売再開されたので発注。納期は 2~3週間
  • 12/13 - 米国 Google Play Store より発送
  • 12/15 - 個人輸入サービスの Spear-net に到着
  • 12/19 - Spear-net から日通航空便で発送
  • 12/24 - 成田に到着
  • 12/25 - 自宅に配送

という訳で発注から約 1ヶ月で入手できました。総額 $398.99 でした。$1=82円くらいの時に決済されたので 32,000円くらいでした。日本で最新モデルを購入すると 5~8万くらいするので海外モデル購入は価格面でも魅力的です。
  • 本体代金 - $349
  • 送料 (米国内) - $13.99
  • 個人輸入サービス - $36

早速 root 取得!

最近の端末は日本語フォント入ってるし、システムアプリも無効化できたりするので root 取得する必要性が段々無くなってきているのですが、せっかく Nexus 入手したのであまり深く考えずに root 取得してみたいと思います。まずは準備として、

  • Android SDK をダウンロードしてインストール
  • 端末情報のビルド番号を連打して開発者向けオプションを表示
  • USB デバッグを有効にして PC に接続
  • デバイスマネージャで Nexus 4 のドライバを更新 (Android Phone -> Android ADB Interface)

ぐらいまでやっておきましょう。おなじみ adb devices コマンドで接続を確認できたら fastboot モードに移行。

>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
XXXXXXXXXX        device

>adb reboot bootloader

fastboot モードになったらデバイスマネージャでドライバを更新 (Android Phone -> Android Bootloader Interface)。adb devices コマンドで接続を確認。

>fastboot devices
XXXXXXXXXX        fastboot

bootloader を unlock します。Nexus 4 の画面上で Yes を選択すると、端末が初期化され、全データが消失しますのでご注意下さい。

>fastboot oem unlock
...
OKAY [ 10.451s]
finished. total time: 10.452s

ここで一旦再起動します。Nexus 4 は発売直後に System Update が配信されています。殆どの場合、root 取得後はアップデートが適用できないか、適用した後に再度 root 取得が必要になります。 root 取得する前にアップデートを適用しておきましょう。

>fastboot reboot
rebooting

finished. total time: 0.001s

端末が初期化されたので以下の手順をもう一度。

  • 端末情報のビルド番号を連打して開発者向けオプションを表示
  • USB デバッグを有効にして PC に接続
  • デバイスマネージャで Nexus 4 のドライバを更新 (Android Phone -> Android ADB Interface)

adb devices コマンドで接続を確認できたら fastboot モードに移行。

>adb devices
XXXXXXXXXX        device

>adb reboot bootloader

bootloader を unlock してある端末の場合、root 取得にはいくつかの方法があります。

  • stock ROM (純正ファームウェア) を使用したまま、CWM Recovery から su コマンドと SuperUser.apk を追加
  • stock ROM (純正ファームウェア) を使用したまま、super boot image で起動して su コマンドと SuperUser.apk を追加
  • root 取得済み ROM (改造ファームウェア) を使用する

今回は super boot で行ってみたいと思います。xda の Nexus 4 フォーラムで r1-nexus4-superboot.zip が公開されていますので、ダウンロードして解凍します。後は fastboot boot コマンドで起動するだけです。

>fastboot boot boot.superboot.img
downloading 'boot.img'...
OKAY [  0.423s]
booting...
OKAY [  0.020s]
finished. total time: 0.446s

Nexus 4 が自動的に再起動します。起動にしばらく時間がかかりますが、アプリ一覧に SuperSU が確認できれば root 取得成功です。


ちなみに Nexus 4 の Quadrant スコアは 4900 超でした。かなり速くて快適です。皆さんも購入のチャンスがあればぜひ。




2012/12/11

禁断のネタ... きのこ無限増殖

今年もネタアプリを作りました

(… きこえますか… きこえますか… カレー猫です… 今… 皆さんの… 心に… 直接呼びかけています… このブログは… Android Advent Calendar 2012 に… 参加しています… このネタも… もう飽きてきましたね…)

というわけで皆さんこんにちは(こんばんは)。ネタアプリしか作らない @currycatgti ことカレー猫です。突然ですが私が作ったネタアプリベスト 3をご紹介します。

心に直接呼びかけるプラグイン for twicca
★★★★★

INSTALL

(… こんな… 感じに… 呟くことができる…
twicca プラグインです… )
 
心に直接呼びかけるツイートが流行っていたので便乗してみました。twitter でリツイートしていただいた皆さま、ありがとうございました。
 
平均評価は★ 5.0。総ダウンロード数 700件のうち約半分がアプリ公開初日に集中という、どこに出しても恥ずかしいネタアプリです。
 
シャコシャコ
カウンター
★★★★

INSTALL

キーボード付き端末を使う時の、あの小気味良いシャコシャコ感を twitter で共有するために作ったジョークアプリです。ダウンロード数は 2,000件くらい。
 
しかしキーボード付き端末がさっぱり発売されなくなるという、想定外の圧力を受けたり、ついでに私も Xperia mini pro をさっぱり使わなくなったりしたので絶賛放置中です。
 
きのこタイマー
ベータ版
★★★★

INSTALL

某きのこ収穫ゲームの人気に便乗したネタアプリ。永遠のベータ版。
 
タイマー設定時間を 15分 30分 1時間 4時間 8時間にして、他のアプリを起動する機能をつけただけのシンプルなタイマーですが、きのこ収穫に便利と人気アプリに。ダウンロード数は 30,000件以上。作った本人が一番びっくりしています。

… 皆さん、きのこがお好きなんですね…

今回は「きのこタイマー ベータ版」の作者であるこの私が、某きのこ収穫ゲームを始めとする作物収穫系ゲームの禁断の裏技をご紹介したいと思います。


作物収穫系ゲームって何やってんの?

今 AppStore でも Google Play でも作物収穫系ゲームが大人気です。例えば、
  • きのこを育てて収穫するゲーム
  • ロボットを生産して出荷するゲーム
  • 某県の特産品を収穫するゲーム
  • かっぱを捕獲するゲーム
等です。私は中の人ではないので、これらのゲームがどんな処理をしているか知りません。良い子なのでリバースエンジニアリングとかもやりませんが、どんな処理をしているか何となく想像できます。この手のゲームに共通する処理は、
  1. 肥料(エサ、燃料)を与える
  2. しばらく経つと作物(獲物、生産物)がでてくるので収穫(捕獲、出荷)する
  3. 収穫(捕獲、出荷)した数によってゲームが進行する
というような感じです。中の処理をゲスパーしてみるとたぶんこんな感じ。
  1. 肥料を与えたらその日付時刻を記録する
  2. ゲームが起動している間はタイマーを回して、一定時間経過ごとに収穫できる作物を1つずつ増やす
  3. ゲームを終了した後もタイマーを回していると電池を消費するので多分やってない
  4. ゲームを再起動すると、1で記録した時刻からどれくらい経過しているか計算して、作物を一度に複数増やす
ここで単純な疑問が湧いてきます。3~4の間に端末の時刻を変更したらどうなるんだろう、と。やって見ましょう。取りあえずゲームを起動して肥料をやります。あ、大人の事情により画面ショットではなく想像図です。あしからず。


ここで設定アプリを起動して、時刻を1時間進めてみます。


ゲームに戻ってみると... 肥料がなくなって作物がモッサリはえています!大成功!



禁断の... 無限増殖メソッド

このままだと時刻が未来の日付になってしまって何かと都合悪いので、色々と試行錯誤してみました。結果、こんな感じの手順だと大丈夫なようです。
  1. ゲームが起動していたら一旦終了する
    • ICS 以降ならアプリ一覧でスワイプ
    • GB 以前ならタスクキラー系アプリで
  2. 時計を3時間戻す
  3. ゲームを起動して肥料を与える
    • 以前やった肥料が残っていても新しくやる
  4. 時計を1時間進める
  5. ゲームに戻ると作物が増えているので収穫する
    • 肥料が無くなっていたら補充
  6. 時計を1時間進める
  7. ゲームに戻って収穫
    • 肥料が無くなっていたら補充
  8. 時計を1時間進める
  9. ゲームに戻って収穫
  10. おしまい

他の作物収穫系ゲームでも試してみましたが、かなりの成功率でした。これを「無限増殖メソッド」と名付けたいと思います。自動的にやってくれるアプリも作ったのですが、system clock をいじるのに root 必須になってしまったのと、ヘタレなので公開する勇気がありません。


最後に

  • 「無限増殖メソッド」を使うとゲームが超絶つまらなくなるので良い子は真似しないほうがいいです。
  • 他の作物収穫系ゲームにも通用しますが、某きのこ収穫ゲームシリーズの中にはこれでは増殖しないのもあります。
  • ゲームを作ってる中の人とは関係ないので、セーブデータがぶっ飛んでも凸したりして迷惑かけないようにお願いします。
  • ネタエントリが少ないのでおもいっきり脱線してみたのですが、こんなので良かったのかなぁ。

2012/12/07

Nexus 10 の root 取得 (続き)

前回の続きです。前回は CWM recovery で起動するところまで行きましたが、操作しているうちに謎の再起動で先に進めなくなってしまいました。xda に対策済みの recovery が公開されていましたので、こちらを試してみたいと思います。

手順 1~6 は同じですので、前回のエントリをご覧ください。

1. adb コマンドの準備
2. fastboot モードに切り替え
3. fastboot コマンドの準備
4. bootloader を unlock する
5. Factory Image をフラッシュ

6. CWM-SuperSU-v0.99.zip をコピー

7. システムをアップデートする
  • 現在公開されている Factory Image は Android バージョン 4.2 までです。最新版は 4.2.1 ですが、root 取得後にアップデートすると root が消えてしまいますので、先にアップデートしておきます。
  • 設定アプリを起動して、タブレット情報 -> システムアップデートでアップデートできます。
  • adb reboot bootloader コマンドで再起動します。
>adb reboot bootloader 

8. いよいよ root 取得
  • xda からリブート対策済みの recovery.manta.6021.img をダウンロードします。
  • fastboot boot recovery.manta.6021.img  コマンドで CWM recovery を起動
>fastboot boot recovery.manta.6021.img
downloading 'boot.img'...
OKAY [  0.683s]
booting...
OKAY [  0.392s]
finished. total time: 1.079s
  • 今回は無事起動しました。この recovery はスワイプで操作します。
    • 指を上下にスワイプするとカーソル移動
    • 右にスワイプすると選択
    • 左にスワイプすると戻る
  • 画面ショットが取得できないので分かりにくいかも知れませんが、
    • Install zip from sdcard -> Choose zip from sdcard を選択します。
    • 0 -> CWM-SuperSU-v0.99.zip を選択します。
    • 再度確認して CWM-SuperSU-v0.99.zip をインストールします。
  • インストールが終わったら Reboot Recovery で再起動します。

9. 確認
  • Nexus 10 が起動したらアプリ一覧に SuperSU がインストールされているかどうか確認します。スーパーマンみたいなドロイド君のアイコンがそれです。
  • Titanium Backup 等の root 権限必須のアプリで動作確認してもいいでしょう。
  • これで root 化されました。おめでとうございます!


2012/12/05

Nexus 10 の root 取得

Nexus 10 を入手したので早速 root 化してみたいと思います。最近はコマンド一発の便利なツールもありますが、古典的に手動でやって行きたいと思います。

1. adb コマンドの準備
  • 設定アプリのタブレット情報でビルド番号を連打する
  • 開発者向けオプションで USB デバッグを有効にする
  • PC に接続する
  • SAMSUNG Android ADB Interface のドライバをインストールする
  • adb devices コマンドで接続を確認する
>adb devices
List of devices attached
R32XXXXXXXX     device

2. fastboot モードに切り替え
  • adb reboot bootloader コマンドで再起動
>adb reboot bootloader
  • PC を使わなくても音量 UP DOWN のボタンを同時に押しながら電源 ON で fastboot モードに入れますが、後々使うことも多いと思いますので adb コマンドでやっておいたほうがいい気がします。

3. fastboot コマンドの準備
  • Nexus 10 が fastboot モードに入ったら PC に接続する
  • Android Bootloader Interface のドライバをインストールする
  • fastboot devices コマンドで接続を確認する
>fastboot devices
R32XXXXXXXX     fastboot

4. bootloader を unlock する
  • fastboot oem unlock コマンドで bootloader を unlock する
  • Nexus 10 で Yes を選択する
>fastboot oem unlock
...
OKAY [ 14.375s]
finished. total time: 14.378s
  • この時端末が初期化されますので十分に注意して下さい。
  • いずれ root 化するつもりなら、あまり使い込まないうちに OEM Unlock と Factory Image のフラッシュだけはしておいたほうが良いと思います。

5. Factory Image をフラッシュ
  • Factory Images for Nexus Devices から Nexus 10 用のファイルをダウンロードしておく
  • .tgz ファイルを解凍して flash-all コマンドを実行する
  • かなり時間がかかるので我慢強く放置
>flash-all.bat
erasing 'boot'...
OKAY [  0.026s]
finished. total time: 0.027s
erasing 'cache'...
OKAY [  0.037s]
finished. total time: 0.039s
erasing 'recovery'...
OKAY [  0.029s]
finished. total time: 0.031s
erasing 'system'...
OKAY [  0.050s]
finished. total time: 0.053s
erasing 'userdata'...
OKAY [  0.275s]
finished. total time: 0.277s
sending 'bootloader' (1280 KB)...
OKAY [  0.151s]
writing 'bootloader'...
OKAY [  0.117s]
finished. total time: 0.273s
rebooting into bootloader...
OKAY [  0.004s]
finished. total time: 0.005s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: MANTALJ12
Baseband Version.....: no modem
Serial Number........: R32XXXXXXXX
--------------------------------------------
checking product...
OKAY [  0.003s]
checking version-bootloader...
OKAY [  0.004s]
sending 'boot' (4606 KB)...
OKAY [  0.507s]
writing 'boot'...
OKAY [  0.134s]
sending 'recovery' (5106 KB)...
OKAY [  0.567s]
writing 'recovery'...
OKAY [  0.143s]
sending 'system' (528847 KB)...
OKAY [ 57.760s]
writing 'system'...
OKAY [ 14.732s]
erasing 'userdata'...
OKAY [  0.244s]
formatting 'userdata' partition...
Creating filesystem with parameters:
    Size: 14273216512
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8144
    Inode size: 256
    Journal blocks: 32768
    Label:
    Blocks: 3484672
    Block groups: 107
    Reserved block group size: 855
Created filesystem with 11/871408 inodes and 96018/3484672 blocks
sending 'userdata' (137478 KB)...
writing 'userdata'...
OKAY [ 19.685s]
erasing 'cache'...
OKAY [  0.045s]
formatting 'cache' partition...
Creating filesystem with parameters:
    Size: 553648128
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 6768
    Inode size: 256
    Journal blocks: 2112
    Label:
    Blocks: 135168
    Block groups: 5
    Reserved block group size: 39
Created filesystem with 11/33840 inodes and 4363/135168 blocks
sending 'cache' (10372 KB)...
writing 'cache'...
OKAY [  1.528s]
rebooting...

finished. total time: 95.399s
Press any key to exit...

6. CWM-SuperSU-v0.99.zip をコピー
  • Nexus 10 が起動したら PC に接続する
  • xda のここら辺のスレッドから CWM-SuperSU-v0.99.zip をダウンロードしておき、Nexus 10 の内蔵ストレージにコピーする
  • adb reboot bootloader コマンドで再起動
>adb reboot bootloader

7. いよいよ root 取得
  • xda のここら辺のスレッドから recovery-clockwork-6.0.1.9-manta.img をダウンロードしておく
  • fastboot boot recovery-clockwork-6.0.1.9-manta.img  コマンドで CWM recovery を起動
>fastboot boot recovery-clockwork-6.0.1.9-manta.img
downloading 'boot.img'...
OKAY [  0.683s]
booting...
OKAY [  0.347s]
finished. total time: 1.036s

  • しかしここで問題発生。Install zip from sdcard しようとすると勝手に再起動してしまいました。xda でも 20秒ぐらいでランダムに再起動する、と報告されています。
  • パッチがあるようですのでまた明日試してみたいと思います。今日はここまで。