androidroot静默安装
❶ android没有root的情况下怎么实现静默安装
手机ROOT方法:x0dx0a1、下载安装KingRoot 电脑版x0dx0a2、用USB数据线连接手机Root过程中,保持手机连接PCx0dx0a3、按提示开始Root操作整个过程需要5-10分钟x0dx0a4、Root成功!x0dx0ax0dx0a注:手机ROOT之后是不在保修条约里面的,需要解除ROOT权限即可。
❷ 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”命令。
❸ 安卓手机如何实现静默安装软件
实现是容易的,后果是严重的。
一旦开启静默安装模式,病毒和黑客程序基本上在你的手机上就可以长驱直入了。
不建议开。
给软件root权限就可以静默安装。比如安卓市场就可以。
❹ 如何实现android静默安装
原理:
使用隐藏的系统API——installPackage。该方法在1.5版之后的android SDK中是看不见的,查看源码可以看到它设置了@hide属性,但在实际的运行包framework.jar中是存在的,因此只要能编译通过,安装到系统后是可以正常运行的。
步骤:
1. 从模拟器System\framework目录下提取framework.jar
2. 将framework.jar后缀名改为zip,解压后提取其中的classes.dex文件
3. 用dex2jar工具将classes.dex转成classes.dex.dex2jar.jar(注意新版本的dex2jar工具无法转换Android2.2的framework,建议使用dex2jar-0.0.7.8-SNAPSHOT,该工具可以从google官方站上下载到)
4. 将classes.dex.dex2jar.jar改名为classes.dex.dex2jar.zip解压取出android/content/pm/目录下的PackageManager.class,IPackageInstallObserver.class,IPackageDeleteObserver.class及相关的几个class文件备用
5. 找到android-sdk目录下的android.jar,改名为android.zip(注意改名前先备份一下),解压后将步骤4中取得的class文件覆盖到android对应的目录下,重新压缩成android.zip,并改名为android.jar
6. 这个时候android.jar已经是一个更新过的SDK了,重新打开eclipse工程,已经可以实现。
调用方法:
void android.content.pm.PackageManager.installPackage(Uri packageURI, IPackageInstallObserver observer, int flags, String installerPackageName)
说明:
1. 由于更改android.jar可能导致重新加载SDK失败,覆盖之前切记备份一下
2. 实际上该过程可以调用到任何hide属性的API,本文为了影响最小,只覆盖了installPackage相关的class
3. 下载android源码重新编译SDK也可以实现调用隐藏API,不过比较麻烦
❺ 检测Android手机是否具有root权限和静默安装
楼主想检测手机有没有root的话可以下载一个电脑版的应用宝,用数据线连接手机和电脑,打开手机系统设置-开发人员选项-USB调试,连接成功之后再我的手机工具箱里面点击一键root。如果手机已经获取成功,会显示手机已处于root状态,继续的话就可以解除了,如果手机没有获取成功,会显示获取权限的过程,至于静默安装一般是在手机的市场里面进行设置的,希望帮到你
❻ 检测Android手机是否具有root权限和静默安装
楼主要检测是不是获取了权限的话可以下载一个电脑版的应用宝,用数据线连接手机和电脑,在我的手机工具箱里面点击一键root,如果显示解除root就说明root权限已经获取成功,如果显示的是一键root,那就说明没有获取成功。静默安装的话楼主可以看一下手机自带的应用市场里面的设置,我的手机只是静默安装升级包,对于一些下载下来的软件还是要手动的,希望对楼主有帮助
❼ 安卓7.1.1怎么root
不同品牌的手机root的方式是不一样的:
1、OPPO、酷派、VIVO,联想这些品牌的官方都是限制ROOT的,导致ROOT软件成功率低。
2、手机刷机锁被锁,小米手机之前只需要刷入开发版之后就可以支持ROOT,但是现在小米推出的红米3、小米5等等需要去官方论坛提交解锁申请之后才能ROOT。
3、华为手机在ROOT之后都是必须要去官网申请解BL,获得解锁码进行解锁之后才能ROOT。
❽ Android 静默安装和自启动(1、Root环境下)
各种以android硬件平台为基础的【公示屏】、【广告屏】等等,虽然很少有升级,但是不可避免的会遇到,而此类APP的使用场景,一般没人会去帮助你版本更新,点击安装,故而需要:静默安装。
1、确认安装包是否存在,并可读写
2、隐示启动:action和data的schema来控制弹出安装工具类APP,然后点击安装...
3、升级完:BootReceiver 监听到Intent.ACTION_PACKAGE_REPLACED,然后自启动
静默安装apk接口,无需开放root,也无需system权限。
❾ android如何实现静默安装哦
原理
静默安装、卸载的原理就是利用pm install命令来安装apk,pm uninstall 来卸载apk.
智能安装是利用android系统提供的无障碍服务AccessibilityService,来模拟用户点击,从而自动安装.
java">//静默安装
privatevoidinstallSlient(){
Stringcmd="pminstall-r/mnt/sdcard/test.apk";
Processprocess=null;
DataOutputStreamos=null;
BufferedReadersuccessResult=null;
BufferedReadererrorResult=null;
StringBuildersuccessMsg=null;
StringBuildererrorMsg=null;
try{
//静默安装需要root权限
process=Runtime.getRuntime().exec("su");
os=newDataOutputStream(process.getOutputStream());
os.write(cmd.getBytes());
os.writeBytes(" ");
os.writeBytes("exit ");
os.flush();
//执行命令
process.waitFor();
//获取返回结果
successMsg=newStringBuilder();
errorMsg=newStringBuilder();
successResult=newBufferedReader(newInputStreamReader(process.getInputStream()));
errorResult=newBufferedReader(newInputStreamReader(process.getErrorStream()));
Strings;
while((s=successResult.readLine())!=null){
successMsg.append(s);
}
while((s=errorResult.readLine())!=null){
errorMsg.append(s);
}
}catch(Exceptione){
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(Exceptione){
e.printStackTrace();
}
}
//显示结果
tvTest.setText("成功消息:"+successMsg.toString()+" "+"错误消息:"+errorMsg.toString());
}