2016年5月4日水曜日

Genymotionを使った仮想マシン上のAndroidで保存したHeliumクラウドバックアップデータをリストア出来ない場合の対応方法

※この内容に関する保障は一切ありません
※クラウド上のバックアップをリストア出来るのはHelium有料版のみです

・問題発生環境詳細
エミュレータ:Genymotion
Helium Ver.:1.1.4.1
Android Ver.:上記Heliumが動作する環境

・問題症状
Genymotion上でAndroidアプリHeliumを使った場合、クラウド(Dropbox,Googleドライブ)にデータバックをアップする事は出来るがリストアする事が出来ない
※リストアを同期→クラウド→Dropbox(Googleドライブ)を選択時「あなたのDropbox(google drive)にはバックアップはありませんでした。なにかする必要があります!」と表示される

・問題原因
Helium側が仮想マシンを想定しておらず、クラウド上へのユニークフォルダ作成/取得に問題があるため

Heliumがバックアップをする時に作成するフォルダは
「端末名 - MEID (例:SOL26 - 12345678901234)」
となっており「-以下のMEID」で識別していると考えられる
しかしGenymotion上で稼働するAndroidの場合
「Google Nexus 4 - 4.1.1 - API 16 - 768x1280 - 000000000000000
とハイフンが入っているためMEIDが取得出来ずバックアップデータの保存場所を認識出来ない可能性が高い

・問題対応策
Oracle VM VirtualBoxマネージャーを起動し対象仮想マシンの名前をハイフンが入らないように変更する
※Oracle VM VirtualBoxマネージャー→対象の仮想マシンを選択→設定→名前の変更

・問題対策例
変更前:Google Nexus 4 - 4.1.1 - API 16 - 768x1280
変更後:GoogleNexus4

・補足
Genymotion以外にも仮想マシン名にハイフンが入るエミュレータの場合、問題が発生する可能性がある