如何解决Unity 5.6.6发布API Level 26的Android AR应用问题?
针对Unity 5.6.6发布Google Play API等级识别异常的解决方案
我之前在维护依赖老旧插件的Unity老项目时,刚好碰到过和你一模一样的问题——用Unity 5.6.6打包的APK,明明设置了API 26,Google Console却始终识别成22。结合当时踩坑后的解决经验,给你几个可行的方案:
1. 手动自定义AndroidManifest.xml强制指定API等级
Unity 5.6.6的自动Manifest生成逻辑经常会被插件或默认配置覆盖,最直接的方法是自己写一个Manifest文件:
- 在项目的
Assets/Plugins/Android目录下新建(如果没有这个目录就手动创建)AndroidManifest.xml - 在文件里明确写入API等级配置,示例代码如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.your.package.name"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" android:compileSdkVersion="26" /> <!-- 其他你的应用需要的权限、组件配置 --> </manifest> - 回到Unity的Build Settings -> Player Settings -> Other Settings,取消勾选Auto Generate Manifest,确保Unity使用你自定义的Manifest文件,记得点击右上角的
Apply保存设置。
2. 匹配Unity 5.6.6兼容的SDK版本
你试过不同的SDK Tools版本,但要注意Unity 5.6.6对高版本SDK兼容性有限,建议严格匹配以下配置:
- 安装Android 8.0(API Level 26)的SDK Platform
- 使用Build-Tools版本
26.0.2(这个版本和Unity 5.6.6的兼容性最好,高版本Build-Tools容易出问题) - 在Unity的Edit -> Preferences -> External Tools里,确认SDK路径指向包含上述组件的SDK目录,并且不要勾选“Use Internal SDK”(如果有这个选项)
3. 检查并统一插件的Manifest配置
老旧插件很可能自带Manifest文件,会覆盖你在Unity里的设置:
- 遍历
Assets/Plugins/Android下所有子目录,找到所有的AndroidManifest.xml文件 - 把这些文件里的
<uses-sdk>标签全部改成和你自定义Manifest一致的API等级(minSdk、targetSdk、compileSdk都设为26) - 如果不想逐个修改,可以开启Unity的Manifest合并功能:在Player Settings里勾选Custom Main Manifest和Custom Gradle Template,然后在生成的
mainTemplate.gradle里添加合并规则,确保你的主Manifest配置优先级最高。
4. 切换到Gradle打包方式
Unity 5.6.6默认的Internal打包方式容易出现API等级不生效的问题,换成Gradle打包大概率能解决:
- 在Build Settings里,把Build System改成Gradle(如果没有这个选项,先在External Tools里配置好Gradle路径,推荐用Gradle 4.6版本,和API 26完美兼容)
- 勾选Custom Gradle Template,打开生成的
mainTemplate.gradle文件,在android块里明确指定API相关配置:android { compileSdkVersion 26 buildToolsVersion '26.0.2' defaultConfig { minSdkVersion 26 targetSdkVersion 26 // 其他默认配置 } // 其他gradle配置 }
另外,你提到收到Google Console的提示:
google console message
如果按照上面的方法打包后,APK的Manifest里API等级已经正确设置(可以用Android Studio的APK Analyzer工具查看),但Google Console还是识别错误,那大概率是平台缓存问题,建议等待1-2小时后重新提交,或者在Google Console里刷新应用的信息。
内容的提问来源于stack exchange,提问作者dhees
相关产品推荐
相关产品推荐

