You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity构建Android AAB时Gradle属性冲突错误求助

解决Unity中com.google.android.play.core版本冲突导致的AAB构建错误

以下是针对你遇到的com.google.android.play.core版本冲突问题的可行解决方案,按优先级排序:

1. 强制Gradle使用统一版本(最推荐)

Unity构建Android项目时,不同插件会自动引入各自依赖的库,导致版本不一致。通过Gradle配置强制统一版本可以彻底解决冲突:

  • 打开Unity的Player Settings > Publishing Settings > Build,勾选Custom Gradle Template,生成Assets/Plugins/Android/mainTemplate.gradle文件。
  • 打开该文件,在dependencies代码块上方添加以下配置:
    configurations.all {
        resolutionStrategy.force 'com.google.android.play:core:1.10.3'
    }
    
  • 这段代码会让Gradle忽略所有依赖库引入的旧版本play core,强制使用指定的1.10.3版本,从而消除meta-data值冲突。

2. 排查隐藏的依赖来源

你找不到core-1.10.0.aar,是因为该库可能被打包在Cross Platform Native Plugins的内部资源中,而非单独的aar文件:

  • 用命令行定位依赖来源:在项目根目录执行(Windows用gradlew.bat dependencies,Mac/Linux用./gradlew dependencies),查看输出中所有包含com.google.android.play:core的条目,确认哪个插件引入了1.10.0版本。
  • 如果是Cross Platform Native Plugins导致的,尝试:
    • 打开插件的设置面板,查看是否有禁用自动引入Play Core的选项;
    • 更新插件到最新版本,官方可能已经修复了依赖版本不一致的问题。

3. 修正AndroidManifest的tools:replace配置

如果你之前的Manifest配置有误,按以下步骤调整:

  • 确保AndroidManifest.xml的根<manifest>标签包含tools命名空间声明:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              package="你的应用包名">
    
  • 在<application>标签中添加tools:replace属性,指定替换冲突的meta-data:
    <application
        ...
        tools:replace="com.google.android.play.core.assetpacks.versionCode">
    

4. 清理缓存后重新构建

缓存残留可能导致配置不生效,执行以下操作:

  • 清理Unity缓存:Edit > Preferences > Cache Server > Clear Cache,或直接删除项目根目录的Library文件夹(操作前备份项目);
  • 清理Gradle缓存:删除用户目录下的.gradle文件夹(Windows:C:\Users\你的用户名\.gradle;Mac:~/.gradle);
  • 重新构建AAB文件。

内容的提问来源于stack exchange,提问作者kbunarjo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:45:40