2013.12.23 (2)——— android 代码调用shell
1、调用shell
public static synchronized String run(String[] cmd, String workdirectory)
throws IOException {
StringBuffer result = new StringBuffer();
try {
// 创建操作系统进程(也可以由Runtime.exec()启动)
// Runtime runtime = Runtime.getRuntime();
// Process proc = runtime.exec(cmd);
// InputStream inputstream = proc.getInputStream();
ProcessBuilder builder = new ProcessBuilder(cmd);
InputStream in = null;
// 设置一个路径(绝对路径了就不一定需要)
if (workdirectory != null) {
// 设置工作目录(同上)
builder.directory(new File(workdirectory));
// 合并标准错误和标准输出
builder.redirectErrorStream(true);
// 启动一个新进程
Process process = builder.start();
// 读取进程标准输出流
in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
result = result.append(new String(re));
}
}
// 关闭输入流
if (in != null) {
in.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result.toString();
}
使用
try {
System.out.println(run(new String[]{"su", "ls -al"}, "/sdcard/apk"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2、安装apk
private static void InstallAPK(String filename){
File file = new File(filename);
if(file.exists()){
try {
String command;
// command = "adb install -r -s " + filename;
command = "pm install -r -s " + filename;
Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", command });
proc.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用:
InstallAPK("sdcard/apk/a.apk");
执行adb install 没有效果,但是执行pm install得需要root权限
分享到:
相关推荐
基于因子分析的我国A股上市...争力评价——以医药企业为例_张澳.caj
2,jdk-170.tar.gz ——————————JDK1.7deb包 3,switch_java.sh -------------------------java其它版本切换 4,check_java.sh———————————版本核对 注意:使用命令接口切换时,需要将自己配置的...
嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟...
python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目...
12 java面试——深圳-丰巢科技-Java高级.pdf 13 java面试——深圳-乐信-Java高级.pdf 14 java面试——深圳-蚂蚁金服-Java高级.pdf 15 java面试——深圳-商汤科技-Java高级.pdf 16 java面试——深圳-腾讯-Java高级....
C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——...
python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ...
———————————————— 版权声明:本文为CSDN博主「MechMaster」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:...
微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+...
微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈...
Wscript.shell对象用于asp里web访问与桌面程序交互.创建方法: set objname=server.createobject("wscript.shell")
java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现...
23. 古——今 24. 入——出 25. 穷——富 26. 轻——重 27. 细——粗 28. 快——慢 29. 爱——恨 30. 哭——笑 31. 这——那 32. 分——合 33. 圆——方 34. 远——近 35. 直——弯 36. 高——低 37. 真——假 38. ...
java毕业设计——物资管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——物资管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——物资管理系统的设计与实现(论文+答辩PPT+...
java毕业设计——java基于J2ME的手机游戏开发设计与实现(论文+源代码).zip java毕业设计——java基于J2ME的手机游戏开发设计与实现(论文+源代码).zip java毕业设计——java基于J2ME的手机游戏开发设计与实现(论文+源...
"安卓Android源码——android仪表盘.zip" 这个标题明确指出,我们即将探讨的是与安卓(Android)操作系统相关的源代码,特别是关于“仪表盘”部分。在Android系统中,仪表盘通常指的是用户界面中的控件或者应用,...
Interop.Shell32.dll vs自带的是1.0 会导致一些错误,这个是1.2的
java毕业设计——文章发布系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——文章发布系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——文章发布系统的设计与实现(论文+答辩PPT+...
发福利了,Aspose Total for NET 2013.09.10 最新破解,danny_su 大作,花了10个贡献分才下载的了!现免费提供大家:) This package contains the following .NET Components: - Aspose.BarCode for .NET v5.7.0.0 ...
微信小程序——学校管理小程序以重邮为例(截图+源码).zip 微信小程序——学校管理小程序以重邮为例(截图+源码).zip 微信小程序——学校管理小程序以重邮为例(截图+源码).zip 微信小程序——学校管理小程序以...