Android 7(API 24)安装应用提示Manifest格式错误问题求助
排查及解决步骤
首先验证生产渠道的安装包本身是否存在问题
不要只检查本地源码,直接用Android Studio的apkanalyzer工具分析你上传到Play Console生产渠道的AAB/APK安装包:- 检查合并后的
AndroidManifest.xml文件,确认application节点的android:name属性值确实为managers.MyApp,无大写Managers残留 - 检查dex文件中的类目录结构,确认只有小写
managers包,不存在大写的Managers包
如果分析发现旧包名残留,说明是本地构建环节的问题,执行以下操作重新构建:
清空本地构建缓存:执行
./gradlew clean命令后,再执行Build > Clean Project,删除项目根目录下的build文件夹和所有模块下的build文件夹,重新打release包
同时检查你的ProGuard/R8混淆规则,确认没有写死Managers.MyApp的映射规则,避免混淆过程中错误恢复旧包名。- 检查合并后的
排除Play Console发布状态及缓存问题
- 确认你上传到生产渠道的安装包
versionCode高于内部测试渠道的包,且发布状态为「已上线」,不存在分阶段发布未覆盖到对应设备账号的情况 - 若确认安装包本身无问题,可以将
versionCode+1,用全新的构建产物重新上传发布,覆盖现有生产版本,强制Play Console刷新版本缓存
- 确认你上传到生产渠道的安装包
排除设备本地缓存问题
在测试设备上执行以下操作后重新尝试安装:- 完全卸载设备上所有版本的目标应用,包括多用户/工作资料分区下的残留版本
- 进入设置 > 应用 > Google Play Store > 存储,清除Google Play的本地缓存和数据
补充说明
Android 7.0及以下系统对Manifest中的类名大小写敏感度更高,大写开头的包名在部分三星定制ROM上会被识别为非法类路径,这也是你只在该设备上复现问题的核心原因。
内容的提问来源于stack exchange,提问作者pnizzle
相关产品推荐
相关产品推荐

