だめねこ飼育日誌 By suteneko
リネ2関連で検索して来たかたはこっちのwikiのほうがいいかも // プロフィール


2013-01-21 (Mon)

[Android] Titaniumを用いてアプリを旧端末から新端末にうつす [21:37]

気がついたら1月も残り1/3ですよ。あぁぁ今年はチョコどうしよーーー (><;) あげる相手いないけどさ…



さてと、気をとりなおして…



私はXperia acroからacroHDに端末を変えたわけですが、当然のことながら、旧端末に残ってるデータがあります。

スケジュールとか電話帳はGoogle側にsyncしているので、新端末でログインすれば大丈夫。問題はゲームのプレイデータなのです。



だってさ

これ、失いたくないでしょう? (クリックで画面全体)





というわけで、Titanium Backupを用いて旧端末から新端末にデータを移動させる方法です。この方法で全アプリが移動できるわけではありませんが参考まで。

今回のターゲットは前述の画面の「なめこ栽培キット」です。

なめこ味のチョコってオイシイかなー? (プ





(1) アプリのパッケージ名を調べる


(1-a) Titaniumから調べる方法 (楽だがTitaniumのバージョンアップ等で使えなくなる可能性あり)

アプリ自体の情報を見る方法がわからないので、バックアップの情報を見る方法です。

「バックアップ/リストア」→アプリ一覧からアプリを探してクリック

赤丸のあたりをクリック (「復元」「削除」ボタン以外のところ)

ここにパッケージ名が載ってます。


(1-b) 起動させてプロセスを見る方法

起動させた状態で、コンソールからpsをして怪しいのを探ってみる。

app_50    3044  130   178864 92696 ffffffff 6fd0c53c S jp.co.beeworks.funghiGardeningKit

または、母艦からddmsで行う。左上で端末を選択

DeviceメニューからShow process status。上と同じものが見えます。(端末に対してps -xを送っているので当然だが)


(1-c) ログから追う方法

起動させたときやアプリ動作中にログに何か吐くことを利用してログからパッケージ名を見る。母艦からddms、またはログインしてlogcatし、timestampとメッセージから追う。psのほうがずっと楽なのであまりやる意味は無い:)



はずかしながら「なめこ」が"funghi"と言うことを初めて知りました。Google翻訳さんが"Nameko mushroom"って言ってたのに… でもなめこDeluxはmushroomDXなんだじぇww



(2) Titaniumのバックアップファイルをコピー

私の場合、Dropboxにバックアップファイルを送っているので、そこから該当パッケージのファイルを取ってきます。ファイル名がパッケージ名で始まるファイル3つです。

packageName-1234567890.apk.gz というものが /data/app/packageName.apk を固めたもの

packageName-20130101-012345.tar.gz というものが /data/data/packageName を固めたもの

packageName-20130101-012345.properties というのがパッケージ情報(テキストファイル)です。

この3つを新端末のバックアップフォルダ (私の場合はSDのTitaniumBackup) にコピー

尚 tar.gz にはユーザ情報 (私の場合はapp_50.app_50) が入っておりますが、これは使われない (復元時に適当なIDが割り当てられる) ので気にしなくていいです。properties 内の内容 sys_ro.product.model 等も、異なっていても大丈夫。


(3) 新端末でバックアップを復元

Titaniumを起動し、バックアップ/リストアを選択。下のほうに、アンインストール済みアプリとして、なめこが生えていると思います。そこから「アプリ+データ」を復元。前もってGooglePlayを操作とかしなくても、新規インストールの代わりに復元でokです。


(4) 確認

Titaniumの設定次第でGooglePlay情報を更新するかしないか等ありますが、私の場合はこんな感じ

・ホーム画面にアイコンがある

・起動できる

・なめこpt等のデータが移動している

・GooglePlayでマイアプリに居る


(5) 念のため新端末でバックアップ





(6) その他余談

acroではLink2SDを使っていましたが、念のため、本体に移動(Link2SD解除)の上でバックアップを取り、それを使用しました。

/data/data 以外の場所にデータを保存しているアプリの場合は、これだけではうまくいかないです。とはいえ、permissionが出ている場所ってSDくらいしか無いですが… (/data/local/tmp は使わないだろうし)

本日のツッコミ