Runtime ex = Runtime.getRuntime();
String cmdBecomeSu = "su";
String script = "busybox chmod a+rw /dev/pmem";
try
{
java.lang.Process runsum = ex.exec(cmdBecomeSu);
int exitVal = 0;
final OutputStreamWriter out = new OutputStreamWriter(runsum.getOutputStream());
// Write the script to be executed
out.write(script);
// Ensure that the last character is an "enter"
out.write("\n");
out.flush();
// Terminate the "su" process
out.write("exit\n");
out.flush();
exitVal = runsum.waitFor();
if (exitVal == 0)
{
Log.e("Debug", "Successfully to su");
}
}
catch ( Exception e)
{
Log.e("Debug", "Fails to su");
}
这段代码演示了如何在Java代码里,通过调用su命令来临时修改某些文件的访问权限
如果是测试程序,必须要root或者system权限可以用
android.permission.FACTORY_TEST 作为一个工厂测试程序,运行在root用户(Run as a manufacturer testapplication, running as the root user. )
<uses-permission android:name="android.permission.FACTORY_TEST"></uses-permission>
摘自:
http://wyoojune.blog.163.com/blog/static/5709332520111011104026490/