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

修改包名引发BuildConfig重复定义错误的问题排查

解决Unity导出Android项目包名冲突与Dex合并错误

问题根源

你错误修改了unityLibrary模块的包名,导致它与主模块launcher生成了同路径的BuildConfig类,Dex合并时出现重复定义错误。Google Play只识别主模块(launcher)的applicationId,完全不需要修改unityLibrary的包名。

分步解决

  1. 恢复unityLibrary的包名
    打开unityLibrary/src/main/AndroidManifest.xml,把包名改回默认的com.unity3d.player,不要与launcher的包名一致。

  2. 确认主模块的applicationId
    打开launcher/build.gradle(注意是Module级别的gradle文件,不是Project级别的),在defaultConfig块中确保applicationId是你要上传到Google Play的正确包名:

    android {
        defaultConfig {
            applicationId "com.yourcompany.yourappname" // 这里填你的目标包名
            // 其他配置...
        }
    }
    

    Google Play审核时只认这个applicationId,和unityLibrary的包名无关。

  3. 清理构建缓存并重新打包
    之前修改包名生成的缓存文件会自动重建,必须彻底清理:

    • 在Android Studio的Terminal中执行:
      ./gradlew clean
      
    • 清理完成后,重新生成签名应用包即可。

额外说明

Unity导出的Android项目中,unityLibrary是依赖库模块,它的代码、资源和Native库都绑定了默认包名com.unity3d.player,强行修改会引发更多类引用错误,完全没必要这么做。只要主模块的applicationId正确,就能正常上传到Google Play。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 19:46:08