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

Unity Android Jar插件中com.google.common.primitives.Longs类定义缺失问题的解决求助

解决Unity Android插件找不到com.google.common.primitives.Longs的问题

这个问题我之前帮朋友处理过,本质是你的Jar插件编译时能访问到Guava依赖,但打包到Unity项目后,运行环境里没有包含这些依赖类,导致出现NoClassDefFoundError。给你几个靠谱的解决思路,按优先级推荐:

方法1:把Guava依赖打包进你的插件Jar(Fat Jar)

直接让你的插件Jar包含所有依赖类,这样Unity不需要额外配置就能找到。步骤如下:

  1. 打开Android Studio中你的插件模块的build.gradle文件
  2. 添加一个自定义的Fat Jar构建任务:
task createFatJar(type: Jar) {
    // 排除重复类,避免冲突
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    // 把依赖的类都打包进来
    from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
    // 保留原Jar的内容
    with jar
}
  1. 执行构建任务:在终端运行./gradlew createFatJar(Windows用gradlew.bat createFatJar)
  2. 生成的Fat Jar在模块的build/libs目录下,替换原来的Jar导入到Unity即可。

方法2:在Unity的Gradle配置中添加Guava依赖

让Unity在构建Android包时自动拉取Guava依赖,适合不想修改插件Jar的情况:

  1. 打开Unity的Player Settings(Edit -> Project Settings -> Player)
  2. 切换到Android平台,找到Publishing Settings,勾选Custom Main Gradle Template(会在Assets/Plugins/Android下生成mainTemplate.gradle)
  3. 打开mainTemplate.gradle,在dependencies块中添加Guava的Android专用依赖:
dependencies {
    // 保留原有的依赖,比如unityLibrary的依赖
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // 添加Guava Android版依赖,版本选适配你项目的,这里用30.1.1示例
    implementation 'com.google.guava:guava:30.1.1-android'
}
  1. 重新构建Unity项目,Gradle会自动下载并包含Guava类。

方法3:手动导入Guava Jar到Unity

如果不想配置Gradle,也可以手动导入依赖Jar:

  1. 下载Android专用版的Guava Jar(比如guava-30.1.1-android.jar,不要用标准Java版)
  2. 将Jar复制到Unity项目的Assets/Plugins/Android目录下
  3. 选中Jar,在Inspector面板中确保Platform Settings里的Android平台被勾选,其他平台取消勾选
  4. 重新构建Unity项目即可。

注意事项

  • 不要同时使用多种方法,比如既打包Fat Jar又添加Gradle依赖,会导致重复类冲突
  • 选择Guava版本时,尽量选适配Android的版本(带-android后缀的),避免引入桌面Java的依赖导致兼容性问题
  • 如果你的插件是Android Library模块(而非纯Jar),可以直接导出AAR包导入Unity,AAR会自动携带依赖配置,更省心

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 04:14:08