Android 13安装Unity构建APK报错:软件包无效问题求助
Android 13安装Unity构建APK提示“App not installed as a package appears to be invalid”排查方案
问题背景
- Unity版本:2021.3.6f1
- 构建配置:最低API等级22,目标API等级27/30/34
- 本地测试:Android 9/7设备运行正常
- 异常现象:APK通过Google Drive分享后,Android 13设备安装报错;已删除旧APK及应用,问题仍存在;使用新密钥签名,新建同配置项目构建的API34包可正常安装
排查与解决步骤
校验APK文件完整性
- 让接收方重新下载APK,或改用其他传输渠道(如邮件、即时通讯工具),避免Google Drive传输过程中文件损坏。
- 对比本地APK与传输后文件的MD5值,确认文件未被篡改或损坏。如果有Android13设备,本地直接安装原项目构建的APK,排除分享环节问题。
验证签名配置有效性
- 检查Unity
Player Settings > Publishing Settings中的密钥库路径、别名、密码是否完全正确,无拼写或路径错误。 - 用命令行工具校验签名:执行
apksigner verify --verbose [你的APK文件路径],查看输出结果确认签名是否合法有效。Android13对签名完整性校验更严格,签名过程异常会直接导致包无效。
- 检查Unity
检查Android 13适配配置
- 若应用涉及通知功能,确认
AndroidManifest.xml中是否声明了POST_NOTIFICATIONS权限(目标API34新增权限要求)。 - 用
aapt dump badging [APK路径]命令查看APK实际的targetSdkVersion,确认构建后配置与设置一致。 - 排查是否存在Android13禁止的权限(如无合理理由的
QUERY_ALL_PACKAGES),这类配置可能触发系统拦截。
- 若应用涉及通知功能,确认
排查Unity构建流程问题
- 清理原项目缓存:删除
Library、Temp文件夹后重新构建APK,避免旧缓存导致的构建异常。 - 对比原项目与新建项目的
Player Settings:重点检查Other Settings中的脚本后端、API兼容等级,以及Publishing Settings中是否误开启Build App Bundle (Google Play)(若构建AAB而非APK,直接安装会报错)。 - 检查第三方插件或自定义Manifest冲突:开启
Custom Main Manifest选项,对比原项目与新建项目的AndroidManifest文件,排查是否存在冲突配置项。
- 清理原项目缓存:删除
检查设备安装设置
- 确认Android13设备已开启未知来源应用安装权限:路径为
设置 > 应用 > 特殊应用权限 > 安装未知应用,找到下载APK的应用(如Drive、Chrome)并允许其安装权限。 - 暂时关闭设备厂商的应用安全验证功能,部分厂商的验证机制会拦截非官方渠道的APK。
- 确认Android13设备已开启未知来源应用安装权限:路径为
内容的提问来源于stack exchange,提问作者Ilya
相关产品推荐
相关产品推荐

