Android(安卓)编写使用root权限的android应用程序
16lz
2021-12-04
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(安卓)复制单个文件到指定目录,Android(安卓)copy file
- ch026 Android(安卓)Socket
- Android中使用log4j
- 2011.07.11(3)——— android xliff字符串操作
- 2011.07.11(3)——— android xliff字符串操作
- Android中使用log4j
- Android官方ORM数据库Room技术解决方案简介(一)
- 如何解析 android 中的 XML?
- android sdk 升级出错及解决方案