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官方打了电话之中都没解决,直到最后借到了一个可以复现问题的手机连数据线在控制台看到上面的日志,一行代码解决了问题。

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone3 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui