androidのアプリを丸ごとバックアップする手立て

2019/2/14

標準でバックアップの機能を持たないアプリを、できれば丸ごとバックアップできないか検討してみました。結論としては、アプリ本体と記録データをひとまとめにバックアップする方法は見つかりませんでしたが、それぞれ個別になら行えそうです。

まず、アプリ本体のバックアップ。ふつうに考えればPlayストアで入手すれば容易に思いますが、リリースが終了されている場合に困る。野良アプリを探すのもいいですが、androidアプリ「Apk Extarctor」なるものを使うと、ウイルスリスクのないAPKファイルを抽出できそうです。この件に関しての詳細は外を当たってほしい。

本稿においては、記録データ(一般的にはアプリデータと呼ばれている部分)のバックアップを試みた経緯を記します。

androidアプリ「helium(無料版)」を利用しますが、これにはパソコンも作業に必要。ここではwindows版「helium」を使った方法を記録します。余談として、linux版のheliumをubuntuで試しましたが、実行ファイルであるはずのrun.shを僕のスキルでは実行できずインストールできなかった。結果としてWindows版が簡単でした。Mac版は他を参考に。

失敗談として、スマホ版HeliumとPC版Heliumの接続に相当手こずりました。ストレスフリーな作業を望むなら、作業の順番は以下の順番を厳守すること。また、PCとの接続作業中にスマホ版ヘリウムの挙動がおかしくなったら、ためらわず再インストールが吉。利用環境はスマホOSがandroidのSH-01HとPCはwindows10。

手順1_最初にパソコン版Heliumを準備した方がいい。
Helium Desktop Installerの配布ページで「windows」をクリックすると「CarbonSetup.msi」という名前のファイルをダウンロードすることになるが、これで大丈夫。これを実行するとちゃんとHeliumがインストールされます。他のサイトでframeworkの絡みで難しいことが書いてあったが、今回のインストールにフレイムワークに関連する問題は起きませんでした。先にも触れましたが、linuxのubuntuで試したとき、インストールできませんでした。windows版の方が容易です。さてインストール後、デスクトップ画面にショートカットは作られない仕様。heliumアプリは、windows10だと画面左下のウインドウロゴから「すべてアプリ」に入り、「clockworkMod」の中にある。パソコン版heliumを起動させたら、パソコンの操作は待機。

 

手順2_スマホ側のUSBデバックを有効にしておく

USBデバックの設定場所は「開発者向けオプション」の中にあります。しかし、購入当初のまま使っている場合、その項目は隠れているので表示させ必要があります。AQUOSの場合、「設定」→「端末情報」の中の「ビルド番号」を数回連打すると「これでデベロッパーになりました」とメッセージが表れ、戻ると「開発者向けオプション」の項目が現れます。開発者向けオプションに入ると、遂に「USBデバック」を有効にする項目が見つかります。ここで有効にしておきます。
参考までに、スマホ版helium起動後、USBデバックを有効にしてくれの指示の際、この開発者向けオプションが表示されていないとheliumの挙動がおかしくなります。

手順3_スマホとPCの接続

スマホとPCを接続しましょう。PCとスマホを繋げたとたん、スマホ画面で「USBデバックを許可しますか?」と聞かれます。許可しましょう。これによりバックアップ可能な状態になります。次に「USB接続の用途」について聞かれますが、どの接続方法を選んでも問題ありません。ちなみに、上記の手順から外れると「PTP接続をしてくれ!」とPTP接続に設定しているにもかかわらず延々と言われ続けると思います。こうなってしまったらスマホ版ヘリウムを再インストールし上記の手順に従ってください。
ドライバーに関して、僕の環境では改めてインストールする必要はありませんでしたが、もしスマホheliumとPCheliumがつながらない場合、PC側Heliumにある「もし接続できなかったらここからドライバーをダウンロードできるよ〜」をクリックしてUniversalAdbDriverSetupをインストールしたのち、スマホheliumを再インストールして再び手順1からやり直してみて欲しい。

  

手順4_バックアップ

ここまでくればもう大きな困難はありませんが、少々注意事項はあります。無料版ですので、バックアップ先は内部デバイスしか使えません。この場合で言うとinternalstorageでないとバックアップできません。内部デバイス直下に「carbon」というフォルダが生成されそこにストックされます。そのバックアップデータをSDカードやcloudに移したい場合は、スマホ側から作業してください。windows側で移動作業をすると消えてしまうファイルがあるようです。
「バックアップ非許可」となっているアプリはバックアップできない仕様です。配信元がバックアップを認めていないような説明です。
「アプリデータのみ(最小のバックアップ)」という項目が見えますが、このチェックを外すと最小ではなくアプリ丸ごとバックアップしてくれるのかと思いやってみましたが、そういう意味ではなく、結局アプリデータのみのバックアップに終わりましたので注意です。

 

手順5_リストア

バックアップファイルをリストアします。cloudやSDカードに保存していた場合、そこからのリストアはできません。ファイルを内部デバイス直下「carbon」に移動させてリストアします。先にも触れましたが移動の作業はスマホで行ってください。

参考_バックアップ非許可のアプリに対して、アプリフォルダーごとバックアップしてみたがダメだった。

Heliumでバックアップ非許可のアプリを別の方法でバックアップできないか検討しました。android内の「内部デバイス/android/data/アプリ名」のフォルダを丸ごとコピーしておいて、当該アプリを再インストール後、それと差し替える方法で復元できないかやってみましたがダメでした。

(C)GOTO Takasi