rsyncとsshを使用して、Androidデバイスの選択したディレクトリからリモートホストにデータをバックアップするAndroidアプリを作成しようとしています。次のように adb シェルから rsync コマンドを実行すると、機能します。
rsync -rvz -e "/system/xbin/ssh -y -p 22" "/mnt/sdcard/" "rajeesh@10.0.2.2:backup/"
しかし、Runtime.exec を使用する私の Java コードは、次のようなエラーで失敗します。
Error: rsync: failed to exec /system/xbin/ssh -y -p 22: No such file or directory (2)
私が使用したコードは次のとおりです。
String[] commands = {
"rsync", "-rvz", "-e", "\"/system/xbin/ssh -y -p 22\"",
"\"/mnt/sdcard/\"", "\"rajeesh@10.0.2.2:backup/\""
};
Process process = Runtime.getRuntime().exec(commands);
rsync と ssh の両方が /system/xbin に配置され、755 に chmode されました。「rsync」を「/system/xbin/rsync」に置き換えてみましたが、問題は残ります。ここで何が問題になるでしょうか?