android app請求獲取root許可權
阿新 • • 發佈:2019-02-09
要讓Android應用獲得Root許可權,首先Android裝置必須已經獲得Root許可權。
應用獲取Root許可權的原理:讓應用的程式碼執行目錄獲取最高許可權。在Linux中通過chmod 777 [程式碼執行目錄]
程式碼如下:
- /**
- * 應用程式執行命令獲取 Root許可權,裝置必須已破解(獲得ROOT許可權)
- *
- * @return 應用程式是/否獲取Root許可權
- */
- publicstaticboolean upgradeRootPermission(String pkgCodePath) {
-
Process process = null;
- DataOutputStream os = null;
- try {
- String cmd="chmod 777 " + pkgCodePath;
- process = Runtime.getRuntime().exec("su"); //切換到root帳號
- os = new DataOutputStream(process.getOutputStream());
- os.writeBytes(cmd + "\n");
- os.writeBytes("exit\n");
-
os.flush();
- process.waitFor();
- } catch (Exception e) {
- returnfalse;
- } finally {
- try {
- if (os != null) {
- os.close();
- }
- process.destroy();
- } catch (Exception e) {
- }
- }
- returntrue;
-
}
- @Override
- publicvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //當前應用的程式碼執行目錄
- upgradeRootPermission(getPackageCodePath());
- }
執行上述程式碼後,系統會彈出對話方塊“是否允許獲取Root許可權”,此時選擇允許即可。