在Android中有一個精簡版的linux系統,因爲是linux系統,那麼有時候在寫Android應用程序的時候會遇到權限問題。我們都知道在shell中可以通過chmod命令來修改權限,所以就希望通過程序來執行shell中的命令,如何來做呢?看下面代碼:
private boolean runCommand(String command) {
Process process = null;
try {
process = Runtime.getRuntime().exec(command);
Log.i("command","The Command is : "+command);
process.waitFor();
} catch (Exception e) {
Log.w("Exception ", "Unexpected error - "+e.getMessage());
return false;
} finally {
try {
process.destroy();
} catch (Exception e) {
Log.w("Exception ", "Unexpected error - "+e.getMessage());
}
}
return true;
}
然後通過調用這個方法就能實現在Android中修改文件權限,例如需要修改已安裝apk的packagename的權限:
runCommand("chmod 777 /data/data/packagename");
如果有什麼問題,請大家多多指正,謝謝。。
本文參考來自http://lazyhack.net/writing-an-android-root-application/的博客。