执行静默安装时,需要向手机申请获取root权限,如果手机具有root权限,则可以完成安装。代码如下:
MainActivity:
import java.io.DataOutputStream;
import java.io.File;
import java.io.OutputStream;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Log;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 笔者手机上的apk路径
String apkName = Environment.getExternalStorageDirectory().toString()
+ File.separator + "police.apk";
Log.e(TAG, "root = " + haveRoot("pm install -r " + apkName));
}
/**
* 检测是否具体root权限
*
* @param cmd
* @return
*/
private boolean haveRoot(String cmd) {
int i = execRootCmdSilent(cmd);
if (i != -1) {
return true;
}
return false;
}
/**
* 执行静默安装
*
* @param paramString
* @return
*/
private int execRootCmdSilent(String paramString) {
int result = -1;
try {
Process localProcess = Runtime.getRuntime().exec("su");
OutputStream os = localProcess.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeBytes(paramString + "\n");
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
localProcess.waitFor();
result = localProcess.exitValue();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
转自【http://www.open-open.com/lib/view/open1409191402244.html】
分享到:
相关推荐
Android的静默安装似乎是一个很有趣很诱人的东西,但是,用普通做法,如果手机没有root权限的话,似乎很难实现静默安装,因为Android并不提供显示的Intent调用,一般是通过以下方式安装apk: Intent intent = new ...
android 7.0 非root下 具有system权限下 实现静默安装 静默卸载 的多种实现方式
Android应用源码获取root权限静默安装是一个获取root权限后,不弹出系统安装界面,直接进行安装的的源码。代码只有一个MainActivity,看起来相对比较容易,代码中重要部分都已加入详细的注释,方便大家阅读。不过...
android实在获得root权限应用静默安装
这是一个获取root权限后,不弹出系统安装界面,直接进行安装的的源码。代码只有一个MainActivity,看起来相对比较容易,代码中重要部分都已加入详细的注释,方便大家阅读。不过应用程序运行命令获取ROOT权限,设备...
通过系统root权限实现android系统的静默安装以及安装成功后自动重启
Android中的软件的自动更新(包括静默更新,需Root权限),详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/77504010
android 获取root权限,不弹出系统安装界面,直接静默安装
Android中软件的静默安装,安装完成后再自动打开新安装软件(需Root),详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/77488832
实现android定时安装静默apk,自动在后台安装,安装完成后自动启动,需要root权限
Android静默安装apk的Demo。引入了TrineaAndroidCommon。手机需要root。
1、root权限静默安装实现 实现实际使用的是su pm install -r filePath命令。 核心代码如下: protected static void excuteSuCMD() { Process process = null; OutputStream out = null; I
本项目是一个Android静默安装实现项目源码,仿360手机助手、百度助手、豌豆荚、等应用助手类秒装和智能安装功能的功能,所谓的秒装其实就是需要ROOT权限的静默安装,其实静默安装的原理很简单,就是调用Android系统...
Android 在没有root权限状态下静默安装
实现android静默安装和卸载,代码一年前就写了,看到群里有人要,就贴出来,需要root权限,由于我写的是安装鲁大师,路径是sd卡根目录,实际测试的时候需要修改文件名,和包名之类的
实现apk更新和静默安装,获取root进行静默安装比较简单: 1,申请root权限Runtime.getRuntime().exec("su"); 2,通过数据输出流DataOutputStream写入pm install命令; 3,最后获取Process进程的返回值int i =...
有root权限的时候,静默安装app的方法
一共两套源代码,一套需是要root权限才能静默安装的代码,另外一套是无需root权限就能静默安装的代码,希望对大家能所有帮助。