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

Unity 6安卓游戏集成Branch SDK时出现ClassNotFoundException问题求助

Unity 6安卓游戏集成Branch SDK时出现ClassNotFoundException问题求助

看起来你遇到了挺闹心的问题——之前好好跑的Branch SDK突然罢工,打包安卓后抛出了ClassNotFoundException,找不到io.branch.unity.BranchUnityWrapper,还定位到是Branch.initSession(CallbackWithBranchUniversalObject)这行初始化代码出的问题对吧?结合你给出的信息,我整理了几个大概率能解决问题的方向:


1. 优先排查代码混淆(Minify)的问题

你开启了Debug和Release模式的Minify,但没有自定义ProGuard规则,Unity的默认混淆逻辑很可能把Branch SDK的关键类给移除或者重命名了,导致运行时找不到对应类。解决步骤如下:

  • 在Unity项目的Assets/Plugins/Android目录下(没有的话就新建这个目录)创建proguard-user.txt文件
  • 在文件里添加Branch官方要求的混淆规则:
    -keep class io.branch.** { *; }
    -keep class com.android.installreferrer.** { *; }
    -dontwarn io.branch.**
    
  • 回到Unity的Player Settings -> Publishing Settings -> Minify,确认Debug和Release模式下ProGuard的配置文件指向这个proguard-user.txt(Unity一般会自动识别,要是没识别可以手动指定路径)

2. 检查Branch SDK的插件文件是否损坏/缺失

有时候Unity的插件会因为项目同步、打包缓存异常等原因出现文件损坏或丢失,之前能用突然失效大概率和这个有关:

  • 先彻底移除现有Branch SDK:删除Assets/Branch目录,以及Assets/Plugins/Android下所有和Branch相关的.aar文件
  • 重新下载并导入对应版本(v5.12.0)的Branch Unity SDK,确保导入过程没有报错
  • 清理Unity的打包缓存:点击File -> Build Settings -> Clean Build Folder,之后重新打包测试

3. 排查Gradle依赖配置异常

你提到mainTemplate.gradle里指定了io.branch.sdk.android:library:5.12.0,但可能存在依赖冲突或者同步异常:

  • 打开Unity的Player Settings -> Publishing Settings,勾选Custom Main Gradle Template和Custom Base Gradle Template,确保gradle模板是自定义可编辑的
  • 检查mainTemplate.gradle里的Branch依赖是否正确,有没有重复引入的依赖项
  • 打包前点击Assets -> Refresh,让Unity重新同步安卓依赖
  • 如果还是有问题,可以尝试删除Library目录(记得先备份项目),然后重新打开Unity让它重新生成所有缓存文件

快速验证小技巧

你可以先暂时关闭Minify(取消Debug和Release的Minify勾选),然后打包测试。如果此时错误消失,那就能100%确认是混淆规则的问题,再回到第一步配置混淆规则即可。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 13:17:58