Android Java执行Shell命令
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/
主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍、使用及使用场景(如静默安装和卸载、修改hosts文件、拷贝文件)。使用纯Java实现,所以对Java程序同样适用。
很多朋友在使用TrineaAndroidCommon@Github中的ShellUtils工具类了,那就大致介绍下他的功能吧。
1、API介绍
以下是ShellUtils中最终执行命令的方法execCommand:
publicCommandResultexecCommand(String[]commands,booleanisRoot,booleanisNeedResultMsg)
isRoot表示是否以su用户执行(需要手机已经root)
isNeedResultMsg表示是否存储命令执行成功及失败后的信息。
其他接口,Shell命令支持执行String(单个命令),List(多个命令),String[](多个命令)
见:ShellUtils.java#ApiGuide
2、使用
(1)引入公共库
引入TrineaAndroidCommon@Github(欢迎star和fork^_^)作为你项目的library(如何拉取代码及添加公共库)。
(2)调用上面介绍的execCommand函数,
注意有些命令可能运行时间较长,所以最好在线程中执行execCommand
3、使用场景
以目前自己的几个场景举下例子
(1)静默安装和卸载
(2)获取系统设置->存储->首选安装位置
(3)Android修改hosts文件
(4)拷贝文件
具体实现见:http://www.trinea.cn/android/android-java-execute-shell-commands/