Android14 应用安装之方法汇总 (一)

应用安装系列的文章包含以下内容:

  1. Android apk安装 卸载 升级
  2. 静默安装
  3. Android apk各种安装方式

一、通过Intent消息机制发送消息,调用系统应用进行,实现apk的安装/卸载

1、调用系统的安装应用,让系统自动进行apk的安装​ ​

String fileName = "/data/data/com.zlc.ipanel.operate/FileOperate.apk";
        Uri uri = Uri.fromFile(new File(fileName));
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(uri, "application/vnd.android.package-archive");
        startActivity(intent);

上诉安装不仅可以安装新的apk(从无到有),也可以用于更新旧的apk(版本更新),在进行版本更新的时候,必须保证两个apk的签名是一致的。

  1. 如果是一般应用,安装到data/分区下面,新的apk会替换旧的apk。
  2. 如果是系统应用,一般安装到system/app下面,更新之后, system/app/下的旧apk仍然存在,系统会将新的apk被复制到data/app下。虽然同时存在两新旧apk,但运行时系统选择data分区的新apk运行, 如果执行卸载则是删除data分区的apk,再次启动程序运行的是system目录下旧的apk。

2、启动系统的卸载应用,让系统自动卸载apk ​

//通过程序的包名创建URI
Uri packageURI = Uri.parse("package:com.zlc.ipanel");
//创建Intent意图
Intent intent = new Intent(Intent.ACTION_DELETE,packageURI);
//执行卸载程序
startActivity(intent);

与apk安装不同的是,Intent消息这里改了:ACTION_DELETE,apk安装使用的是(ACTION_VIEW)

​二、​通过调用系统提供的接口packageManager对apk进行卸载、安装、获取权限等(静默安装)

  1. 需要平台签名(写个Android.mk在源码下编译最省事,当然网上也有很多其他方法,比如:singapk命令行签名)
  2. 由于调用的是未公开的API,所以需要引入源码(仅仅做一个马甲,不参与编译)
  3. 在AndroidManifest.xml添加安装apk的权限
 <uses-permission android:name="android.permission.INSTALL\_PACKAGES" />
  1. 如果升级失败出现 Unab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一点IT+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值