2017-01-30 6 views
-1

bootanimation.zipという名前のファイルをフォルダにコピーしたいので、これを書いても動作しません!Javaを使用してAndroidでファイルをコピーできませんか?

class CopyFile { 


void CopyFileUsingStream(String sourc, String dest) throws IOException, InterruptedException { 

    File system = new File("/system"); 
    File sysboot = new File("/system/media/bootanmimation.zip"); 


    FileInputStream source = null; 
    FileOutputStream destination = null; 
    system.setWritable(true,false); 
    sysboot.setWritable(true,false); 
    while (!system.canWrite()){ 
     Log.v("SYSW","Non scrivibile"); 
    } 
    while (!sysboot.canWrite()){ 
     Log.v("BOOTW","Non scrivibile"); 
    } 
    try { 
     source = new FileInputStream(new File(sourc)); 
     destination = new FileOutputStream(new File(dest)); 
     IOUtils.copy(source, destination); 
    } finally { 
     IOUtils.closeQuietly(source); 
     IOUtils.closeQuietly(destination); 
    } 
} 

私はあなたが根なしにこれを達成することはできません

final CopyFile cp = new CopyFile(); 
    apply = (Button) findViewById(R.id.apply); 
    apply.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
       String dststring = "/system/media/bootanimation.zip"; 
         String src = choosedFileLocation; 
         try { 
          cp.CopyFileUsingStream(src,dststring); 
         } catch (IOException e) { 
          e.printStackTrace(); 
         } catch (InterruptedException e) { 
          e.printStackTrace(); 
         } 
} 
}); 
+1

あなたはrootアクセス権を持っていますか? – Fildor

+0

@Fildorはい私は –

+0

を持っています。Arasthelによれば、rootプロビジョルであっても、/ systemパーティションをrwパーミッションで再マウントする必要があります。 –

答えて

0

でそれを呼び出します。

rootがいる場合は、システムをRWとして再マウントできますが、ファイルをコピーできるかどうかはわかりません。とにかく、再マウントするには、この答えを使用する必要があります:

https://stackoverflow.com/a/5584154/3454741

しかしcommand変数をmount -o rw,remount /system/でなければなりません。ファイルをコピーする際に問題が発生した場合は、別のコマンドを実行することもできます。

"cp " + src + " /system/media/bootanimation.zip"

希望に役立ちます。

+0

私はすでにそれをしましたが、ファイルをコピーしません –

関連する問題