2017-02-18 18 views
0

みなさん、こんにちはパーティション/データファイルに書き込む方法は?

私は自分のアプリケーションにはスーパーユーザが/dataパーティションでコマンドを使用して作成されたファイルへの書き込みアクセス権を持っている必要がありますので、私は(私があれば、典型的なディレクトリ/data/dataにファイルを作成していない、この質問をしてきましたあなたが行うすべては/パーティションにあるファイルに読み取りと書き込みのアクセス許可を設定しようとしている私のコード:私のコードを説明

public boolean creaArchivo2(String path, InputStream is) 
    throws IOException { 

    final int CHUNK_SIZE = 1024 * 4; 

    Process proc = Runtime.getRuntime().exec("su -c mount -o remount,rw "+path); 
    Process proc1 = Runtime.getRuntime().exec("su -c mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 "+path); 
    OutputStream os = new FileOutputStream(new File(path)); 
    byte[] chunk = new byte[CHUNK_SIZE]; 
    int bytesLeidos = 0; 

    while ((bytesLeidos = is.read(chunk)) > 0) { 

     os.write(chunk, 0, bytesLeidos); 
    } 
    os.close(); 

    return true; 

} 

:)いくつかではないが、私の現在のコードは、所望の結果を考えるとしていませんデータをコピーしてdコマンドで明白に発生するエラーの代わりに簡単にコピーすることができますが、動作しません。

私のコードでどこが失敗したのか、自分の目標を達成する別の方法を知っている場合。私にお知らせください。ありがとうございます

答えて

0

これで試している電話にはrootアクセス権がありますか?

例外はありますか?あなたはちょうど "それは働かない"と言った。もっと情報が必要な場合や、お手伝いできない場合もあります。

あなたはrootアクセスやスーパーユーザコマンドを使用するつもりなら、私はStericsonからRootToolsライブラリを使用することをお勧めします:
https://github.com/Stericson/RootTools

これは、すべての複雑なプロセス&ランタイムのものをラップし、使用可能になりますAPIを使用して、現在のルートアクセスなどをチェックします。

関連する問題