「バックアップとリセット」の挙動について実験 登録日:2013年08月10日 |
||
★トップページ ●OTGケーブルでDG-Q10SにいろいろなUSB機器を繋いでみました ●Google Playのインストール手順を解説 →「バックアップとリセット」の挙動について実験 ●Diginnos Tablet DG-Q10Sの備忘録 ●ドスパラ Diginnos Tablet DG-Q10S |
【謎が多い「バックアップとリセット」】 Androidの設定画面には、「バックアップとリセット」という画面があります。 こういう画面 ここで、インストールしたアプリを削除して、買ってきた状態に戻す事ができるのですが、動作原理がよく分からないんですよね。例えば、工場出荷状態のイメージファイルからシステムごと戻すのか、単純にアプリをアンインストールした状態に戻す動作なのか。もし後者だとすれば、システム的な不整合が発生する可能性は無いのか、どこからどこまで初期化されるのか、とかいろいろ疑問があります。 という事で実験してみましたのでその結果を報告しておきます。 【「SDカード内データを消去」オプションについて】 初期化時、「SDカード内データを消去」オプションを選択でます。 これをチェックして「タブレットをリセット」ボタンを押すと、アプリが初期化されると同時にSDカード内のデータも消去されます。実際やってみたところ、ダウンロードフォルダ(/sdcard/Download)に保存されたファイルは消去されることを確認しました。 逆にこのオプションを指定しない場合、ユーザーファイルは一切ノータッチなのだと思われます。 【何が元に戻されるのか?】 確かに、「タブレットのリセット」を行うと、購入後にインストールしたアプリは綺麗に削除され、購入時にインストールされていたアプリだけが残りました。アプリだけでなく、システムの設定自体も初期状態に戻されました。なので、比較的リカバリ的な処理がやられている感じなのではありますが、実際はそうではないようです。もしリカバリを行なっているのであればユーザーファイルは問答無用で削除されるはずですが、そうはならないのが何よりの証拠。 この辺の動作原理がよく分かりませんね。動作原理が分からないので、 ★OSにアップデートを適用された状態で「タブレットのリセット」を行った時にはどうなるのか? ★アプリをアップデートした際はそのアップデート分は無かったことにされるのか?(アップデート内容によっても挙動が違う可能性がある) ★もともとインストールされているアプリをアンインストールしてからリセットを行った場合どうなる? がよく分かりませんね。そういう意味でイマイチ不安。副作用が無いとは限らない。何となく、Windowsでいう「復元ポイント」に復元するときのような危うさを感じるのは自分だけ?(…いや、Androidはもっと単純で副作用のない仕組みになっているに違いないとは経験的には思うのではありますが) 【実験1~/system/appフォルダのapkファイルを削除するとどうなるか】 …という事なので、リセット処理は内部的にどういう作業が行われるのかが気になりました。そこで、/system/appフォルダのBrowser.apkファイルを削除してからタブレットのリセットをしてみました。Browser.apkファイルとは、デフォルトのWebブラウザをインストールするためのapkファイルです。 すると、リセット中に「問題が発生したため、com.android.provisionを終了します」なるエラーが発生 結果、「ブラウザ」がインストールされていない状態でリセットされました(ホーム画面の状態) つまり、リセット時には/system/appフォルダのapkファイルが使用されているのは間違いない模様。いたずらに/system/appフォルダを改変すると、リセット時に致命的なエラーを誘発しかねないので注意の必要ありですね。 ただしなぜ、「リセット時にBrowser.apkが必要である」事を知っているのか不明。恐らく、手順を記述したバッチファイル的なものがあるからなのでしょうが、そう考えるとよく分からない現象も観測されました。(以下参照) 【実験2~/system/appフォルダに余計なapkファイルを置くとどうなるか】 たまたま意図せず、/system/appフォルダに、Vending.apk(Androidマーケットをインストールするためのファイル)を置いたままリセットを行ったのですが、そうすると、最初からAndroidマーケットがインストールされた状態でリセットされました。 こんな感じ 余計なapkファイルが有ってもそれは無視されると思っていたのですが、そうでもないようですね? かと言って、/system/appフォルダにあるapkファイルを無条件にインストールするわけでもないはずです。もしそうなのであれば、「実験1」の時にエラーが発生する理由が分かりませんから。 どういう仕組になっているのかよく分かりませんが、一応そういう挙動をするという事を報告しておきます。 【とりあえずの結論】 とりあえず、これらの実験でわかったのは、「タブレットのリセット」操作は、飽くまで簡易的な初期化方法でしかない、という事です。いわゆるシステムリカバリとは全く別物です。 なので、ちょっと変なことをすると、元に戻らなくなったり、元に戻した時に不具合が発生しかねない方式だと思いました。なので、上級者はやはりシステムをフルバックアップしておいたほうが安心ですね。(初心者には敷居が高いですが) |