步骤:
从模拟器Systemframework目录下提取framework.jar;将framework.jar后缀名改为zip,解压后提取其中的classes.dex文件;用dex2jar工具将classes.dex转成classes.dex.dex2jar.jar;将classes.dex.dex2jar.jar改名为classes.dex.dex2jar.zip,解压取出android目录下的PackageManager.class;找到android-sdk目录下的android.jaAndroid静默安装
个人了解到的静默安装的方式有以下4种:
我看了一些第三方的应用市场,一般在设置下都会有前两种静默安装的方式可供选择,而后两种静默安装的方式主要是厂商自己的应用市场使用。
如果在7.0的系统上使用第三种静默安装的方式会出现以下错误:
参考:
Android7.0的静默安装失败问题研究
Android N 静默安装和卸载
主要步骤如下:
我试了以上两篇文章的介绍的方法,还是失败,提示Failure [null],不知道怎么破了,可能是厂商的定制问题吧。。。还在思考中。。。
android在root权限下实现apk的静默卸载,静默安装,重启
1.静默卸载实现:
/**
* 静默卸载app
*
* @param context
* @param packageName app的包名
* @throws IOException
* @throws InterruptedException
*/
public static void uninstallApp(Context context, String packageName) throws IOException, InterruptedException {
List<PackageInfo> packageInfos = context.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
for (PackageInfo packageInfo1 : packageInfos) {
if (packageName.equals(packageInfo1.packageName)) {
String suPath = "/system/xbin/su";
File file = new File(suPath);
if (!file.exists()) {
suPath = "/system/bin/su";
}
Process process = Runtime.getRuntime().exec(suPath);
String cmd = "pm uninstall " + packageName + "\n" + "exit\n";
process.getOutputStream().write(cmd.getBytes());
process.waitFor();
break;
}
}
}
2.静默安装实现:
/**
* 静默安装app
*
* @param filePath
* @throws IOException
* @throws InterruptedException
*/
public static void installApp(String filePath) throws IOException, InterruptedException {
String suPath = "/system/xbin/su";
File file = new File(suPath);
if (!file.exists()) {
suPath = "/system/bin/su";
}
Process process = Runtime.getRuntime().exec(suPath);
String cmd = "pm install -r " + filePath + "\n" + "exit\n";
process.getOutputStream().write(cmd.getBytes());
process.waitFor();
}
最后加上重启命令:
/**
* 重启系统
*
* @return
*/
public static boolean reboot() {
try {
String suPath = "/system/xbin/su";
File file = new File(suPath);
if (!file.exists()) {
suPath = "/system/bin/su";
}
Process process = Runtime.getRuntime().exec(suPath);
String cmd = "reboot\nexit\n";
process.getOutputStream().write(cmd.getBytes());
return true;
} catch (IOException error) {
return false;
}
}
注意卸载和安装需要在子线程中执行;如果单纯关机则用“reboot -p”命令。
Android静默安装与静默卸载(系统应用)
一.轰隆一声雳响,我闪亮登场。
本篇基于已有系统证书(从Android设备厂家获得)的情况下实现静默安装与静默卸载,可分为三部分讲解:将apk内置为系统应用,apk静默安装与apk静默卸载。
1.将apk内置为系统应用。内置的方法有共性,也有区别。基础操作是共性,区别就在于Android4.4以上版本与Android4.4以下版本。
2.apk静默安装。
3.apk静默卸载。
二.若您觉得本文对您有帮助,记得点个关注哟~
android没有root的情况下怎么实现静默安装
手机ROOT方法:\x0d\x0a1、下载安装KingRoot 电脑版\x0d\x0a2、用USB数据线连接手机Root过程中,保持手机连接PC\x0d\x0a3、按提示开始Root操作整个过程需要5-10分钟\x0d\x0a4、Root成功!\x0d\x0a\x0d\x0a注:手机ROOT之后是不在保修条约里面的,需要解除ROOT权限即可。
android如何实现静默安装哦
原理
静默安装、卸载的原理就是利用pm install命令来安装apk,pm uninstall 来卸载apk.
智能安装是利用android系统提供的无障碍服务AccessibilityService,来模拟用户点击,从而自动安装.
//静默安装private void installSlient() {
String cmd = "pm install -r /mnt/sdcard/test.apk";
Process process = null;
DataOutputStream os = null;
BufferedReader successResult = null;
BufferedReader errorResult = null;
StringBuilder successMsg = null;
StringBuilder errorMsg = null;
try {
//静默安装需要root权限
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.write(cmd.getBytes());
os.writeBytes("\n");
os.writeBytes("exit\n");
os.flush();
//执行命令
process.waitFor();
//获取返回结果
successMsg = new StringBuilder();
errorMsg = new StringBuilder();
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) {
e.printStackTrace();
} finally {
try {
if (os != null) {
os.close();
}
if (process != null) {
process.destroy();
}
if (successResult != null) {
successResult.close();
}
if (errorResult != null) {
errorResult.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//显示结果
tvTest.setText("成功消息:" + successMsg.toString() + "\n" + "错误消息: " + errorMsg.toString());
}
如何实现Android APP静默安装
8.1. 静默安装包(Silent Installation): 所谓静默安装包,有这么几个特点:安装过程没有界面;安装过程不需要用户进行任何输入;也不会在Taskbar中显示一个安装程序的Icon。 如何创建一个静默安装包: 1. 静默安装包的制作是在主程序完成后进行的,先录制静默脚本文件,通过在命令行运行安装包Setup.exe 给入参数/r,这时会启动的依然是有界面操作的安装,按照正常操作方式完成安装。 2. 完成上一步之后,会在系统的Windows或WINNT文件夹下产生一个Setup.iss文件(可以通过按照时间排序查找),将此文件复制到Setup.exe同一目录下,改名为Setup.iss.install(静默安装脚本)。 3. 继续在命令行执行Setup.exe /r,完成后将新生成的Setup.iss文件同样复制到Setup.exe目录下,改名为Setup.iss.uninstall(静默卸载脚本)。 运行静默安装包: 1. Setup.exe /s f1"Setup.iss.install的路径" f2“指定生成静默安装Log的路径” 如果不通过f2指定log路径,则会在setup.exe同路径下生成一个Setup.log的文件。 2. 静默卸载调用方法同1。 =====================================
相关推荐: