Android 静默安装
2016-03-29 10:53
417 查看
注:转自http://blog.csdn.net/shinay/article/details/8465543
分享下android下,静默安装的方法,静默安装就是绕过安装程序时的提示窗口,直接在后台安装。
注意:静默安装的前提是设备有ROOT权限。
代码如下:
/**
* 静默安装
* @param file
* @return
*/
public boolean slientInstall(File file) {
boolean result = false;
Process process = null;
OutputStream out = null;
try {
process = Runtime.getRuntime().exec("su");
out = process.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(out);
dataOutputStream.writeBytes("chmod 777 " + file.getPath() + "\n");
dataOutputStream.writeBytes("LD_LIBRARY_PATH=/vendor/lib:/system/lib pm install -r " +
file.getPath());
// 提交命令
dataOutputStream.flush();
// 关闭流操作
dataOutputStream.close();
out.close();
int value = process.waitFor();
// 代表成功
if (value == 0) {
result = true;
} else if (value == 1) { // 失败
result = false;
} else { // 未知情况
result = false;
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return result;
}
注意代码中pm install -r 前面的LD_LIBRARY_PATH=/vendor/lib:/system/lib,在4.0版本以上必须加上,不然会无法安装。
分享下android下,静默安装的方法,静默安装就是绕过安装程序时的提示窗口,直接在后台安装。
注意:静默安装的前提是设备有ROOT权限。
代码如下:
/**
* 静默安装
* @param file
* @return
*/
public boolean slientInstall(File file) {
boolean result = false;
Process process = null;
OutputStream out = null;
try {
process = Runtime.getRuntime().exec("su");
out = process.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(out);
dataOutputStream.writeBytes("chmod 777 " + file.getPath() + "\n");
dataOutputStream.writeBytes("LD_LIBRARY_PATH=/vendor/lib:/system/lib pm install -r " +
file.getPath());
// 提交命令
dataOutputStream.flush();
// 关闭流操作
dataOutputStream.close();
out.close();
int value = process.waitFor();
// 代表成功
if (value == 0) {
result = true;
} else if (value == 1) { // 失败
result = false;
} else { // 未知情况
result = false;
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return result;
}
注意代码中pm install -r 前面的LD_LIBRARY_PATH=/vendor/lib:/system/lib,在4.0版本以上必须加上,不然会无法安装。
相关文章推荐
- Android消息机制------Handler机制的原理(超详细)
- Android——Volley学习
- Android Studio 报错failed to create jvm error code -4的解决方法
- Android之多线程 AsyncTask 详解
- 构造Android复合控件
- Android GridView属性
- 最强 Android Studio 使用小技巧和快捷键
- Android——Service(服务)
- Android中Action Bar的使用
- android播放提示音工具类(SoundConfigUtils)
- Android控件之CheckBox、RadioGroup、RadioButton
- IntentService: Providing data back to Activity #android
- Android应用出错 error: Error retrieving parent for item: No resource found that matches .....
- 博客第一天上线
- Android 快速开发系列 打造万能的ListView GridView 适配器
- Android 快速开发系列 打造万能的ListView GridView 适配器
- <Android>从窗口泄漏谈android:configChanges属性
- android import library switch语句报错case expressions must be constant expressions
- Android APK 在32bit 和64bit 的区别问题
- 启动Android Virtual Device(android虚拟机)的时发生canot launch AVD in emulator错误