记一次LeakCanary导致的INSTALL_PARSE_FAILED_MANIFEST_MALFORMED安装失败
错误信息

环境配置
- Android Studio Iguana | 2023.2.1 Patch 1
- targetSdk 33
- LeakCanary 2.5
问题表现
- 可以打包,但是安装过程中提示安装失败(APP前几个版本是没有问题的)
- Android Studio报错如上图,但是没有更多信息
排查思路
- Google搜索
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED关键字,发现大部分都说是AndroidManifest.xml文件内写法有误,但是经过排除法验证,与AndroidManifest.xml文件无关
- 回顾修改记录,上次安装成功以后,增加过一些依赖(LeakCanary就是这时加上的),也修改了manifest文件(已排除),大概率出在gradle的依赖关系上
- 逐一注释,发现是LeakCanary导致的安装失败
解决方法
- 升级LeakCanary至最新的
2.13
- 重新
sync后安装成功
原因分析
- Android 12 (targetSDK 31)要求对于在
AndroidManifest.xml中声明了标签的组件,要显式指定其android:exported属性,见链接
- LeakCanary在
2.10的版本修复了这个问题
经验
- 发生问题时,如果Google不到正确的答案,就不要浪费更多时间在它上面
- 回溯上一次打包失败以后进行了哪些改动,逐一排除
- 如果记不清,就从头新建一个项目,再一一对照当前的问题项目
- 对于
安装失败的问题,如果AS没有输出有效信息,就用控制台进行adb install,这里会有更多信息输出,如下图:
