Nexus7のAndroid versionを古いものに戻す
開発環境: Windows 8 & Eclipse
実機のAndroidのversionを古いものに戻すことができれば、その古いversionでアプリの動作検証をすることができます。そういう意味で、実機を複数所持する必要が無くなります。Nexus7が開発者用端末であると呼ばれる由縁です。
Nexus 端末を出荷時の設定にリセットするに載っている手順は、利用者による設定やインストールしたアプリをリセットする手順であって、AndroidのversionをNexus7の新規購入時点のものに戻す手順ではなく、Androidのversionは変化しません。Nexus 7を他人に譲渡する時に実行する手順なのです。
下記に示す操作は、Windowsパソコンに例えると、Windowsパソコン購入時に添付されたリカバリ用のDVDを使って、Windowsパソコンを出荷時の設定にすることに似ています。なので、Nexus7のデータが全部消えてしまいますので、注意しましょう。
この操作にはAndroid SDKが必要であることを考えると、この操作はAndroid開発者が行うものであって、一般利用者が行うものでは無いと思われます。
古いバージョンに戻すとは言っても、Nexus7の新規購入時点のバージョンは機種依存しているため、そこに戻すことはできません。具体的にどのバージョンに戻せるのかは
Factory Images for Nexus Devicesを参照してください。
手順
開発機とNexus7とをUSBコードでつなぐ等を行い、Android SDKのプログラムが動作する環境を整えておく。具体的には、例えば、EclipseのLogCatでNexus7の動作のログが表示できるようにしておく。環境を整えておくという意味なので、実際にEclipseを起動させておく必要は無い。
Factory Images for Nexus Devicesから、Factory Images "nakasi" for Nexus 7 (Wi-Fi) > 4.1.2 (JZO54K)を任意のフォルダーにdownloadする。
(参考)
Nexus7の製造名を知る方法
解凍にはLhaca124を使えば良いでしょう、
ここではC:\nakasi-jzo54k\に解凍したものとします。
Windows8の場合、「Windowsシステムツール」の「コマンドプロンプト」をクリックして、「コマンドプロンプト」(黒い画面)を表示させる。
エクスプローラーでfastboot.exeファイルを1回クリックして、「パスのコピー」を実行します。fastboot.exeファイルはAndroid SDKフォルダーの下の\platform-tools\に有ります。
コピーした文字列を、Windowsの「メモ帳」に貼り付けて、(fastboot.exeの部分を除いた)パスの部分だけを「コピー」します。
「コマンドプロンプト」で次のとおり入力します。cdの次は半角スペースを入力します。cdはchange directoryという意味です。
cd
「コマンドプロンプト」の左上端のアイコンをクリック > 編集 > 貼り付けによって、"cd "の後に、パスの文字列を貼り付けます。
そしてEnterキーを押します。
すると、プロンプトが、fastboot.exeファイルの存在するフォルダーに移動します。
念の為、この画面で、"fastboot"と入力&Enterして、fastbootが動くか確認します。
C:\nakasi-jzo54kフルダー内にimage-nakasi-jzo54k.zipファイルがありますが、このファイルは解凍しなくても良いです。下記のバッチファイルを見て分かるように、zipファイルを直接操作します。
バッチファイルの編集
"C:\nakasi-jzo54k\flash-all.bat"ファイルがありますので、そのファイルを「メモ帳」で開いて内容を編集します。「メモ帳」では改行がありませんが、HTML文書に貼り付けて見ると改行があるのがわかります。
下記の赤色で記した部分を書き込み、上書きします。
@ECHO OFF
:: Copyright 2012 The Android Open Source Project
::
:: Licensed under the Apache License, Version 2.0 (the "License");
:: you may not use this file except in compliance with the License.
:: You may obtain a copy of the License at
::
:: http://www.apache.org/licenses/LICENSE-2.0
::
:: Unless required by applicable law or agreed to in writing, software
:: distributed under the License is distributed on an "AS IS" BASIS,
:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
:: See the License for the specific language governing permissions and
:: limitations under the License.
PATH=%PATH%;"%SYSTEMROOT%\System32"
fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system
fastboot erase userdata
fastboot flash bootloader
C:\nakasi-jzo54k\bootloader-grouper-3.41.img
fastboot reboot-bootloader
ping -n 10 127.0.0.1 >nul
fastboot -w update
C:\nakasi-jzo54k\image-nakasi-jzo54k.zip
echo Press any key to exit...
pause >nul
exit
次の手順でNexus7内のデータが全部消えるため注意しましょう。
fastboot modeによる起動
まず、Nexus7の電源を切ります。
そして、Nexus7がfastboot modeを使えるようにするため、Nexus7のVolume Downボタンを押しながらPowerボタンを押し、Nexus7を起動します。fastboot modeにすると、端末をflashさせるbootloaderを使うことができるのです(意味不明)。
bootloaderのロック解除
デフォルトではbootloaderはロックされています。
Nexus7の端末がfastboot modeになっているのを確認したら、開発端末(Windowsパソコン)の「コマンドプロンプト」から次のとおり入力し、bootloaderのロックの解除をしてください。
fastboot oem unlock[Enter]
Unlock bootloader
Nexus7に「Unlock bootloader?」という画面が表示されます。Volume Upボタン又はVolume Downボタンを押し下げて、「Yes」の項目を選択し、Powerボタンを押します。
これによる「コマンドプロンプト」のログは次のとおりです。
C:\*\sdk\platform-tools>
fastboot oem unlock[Enter]
...
(bootloader) erasing userdata...
(bootloader) erasing userdata done
(bootloader) erasing cache...
(bootloader) erasing cache done
(bootloader) unlocking...
(bootloader) Bootloader is unlocked now.
OKAY [349.022s]
finished. total time: 349.023s
バッチファイルの実行
Windowsパソコンの「コマンドプロンプト」から次のとおり入力してください。
C:\nakasi-jzo54k\flash-all.bat
これによる「コマンドプロンプト」のログは次のとおりです。
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\*\sdk\platform-tools\
C:\*\sdk\platform-tools>
C:\nakasi-jzo54k\flash-all.bat[Enter]
erasing 'boot'...
OKAY [ 0.987s]
finished. total time: 0.987s
******** Did you mean to fastboot format this partition?
erasing 'cache'...
OKAY [ 1.507s]
finished. total time: 1.508s
erasing 'recovery'...
OKAY [ 0.934s]
finished. total time: 0.934s
******** Did you mean to fastboot format this partition?
erasing 'system'...
OKAY [ 1.112s]
finished. total time: 1.113s
******** Did you mean to fastboot format this partition?
erasing 'userdata'...
OKAY [ 7.059s]
finished. total time: 7.059s
sending 'bootloader' (2092 KB)...
OKAY [ 0.289s]
writing 'bootloader'...
OKAY [ 10.257s]
finished. total time: 10.546s
rebooting into bootloader...
OKAY [ 0.020s]
finished. total time: 0.021s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: 3.41
Baseband Version.....: N/A
Serial Number........: 015d25687c601206
--------------------------------------------
checking product...
OKAY [ 0.040s]
checking version-bootloader...
OKAY [ 0.024s]
sending 'boot' (4896 KB)...
OKAY [ 0.651s]
writing 'boot'...
OKAY [ 0.747s]
sending 'recovery' (5240 KB)...
OKAY [ 0.701s]
writing 'recovery'...
OKAY [ 0.678s]
erasing 'system'...
OKAY [ 1.442s]
sending 'system' (446268 KB)...
OKAY [ 57.518s]
writing 'system'...
OKAY [ 33.915s]
erasing 'userdata'...
OKAY [ 7.367s]
formatting 'userdata' partition...
Creating filesystem with parameters:
Size: 6453985280
Block size: 4096
Blocks per group: 32768
Inodes per group: 8048
Inode size: 256
Journal blocks: 24620
Label:
Blocks: 1575680
Block groups: 49
Reserved block group size: 391
Created filesystem with 11/394352 inodes and 52512/1575680 blocks
sending 'userdata' (102525 KB)...
writing 'userdata'...
OKAY [ 28.454s]
erasing 'cache'...
OKAY [ 1.457s]
formatting 'cache' partition...
Creating filesystem with parameters:
Size: 464519168
Block size: 4096
Blocks per group: 32768
Inodes per group: 7088
Inode size: 256
Journal blocks: 1772
Label:
Blocks: 113408
Block groups: 4
Reserved block group size: 31
Created filesystem with 11/28352 inodes and 3654/113408 blocks
sending 'cache' (9052 KB)...
writing 'cache'...
OKAY [ 3.828s]
rebooting...
finished. total time: 136.937s
Press any key to exit...
bootloaderのロック設定
Nexus7が起動し、画面には、Welcome画面が表示されますが、ロック設定を忘れてはいけないので、直ちに、電源を切ります。
そして、Nexus7のVolume Downボタンを押しながらPowerボタンを押し、Nexus7を起動します。ドロイド君が倒れている画面が表示されていることを確認します。
「コマンドプロンプト」から次のとおり入力し、bootloaderのロックをしてください。
fastboot oem lock[Enter]
これによる「コマンドプロンプト」のログは次のとおりです。
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\*\sdk\platform-tools\
C:\*\sdk\platform-tools>
fastboot oem lock[Enter]
...
(bootloader) Bootloader is locked now.
OKAY [ 10.495s]
finished. total time: 10.496s
Androidを起動する
ドロイド君が倒れている画面の右上にStartと表示されていることを確認して、Powerボタンを押します。
アカウント等の設定を済ませて、「設定」>「タブレット情報」>「Androidバージョン」を見ると「4.1.2」になっています。