Android Studio 2024 内嵌 Unity 3D 开发示例

发布于:2025-07-26 ⋅ 阅读:(14) ⋅ 点赞:(0)

Unity 导出 Android 工程,在 Android Studio 中作为库二次开发示例

1 环境

Android Studio 2024.3.2 Patch 1
Unity 2021.3.45f1c2

1.1 Unity Android 构建环境

1.1.1 Android 构建支持

我们知道Unity Hub 是 Unity 官方提供的集中管理工具,支持一键切换不同项目使用的 Unity 版本,自动维护版本间的独立性,避免冲突。同时也对模块化组件进行管理,包含各平台(Android、iOS、Windows 等)构建支持模块。

  • 点击【添加模块】
    在这里插入图片描述
  • 确认 Android 构建支持的环境是否已经安装,没安装就安装下
    在这里插入图片描述

1.1.2 确认 Unity 2021.3.45f1c2 安装的 NDK 版本

在开发的过程中,使用 Unity 自带的 NDK 版本兼容性最好。因此我们将在 Android Studio 2024 中设置相应的版本。,我们来找 Unity 2021.3.45f1c2 对应的 NDK 版本:

  • 打开 Unity 2021.3.45f1c2 编辑器的目录
    在这里插入图片描述
  • 在打开的目录中进入:Editor\Data\PlaybackEngines\AndroidPlayer\NDK 子目录
    在这里插入图片描述
  • 打开 source.properties 文件,内容如下:
Pkg.Desc = Android NDK
Pkg.Revision = 21.3.6528147

表示使用的是 NDK 版本 21.4.7075529。

NDK 的历史版本:Unsupported Downloads · android/ndk Wiki · GitHub

1.2 Android Studio 2024 构建环境

  • 安装对应版本的 NDK 21.4.7075529
    在这里插入图片描述

2 新建工程

环境准备好了,新建两个工程来进行演示。

2.1 新建 Android Studio 项目:NativeAndroidApp

  • 选择【No Activity】
    在这里插入图片描述
  • 配置项目名称:NativeAndroidApp,包名,语言:java,选择并记录对应的 SDK 版本,选择配置语言【Groovy DSL】(方便和后续 Unity导出的工程一致),配置好后点击【Finish】创建项目。
    在这里插入图片描述

2.2 新建 Unity 3D 项目:Unity3DSample

在 Unity Hub 中,创建一个 2021.3.45f1c2 版本的 Unity 3D 项目,选择项目位置,输入项目名称:Unity3DSample,点击【创建项目】
在这里插入图片描述

  • 创建完后后,打开 Unity3DSample,点击【File->Build Settings…】进行构建设置
    在这里插入图片描述

  • 在构建设置面板的【Platform】中切换到 Android, 如果未安装会显示【Install with Unity Hub】,点击安装即可。我们前面已经安装,忽略
    在这里插入图片描述

  • 已安装 Andorid 构建支持模块选择【Android】后会显示【Switch Platform】,点击会切换到 Android 平台构建
    在这里插入图片描述

2.2.1 点击【Player Settings…】进行导出设置

  • 配置 【Player->Other Settings->Configuration】,
    • 【Scripting Backend】(脚本后端)改为:IL2CPP,将C#代码转换为C++,再编译为原生机器码
    • 让工程支持arm v7和arm v8两种架构,否则在某些机型上,会运行失败。
    • 【Incremental GC】(增量垃圾回收)可勾选
      在这里插入图片描述
  • 配置包名 com.lzc.Unity3DSample,配置 Android SDK 版本,要和创建 NativeAndroidApp 的版本一致
    在这里插入图片描述
  • 关闭窗口,回到Build Settings界面。

2.2.2 导出 Unity Android 构建的工程

  • 勾选【Export Project】,然后点击右下角的【Export】。
    在这里插入图片描述

  • 出来弹窗后,新建文件夹【Unity3DExport】,选择【Unity3DExport】做为导出目录后,开始导出。
    在这里插入图片描述

  • 自动生成的是一个可以用 Android Studio 打开的工程,如下:
    在这里插入图片描述

3 Android 接入

移动 Unity3DExport 目录下的 unityLibrary 工程到 NativeAndroidApp 目录下:
在这里插入图片描述

3.1 在 NativeAndroidApp 中把 unityLibrary 配置为 Library 模块

在 Android Studio 中打开 NativeAndroidApp

  • 把 Unity3DExport/gradle.properties 中 Unity 的参数拷贝到工程的 NativeAndroidApp/gradle.properties
# 配置 Unity 的 Streaming Assets 路径。留空使用默认路径(Assets/StreamingAssets)
unityStreamingAssets=
# 指定 Unity 导出的 Android 项目模板版本。
unityTemplateVersion=7

在这里插入图片描述

  • 在 NativeAndroidApp/settings.gradle 中加上 unityLibrary 模块:
include ':app', ':unityLibrary'

在这里插入图片描述

  • 在 NativeAndroidApp/app/build.gradle 中增加对 unityLibrary 的依赖
    implementation project(':unityLibrary')
    implementation fileTree(include: ['*.jar']

网站公告

今日签到

点亮在社区的每一天
去签到