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

将Unity项目导入Flutter时出现unityLibrary配置匹配错误

Unity嵌入Flutter时依赖解析错误的解决方案

问题背景

尝试将Unity 2022.3项目作为组件导入Flutter应用,执行以下操作后构建失败:

  1. 将Unity项目导出至Flutter应用的android文件夹内
  2. 在Android级settings.gradle中配置:
include ":unityLibrary"
include ":app"

project(":unityLibrary").projectDir = new File("../unity/unityLibrary")
  1. 在应用级build.gradle中添加依赖:
dependencies {
    implementation project(':unityLibrary')
    implementation 'androidx.multidex:multidex:2.0.1'
}

错误信息

  • 核心问题:无法确定任务:app:compileDebugJavaWithJavac的依赖项

无法解析:app:debugCompileClasspath配置的所有任务依赖项。
无法解析项目:unityLibrary。
被项目:app依赖

未找到匹配的项目:unityLibrary配置。消费者被配置为查找组件的API,最好是针对Android优化的,同时需要属性com.android.build.api.attributes.BuildTypeAttr值为debug,属性com.android.build.api.attributes.AgpVersionAttr值为7.3.0,属性org.jetbrains.kotlin.platform.type值为androidJvm,但:

  • 没有可消费的配置包含这些属性。

环境信息

  • SDK版本:34
  • Unity版本:2022.3
  • Gradle版本:1.7.10

已尝试操作

  • 校验路径正确性
  • 清理并重新构建项目
  • 更新依赖项
  • 在Unity中添加debug构建类型配置

解决方案

1. 统一AGP版本

错误中AgpVersionAttr不匹配是关键原因,需确保unityLibrary模块的Android Gradle Plugin版本与Flutter的app模块一致(当前为7.3.0):

  • 打开unityLibrary/build.gradle,修改插件版本:
plugins {
    id 'com.android.library' version '7.3.0' apply false
}
  • 同步该文件中compileSdkVersion、targetSdkVersion与app模块一致(均为34)。

2. 配置Unity模块的可消费debug属性

在unityLibrary/build.gradle中补充配置,让debug构建类型暴露符合要求的可消费属性:

android {
    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-unity.txt'
            // 添加fallback,避免debug配置缺失时回退到release
            matchingFallbacks = ['release']
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-unity.txt'
        }
    }
}

// 显式声明可被消费的debug配置
configurations {
    debugApiElements {
        canBeConsumed = true
        attributes {
            attribute(com.android.build.api.attributes.BuildTypeAttr, project.objects.named(com.android.build.api.attributes.BuildTypeAttr, 'debug'))
            attribute(org.jetbrains.kotlin.platform.type, project.objects.named(org.jetbrains.kotlin.platform.type, 'androidJvm'))
        }
    }
}

3. 修正路径配置

settings.gradle位于Flutter的android目录下,路径无需回退上级,修改为:

include ":unityLibrary"
include ":app"

project(":unityLibrary").projectDir = new File("unity/unityLibrary")

4. 清理缓存并同步

  • 执行命令:flutter clean
  • 在Android Studio中点击File -> Sync Project with Gradle Files
  • 重新运行flutter run构建项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 22:13:16