Android代码内运行Shell,注:需root或者系统的数字签名
程序员文章站
2022-03-01 13:43:50
我这边是使用系统数字签名的方式进行的,需在Android项目内的AndroidManifest文件内需要添加 android:sharedUserId="android.uid.system"实现的内容,command为要执行的命令public static int execute(String command) { int result = -1; DataOutputStream dos = null; try { Process p = Ru....
我这边是使用系统数字签名的方式进行的,需在Android项目内的AndroidManifest文件内需要添加 android:sharedUserId="android.uid.system"
实现的内容,command为要执行的命令
public static int execute(String command) {
int result = -1;
DataOutputStream dos = null;
try {
Process p = Runtime.getRuntime().exec(command);
dos = new DataOutputStream(p.getOutputStream());
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
p.waitFor();
result = p.exitValue();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (dos != null) {
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
之后就是调用方法内容了,比如“svc nfc enable” 是打开手机nfc功能,“svc nfc disable”是关闭nfc功能
将程序生成apk,然后进行数字签名,再复制到手机中操作,即可实现shell(nfc控制)操作
本文地址:https://blog.csdn.net/weixin_40008286/article/details/110644863