Android 编写使用root权限的android应用程序
16lz
2021-01-23
package com.iaiai;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import android.app.Activity;import android.os.Bundle;import android.util.Log;/** * * <p> * Title: MainActivity.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-10-11 * </p> * * @author 丸子 * @version 0.0.1 */public class MainActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);runRootCommand("ls");}public static boolean runRootCommand(String command) {Process process = null;DataOutputStream os = null;try {process = Runtime.getRuntime().exec("su");os = new DataOutputStream(process.getOutputStream());os.writeBytes(command + "\n");os.writeBytes("exit\n");os.flush();process.waitFor();BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));// BufferedReader br = new BufferedReader(new InputStreamReader(// process.getErrorStream())); //如果出错用这个输出一下看结果,一定要获取root权限才可以执行String line = null;while ((line = br.readLine()) != null) {Log.d("*********", line);}try {br.close();} catch (Exception e) {e.printStackTrace();}} catch (Exception e) {Log.d("*********","the device is not rooted, error message: "+ e.getMessage());return false;} finally {try {if (os != null) {os.close();}if (process != null) {process.destroy();}} catch (Exception e) {e.printStackTrace();}}return true;}}
更多相关文章
- Android SdCard写入权限
- Android 允许权限
- android访问SD卡的权限
- android权限机制,你真的了解么
- Android 权限配置
- 让应用程序不被任务管理器杀死...(获取系统权限)
- android 如何获得系统权限 android.uid.system
- Android 安全架构及权限控制机制剖析
- android读取文件权限