1.静默安装:
一定要签名
/**
* app安装和卸载类
* 静默安装所需权限
* <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
* <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
* 静默卸载所需权限
* <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
* <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/>
*/
//静默安装
private static boolean installApp(String packageName, String apkPath) {
Process process = null;
BufferedReader successResult = null;
BufferedReader errorResult = null;
StringBuilder successMsg = new StringBuilder();
StringBuilder errorMsg = new StringBuilder();
try {
process = new ProcessBuilder("pm", "install", apkPath).start();
successResult = new BufferedReader(new InputStreamReader(process.getInputStream()));
errorResult = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String s;
while ((s = successResult.readLine()) != null) {
successMsg.append(s);
}
while ((s = errorResult.readLine()) != null) {
errorMsg.append(s);
}
} catch (Exception e) {
} finally {
try {
if (successResult != null) {
successResult.close();
}
if (errorResult != null) {
errorResult.close();
}
} catch (Exception e) {
}
if (process != null) {
process.destroy();
}
}
Log.e(TAG, "-----" + errorMsg.toString());
//如果含有“success”认为安装成功
return successMsg.toString().equalsIgnoreCase("success");
}