Android常用代码之普通及系统权限静默安装APK

来源:互联网 发布:斐波那契java 编辑:程序博客网 时间:2024/05/17 13:07

Android常用代码之APK root权限静默安装

本文主要介绍程序如何利用root权限静默安装(卸载)APK,如何自动选择普通安装(卸载)还是静默安装(卸载)

 

1、root权限静默安装(卸载)调用

引入TrineaAndroidCommon@Github(欢迎star和fork^_^)作为你项目的library(如何拉取代码及添加公共库),或自己抽取PackageUtils.installSlient(PackageUtils.uninstallSilent)函数进行调用,系统授权管理会弹出对话框让用户选择是否允许应用获得root权限。允许的话即可静默安装。

 

该函数返回PackageUtils.INSTALL_SUCCEEDED表示安装成功,失败则返回相应错误码,可以得到失败的详细原因,包括文件不存在,apk无效,系统内存不足,签名不正确,缺少公共库,share user错误等等判断。

注意对于较大apk安装过程非常耗时,所以最好新启线程去调用PackageUtils.installSlient。

 

 2、root权限静默安装实现

PackageUtils.installSlient的实现实际使用的是su pm install -r filePath命令。核心代码如下:

其中commands为pm install -r . 从中可以看出主要就是使用su切换到root环境下,再调用pm install -r进行安装。

 

3、普通安装,系统权限静默安装,root权限静默安装的自动选择

查看PackageUtils源码会发现我还提供了其他几个安装函数,其中PackageUtils.install(PackageUtils.uninstall)函数会根据是否是系统应用以及是否拥有root权限,从而确定调用哪种安装方式(普通安装方式、root静默安装方式还是系统权限静默安装),源码如下:

如果是系统应用记得添加<uses-permission android:name=”android.permission.INSTALL_PACKAGES” />权限,从而走普通安装方式,不用申请root权限进行静默安装。

 

4、PackageUtils 实现静默卸载应用

调用PackageUtils.uninstallSlient

原文链接:http://www.trinea.cn/android/android%e5%b8%b8%e7%94%a8%e4%bb%a3%e7%a0%81%e4%b9%8b%e6%99%ae%e9%80%9a%e5%8f%8a%e9%9d%99%e9%bb%98%e5%ae%89%e8%a3%85apk/

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 考上好学校名额被顶替了怎么办 面试题领导越级安排工作你怎么办 一个23岁的大学生身体肥胖怎么办 雷达手表把调时间的把出来了怎么办 农村没有住电表被卸载了怎么办 工商已吊销未注销要恢复营业怎么办 中专类学校取消后在编的老师怎么办 情迁微信内置抢红包版本过低怎么办 船运货给客户货到他不要怎么办 摩拜单车锁了还在计费怎么办 旧公司股份现成立新公司股份怎么办 比亚迪l3线路进水打不着火怎么办 新成立的建筑公司没有业绩怎么办 被骗做了深圳国税实名办税怎么办 天猫精灵生活灯老是离线怎么办 电信合约没到期不想用了怎么办 电信合约卡到期不想用了怎么办 欧普照明平板灯坏了怎么办 交通违章处理了但系统没更新怎么办 车里的空调一直吹的是热气怎么办 丰田雷凌保养手册丢了怎么办 海尔电视两年主板坏了怎么办 海信电视保修期内主板坏了怎么办 乐视电视的主板坏了怎么办 车电瓶没电了打不着火怎么办 面包车没电了打不着火怎么办 汽车电瓶没电了打不着火怎么办 自动挡的车没有电打不起来火怎么办 自动挡汽车没电了打不着火怎么办 自动挡小车没电了打不着火怎么办 被4s店销售骗了怎么办 宇通客车尿素泵不工作怎么办 汽车打蜡不小心打在车帮怎么办 海信电视怎么安装第三方软件怎么办 网上买票的时候不想用学生票怎么办 南方公园完整破碎讲话嘴不动怎么办 同一个安全员被锁在两个项目怎么办 家长拖欠家教老师的课时费怎么办 合同没到期房东不退押金怎么办 租房合同没到期房东要违约怎么办 档案存放费交了一年的延期怎么办