Unity导出安卓包出现Duplicate class问题

Unity项目从Unity2022.1.19升级到Unity2022.2之后,导出安卓包出现问题

A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class android.support.v4.app.RemoteActionCompatParcelizer found in modules core-1.1.0-runtime (androidx.core:core:1.1.0) and jetified-androidx.core.core-1.2.0-runtime (:androidx.core.core-1.2.0:)
后面还有一大堆类似的错误信息,都是关于Duplicate class的
项目只是升级,并没有添加新的库,因为升级后Gradle版本也升级,所以各类和Gradle相关的模版都是用了默认的。
如有解决,另有答谢!
基于AI的解答就不必了,我已经试过了。

implementation('com.example.library:library:1.0') {
    exclude group: 'androidx.core', module: 'core'
}

自己找到原因了,因为gradle版本升级,需要手工修改gradle相关的几个配置文件,改了配置就好了。

这个问题通常是由于项目中存在重复的类引起的,可能是由于依赖库的版本冲突导致的。要解决这个问题,你可以尝试以下几个步骤:

  1. 清理项目:在Unity中选择File -> Build Settings,然后点击Clean Project按钮。这将清理项目中生成的临时文件和缓存。

  2. 检查依赖库:确保项目中使用的所有依赖库都是与Unity 2022.2 兼容的,并且版本是最新的。检查项目中使用的所有插件和库,并确保它们的版本与Unity 2022.2 兼容。如果发现不兼容的库或者重复的库,尝试更新它们或者删除重复的库。

  3. 解决依赖冲突:如果发现有冲突的依赖库版本,你可以尝试使用androidDependencies来排除冲突的库。在Unity项目的Packages目录下,找到manifest.json文件,然后在dependencies中添加以下代码来排除冲突的库:

    "dependencies": {
        "com.android.support:support-v4": "exclude",
        "androidx.core:core": "exclude"
    }
    

    这将排除冲突的依赖库,确保只有一个版本被使用。

  4. 更新Gradle版本:在Unity中选择Edit -> Project Settings -> Player,然后在Inspector窗口的Other Settings下找到Scripting Runtime Version,将其设置为最新的版本。

  5. 更新Android插件:在Unity中选择Edit -> Project Settings -> Player,然后在Inspector窗口的Other Settings下找到Minimum API Level,将其设置为与Gradle版本兼容的API级别。

  6. 清除Gradle缓存:打开终端或命令提示符,导航到Unity项目的Temp目录,并执行以下命令来清除Gradle缓存:

    ./gradlew cleanCache
    

    这将清除Gradle的本地缓存。

  7. 重新生成项目:重新打开Unity项目,并进行重新导出安卓包的尝试。确保在导出过程中没有其他报错或警告信息。

如果以上步骤没有解决问题,你可能需要进一步检查项目中的依赖关系和引用情况,并尝试逐个排除可能引起冲突的部分。你还可以在Unity官方论坛或相关社区中搜索类似的问题,寻求更多的帮助和解决方案。