读书人

Android 编纂使用root权限的android应

发布时间: 2012-10-09 10:21:45 作者: rapoo

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: 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

热点推荐