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

Unity导出AAR库导入Android项目启动UnityPlayerActivity报错libmain.so未找到

解决Unity AAR导入Android项目后libmain.so找不到的问题

可能原因及解决方案

1. 确认AAR中是否包含libmain.so

  • 将生成的Unity AAR文件后缀改为.zip并解压,查看jni目录下对应CPU架构(如armeabi-v7a、arm64-v8a)的文件夹里是否存在libmain.so。
  • 如果AAR里没有该文件,说明Unity导出或打包AAR时遗漏了:
    • 重新从Unity导出Android项目,导出时在Player Settings -> Other Settings -> Configuration -> Scripting Backend选择IL2CPP,并勾选需要的Target Architectures。
    • 回到导出的Android项目,确认libs目录下有对应架构的so库,再重新打包AAR。

2. 统一宿主项目与AAR的ABI配置

  • 在宿主Android项目的Module级build.gradle中,配置与Unity导出时一致的ABI过滤,避免架构不匹配:
android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a' // 与Unity导出的架构保持一致
        }
    }
}
  • 确保gradle.properties中没有禁用NDK相关配置,移除类似android.useDeprecatedNdk=true的旧配置。

3. 确保AAR打包时正确包含so库

  • 在Unity导出的Android项目的Module级build.gradle中,确认sourceSets配置正确,保证libs目录下的so库被打包进AAR:
sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}
  • 重新打包AAR,确保so库被包含在内。

4. 检查宿主项目对AAR的依赖配置

  • 如果是手动导入AAR,将AAR文件放在宿主项目的libs目录下,然后在Module级build.gradle中添加依赖:
dependencies {
    implementation files('libs/your-unity-aar-file.aar')
}
  • 若使用本地Maven仓库,确保依赖路径正确,so库能被自动合并到宿主APK中。

5. 清理并重建项目

  • 执行Build -> Clean Project清除缓存,再执行Build -> Rebuild Project重新编译整个项目,之后重新运行宿主应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 13:18:01