当前位置: 代码迷 >> Android >> Android 编纂使用root权限的android应用程序
  详细解决方案

Android 编纂使用root权限的android应用程序

热度:92   发布时间:2016-05-01 13:33:19.0
Android 编写使用root权限的android应用程序
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: [email protected] * </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. */	@Override	public 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;	}}
  相关解决方案