I get the exception at
OutputStream out = new FileOutputStream(dst);

On Fri, Sep 16, 2011 at 2:32 PM, MCON Dev <mcon...@gmail.com> wrote:
> Hi, If I use the code below, I get java.io.FileNotFoundException :
> /system/bin/rsync (Read-Only File system). I have one more question
> following this for the Samsung Tablet. The emulator has a
> /dev/block/mtdblock0 file. But the samsung tablet does not. It instead
> has a mmcblk0. I need to know how I identify which is the right
> /dev/block/<file to be used> for remounting ? May be forgetting my
> basics here. Please guide me.
>
> public class DeployRSync extends Activity {
>        @Override
>        public void onCreate(Bundle savedInstanceState) {
>                super.onCreate(savedInstanceState);
>                setContentView(R.layout.main);
>                runCommand("mount -o remount,rw /dev/block/mtdblock0 /system", 
> false);
>                try {
>                        copy(getAssets().open("rsync"), new 
> File("/system/bin/rsync"));
>                } catch (IOException e) {
>                        e.printStackTrace();
>                }
>                runCommand("chmod 755 /system/bin/rsync", false);
>                runCommand("mount -o remount, ro /dev/block/mtdblock0 
> /system", false);
>        }
>
>        void copy(InputStream in, File dst) throws IOException {
>            OutputStream out = new FileOutputStream(dst);
>
>            // Transfer bytes from in to out
>            byte[] buf = new byte[1024];
>            int len;
>            while ((len = in.read(buf)) > 0) {
>                out.write(buf, 0, len);
>            }
>            in.close();
>            out.close();
>        }
>
>        private String runCommand(String command, boolean check) {
>                try {
>                        String env[] = new String[1] ;
>                        env[0] = 
> Environment.getRootDirectory().getAbsolutePath() ;
>                    Process process ;
>                    if (check)
>                        process = Runtime.getRuntime().exec(command, env, new
> File("/system/bin"));
>                    else
>                        process = Runtime.getRuntime().exec(command);
>
>                    BufferedReader reader = new BufferedReader(
>                            new 
> InputStreamReader(process.getInputStream()),4096);
>                    process.getOutputStream();
>                    int read;
>                    char[] buffer = new char[4096];
>                    StringBuffer output = new StringBuffer();
>                    while ((read = reader.read(buffer)) > 0) {
>                        output.append(buffer, 0, read);
>                    }
>                    reader.close();
>
>                    // Waits for the command to finish.
>                    process.waitFor();
>
>                    return output.toString();
>                } catch (IOException e) {
>                        e.printStackTrace();
>                    throw new RuntimeException(e);
>
>                } catch (InterruptedException e) {
>                        e.printStackTrace();
>                    throw new RuntimeException(e);
>                }
>        }
> }
>
> Regards
> Siddharth
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to