oppo手机安装APK失败报错:安装包异常

如果你的apk文件在oppo手机安装失败了,像这样:

先说我们当时解决方式:

  1. 如果还没上架应用市场的测试包,在上面图一中需要关闭"超级守护",类似华为的纯净模式。
  2. 如果开启了还还不行,安装页面的报错太笼统不好定位问题,如果有测试机和安卓开发环境一定要看控制台日志,这里会给出比较详细的报错信息: adb: failed to install jianping.apk: Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl154983124.tmp/base.apk (at Binary XML file line #21): com.xxx.activity.SplashActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]

错误信息INSTALL_PARSE_FAILED_MANIFEST_MALFORMED是因为APK的AndroidManifest.xml文件中,com.xxx.activity.SplashActivity未定义android:exported属性值,新建项目默认是没有设置这个属性的,而该属性在Android 12(API 31)及以上版本中若包含intent-filter的Activity必须显式声明给一个boolean值否则就会crash。

<activity

android:name="com.xxx.activity.SplashActivity"

android:exported="true">

<intent-filter>

<action></action>

</intent-filter>

</activity>

这里主要是因为入口的启动页没有设置exported属性,导致的安装失败。这个值true表示允许其他应用启动这个Activity,false则是不允许。我们这个是launcher Activity因此设置了true,如果false也可以但会发现通过Android Studio启动时只会给你安装好了但不会启动我们的app,需要手动点一下桌面图标。

  1. 我们当时因为开发人员没有oppo测试机而客户又没有开发环境,所以困扰了很久。

还尝试了了‌开启未知来源安装权限 ‌,在手机的 设置 > 安全与隐私 > 安装外部来源应用」,选择对应应用(如浏览器或文件管理器)并授权允许安装权限。也给oppo官方打了电话之中都没解决,直到最后借到了一个可以复现问题的手机连数据线在控制台看到上面的日志,一行代码解决了问题。

相关推荐
毕设源码-朱学姐8 分钟前
【开题答辩全过程】以 基于Android的便民系统的设计与实现为例,包含答辩的问题和答案
android
鬼蛟18 分钟前
Spring————事务
android·java·spring
jxkejiiii2 小时前
巧用手机原生功能,零成本给重要文档加密防护
安全·智能手机
qq_170264752 小时前
unity出安卓年龄分级的arr包问题
android·unity·游戏引擎
kejiashao3 小时前
Android View的绘制流程及事件分发机制
android
小蜜蜂嗡嗡4 小时前
flutter实现付费解锁内容的遮挡
android·flutter
进击的cc4 小时前
拒绝背诵!一文带你打穿 Android ANR 发生的底层全链路
android·面试
进击的cc4 小时前
App 启动优化全家桶:别再只盯着 Application 了,热启动优化你真的做对了吗?
android·面试
彭波3965 小时前
安卓手机端安装xapk、apkm软件!怎样安装xapk软件?安卓的apk和XAPK的区别?附教程
android·智能手机
wanhengidc5 小时前
《三国志异闻录》搬砖新游戏 云手机
运维·服务器·数据库·游戏·智能手机