Unity中Google Play Core与EDM4U本地Maven仓库依赖冲突构建报错
冲突场景
当前遇到依赖冲突的两个库:
- Assets/GooglePlayPlugins/com.google.play.assetdelivery 2.0.0
- Assets/GooglePlayPlugins/com.google.play.core 1.10.3
该冲突属于Google Play Unity插件的已知问题。
已准备的修复资源
下载的空单体Play Core库文件结构如下:
Assets/GooglePlayPlugins/com/google/android/play/core/2.0.0 ├── core/ │ └── maven-metadata.xml └── 2.0.0/ ├── core-2.0.0.aar └── core-2.0.0.pom
构建报错信息
Assets\Library\Bee\Android\Prj\IL2CPP\Gradle\launcher\src\main\AndroidManifest.xml:24:17-38 Error:
Attribute meta-data#com.google.android.play.core.assetpacks.versionCode@value value=(20000) from [com.google.android.play:asset-delivery:2.0.0] AndroidManifest.xml:24:17-38
is also present at [com.google.android.play:core:1.10.3] AndroidManifest.xml:38:17-38 value=(11003).
Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml to override.
核心问题
使用EDM4U(Unity外部依赖管理器)时,已添加空单体Play Core库并将Android解析器指向它,但自定义mainTemplate.gradle文件中未自动包含相关仓库引用。
已尝试的无效操作
- 手动修改
mainTemplate.gradle添加本地Maven仓库:
project.repositories { def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/") maven { url "https://maven.google.com" } maven { url "Assets/GooglePlayPlugins/com/google/android/play/core/2.0.0" } mavenLocal() mavenCentral() }
- 手动在
dependencies块添加依赖声明:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.google.android.play:asset-delivery:2.0.0' implementation 'com.google.android.play:asset-delivery:2.0.0' implementation 'com.google.android.play:core:1.10.3' implementation 'com.google.android.play:core-common:2.0.0' }
- 执行EDM4U的「Force Resolve」操作后,所有手动修改的内容都会被清除。
- 尝试通过修改maven settings.xml添加仓库,但找不到本地的settings.xml文件/文件夹,也不确定具体操作步骤。
求助需求
已花费数日排查相关内容,始终无法找到清晰可行的本地Maven仓库配置方式来解决该依赖冲突,需要技术支持。
内容的提问来源于stack exchange,提问作者EAYAJB

