前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于在Android 12的设备上安装app报错的问题

关于在Android 12的设备上安装app报错的问题

作者头像
Ant丶
发布2023-12-01 10:46:10
3040
发布2023-12-01 10:46:10
举报
文章被收录于专栏:cayzlhcayzlh

关于在Android 12的设备上安装app报错的问题

由于某个Android项目最近需要开发新的需求,在调试过程中出现错误:

代码语言:javascript
复制
The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

初步判断是AndroidManifest.xml文件内容有问题,经检查和询问Google,网络上有记录的引发此类问题的原因有以下几种。

解决过程

android 12需要加上android:exported

代码语言:javascript
复制
<!-- 闪屏页 -->
<activity
    android:name=".MainActivity"
    android:screenOrientation="portrait"
    android:theme="@style/SplashTheme"
    android:exported="true"
    tools:ignore="AppLinkUrlError">
   
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.VIEW" />
    </intent-filter>
   
</activity>

然而这个方法并不适用于我的项目,因为本身也是加上了这个配置的。

查看更多报错信息

通过检查更多的报错信息,发现有以下信息被忽略了:

代码语言:javascript
复制
Failed to commit install session 543156194 with command package install-commit 543156194. Error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl543156194.tmp/base.apk (at Binary XML file line #416): leakcanary.internal.activity.LeakLauncherActivity: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present

看到这个提示之后,猜测可能是某些依赖的版本不兼容当前版本了,检查之后将build.gradle debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'依赖升级到 debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'问题解决。

END

记录一下此次解决问题的过程,遇到问题不要猴急,多看报错信息,就能找到很多线索。

为了解决这次遇到的问题,查询Google都浪费了不少时间。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于在Android 12的设备上安装app报错的问题
    • 解决过程
      • END
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档