3

アプリをSDカードにバックアップできるように、アプリを起動しようとしています。私は走った:

        Process p = Runtime.getRuntime().exec("su");
    Process c = Runtime.getRuntime().exec(
            "cp /data/app/com.ebay.mobile-1.apk"
                    + Environment.getExternalStorageDirectory()
                    + "/ebay.apk");
    Log.d("copy", "done");

実行すると、スーパーユーザーを付与できますが、完了したと表示されますが、コピーされていないファイルはありません。私は例とテストとして eBay アプリを使用しています。

助けてくれてありがとう。

修正:以下の助けに感謝しますが、ここで完全な修正とちょっと違うやり方を見つけました "http://stackoverflow.com/questions/10735273/copy-folders-in-data-data-to-sdcard-viceversa? rq=1"

4

2 に答える 2

7

cpAndroid はコマンドをサポートしていません。このためには、catコマンド (シェルからのみ)を使用する必要があります。

cat source_file > dest_file

または、アプリケーションでBusyBoxを使用します。

編集:

また、コマンドを使用することもできます。

dd if=source_file of=dest_file
于 2012-07-03T16:10:45.413 に答える
0

このQAは私を大いに助けてくれたので、さまざまな幹部の回答に何かを追加したいと思いました. Runtime.getRuntime().exec(String) を使用する代わりに、Runtime.getRuntime().exec(String[]) を使用することを検討してください。これにより、スペースを含むファイル パスがファイル システムに大混乱をもたらすのを防ぐことができます。

試す

Process copy = Runtime.getRuntime().exec(
new String[]{
    "dd", 
    "if=" + inputFile.getAbsolutePath(), 
    "of=" + outputFile.getAbsolutePath()
});
于 2015-08-28T18:18:56.750 に答える