Androidのバックアップソフト「Helium」はAndroid標準のバックアップ/リストア機能を流用する形で実現している。
ただ、Heliumの機能を使うためにはパソコンにHelium Desktopアプリをインストールし、そこから何かを行わせる必要がある。
「Helium Desktop Installer and Android App」を見ると、いまは、Chromeアプリ、Windowsアプリ、MacOSXアプリ、Linuxアプリ、がある模様。
で、Linuxの配布内容を見てみると、中身は、adbコマンドとシェルスクリプトのみ。
これなら、アプリを入れず、adbコマンドだけで実現できるのでは?と実験してみる
BASE=$(dirname $0)
pkg=$($BASE/adb shell pm path com.koushikdutta.backup)
# apparently pm path appends a carriage return which screws
# up the class name in dalvikvm invocation
pkg=$(echo $pkg | cut -d : -f 2 | sed s/\\r//g)
echo $pkg
$BASE/adb shell
(1)adbコマンドで、Heliumアプリ(com.koushikdutta.backup)がインストールされているパス名調査
(2)そのパス名をCLASSPATH環境変数に指定して、コマンド実行
という感じ。
私の環境では
(1) /data/app/com.koushikdutta.backup-1/base.apk
(2)「CLASSPATH=/data/app/com.koushikdutta.backup-1/base.apk app_process /system/bin com.koushikdutta.shellproxy.ShellRunner2」
ということなので、
「adb shell」でAndroid端末にshellで入り、「CLASSPATH=/data/app/com.koushikdutta.backup-1/base.apk app_process /system/bin com.koushikdutta.shellproxy.ShellRunner2」を実行することで、アプリインストールの代替とすることができた。