I've made some test and I can determine the problem could be the
connection between Motorola Cliq and Eclipse because I get a message
from Eclipse console like "ddms ADB rejected shell command (getprop) :
closed.

I think the code is ok and the problem is in the ROM of Motorola Cliq.

On 17 feb, 07:22, maikelalonso <[email protected]> wrote:
> Hi:
>
> I'm trying to change file permissions with chmod from code using
> runtime.getRuntime(). The problem is it runs ok in my smartphone
> (Samsung GT-I5700) but in other devices (Motorola Cliq) it runs ok in
> a few times and in other times it not change the permissions. Any
> idea?  Thanks.
>
> Here is my code:
>
>                                     //Coypy program1 to app folder
>
>                                      is = getAssets().open("program1");
>                                          fos = new 
> FileOutputStream(getDir("", MODE_WORLD_WRITEABLE)+"/
> program1");
>                                      tmp = new byte[1024];
>
>                                     while ((l = is.read(tmp)) != -1) {
>                                       fos.write(tmp, 0, l);
>                                       fos.flush();
>                                       }
>
>                                     fos.close();
>                                     is.close();
>
>                                     //Coypy script.sh to app folder
>
>                                     is = getAssets().open("script.sh");
>                                          fos = new 
> FileOutputStream(getDir("", MODE_WORLD_WRITEABLE)+"/
> script.sh");
>                                      tmp = new byte[1024];
>
>                                     while ((l = is.read(tmp)) != -1) {
>                                       fos.write(tmp, 0, l);
>                                       fos.flush();
>                                       }
>
>                                     fos.close();
>                                     is.close();
>
>                                     //Set permissions rwxrwxrwx to program1
>                                     commands = new String[] {"chmod","777", 
> getDir("",
> MODE_WORLD_WRITEABLE)+"/program1"};
>                                     Process process = 
> Runtime.getRuntime().exec("su");
>                                     StringBuffer res = new StringBuffer();
>                                     DataOutputStream os = new
> DataOutputStream(process.getOutputStream());
>                                     DataInputStream osRes = new 
> DataInputStream(new
>                                     
> BufferedInputStream(process.getInputStream(),8192));
>                                     for (String single : commands) {
>                                          os.writeBytes(single + " ");
>                                          os.flush();
>                                          }
>                                     os.writeBytes("exit\n");
>                                     os.flush();
>                                     os.close();
>                                     process.waitFor();
>                                     osRes.close();
>                                     try { process.destroy();  } catch 
> (Exception e) {   /* nothing
> */  }
>
>                                          //Set permissions rwxrwxrwx to 
> script.sh
>                                          commands = new String[] 
> {"chmod","777", getDir("",
> MODE_WORLD_WRITEABLE)+"/script.sh"};
>                                              process = 
> Runtime.getRuntime().exec("su");
>                                              res = new StringBuffer();
>                                              os = new 
> DataOutputStream(process.getOutputStream());
>                                              osRes = new DataInputStream(new
>                                             
> BufferedInputStream(process.getInputStream(),8192));
>                                           for (String single : commands) {
>                                                  os.writeBytes(single + " ");
>                                                  os.flush();
>                                                  }
>                                             os.writeBytes("exit\n");
>                                             os.flush();
>                                             os.close();
>                                             process.waitFor();
>                                             osRes.close();
>                                                 try { process.destroy();  } 
> catch (Exception e) {   /* nothing
> */  }

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

Reply via email to