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

相关推荐
老衲不服4 小时前
android 三方sdk minSdkVersion 兼容问题处理
android
android_xc8 小时前
Android Studio国内仓库配置
android·ide·android studio
alexhilton8 小时前
runBlocking实践:哪里该使用,哪里不该用
android·kotlin·android jetpack
2501_915106328 小时前
iOS 使用记录和能耗监控实战,如何查看电池电量消耗、App 使用时长与性能数据(uni-app 开发调试必备指南)
android·ios·小程序·uni-app·cocoa·iphone·webview
雨白8 小时前
深入解析 Android 多点触摸:从原理到实战
android
曾经的三心草9 小时前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
Jerry10 小时前
Compose 设置文字样式
android
飞猿_SIR11 小时前
android定制系统完全解除应用安装限制
android
索迪迈科技11 小时前
影视APP源码 SK影视 安卓+苹果双端APP 反编译详细视频教程+源码
android·影视app源码·sk影视
孔丘闻言11 小时前
python调用mysql
android·python·mysql