Android 中集成 Unity 工程的步骤

在 Adroid 项目中集成 Unity 工程,主要步骤如下:

一、前提条件

1、已有一个 Android 工程项目;
2、Unity 工程已导出为 Android 工程,目录大概如下:
在这里插入图片描述

二、集成步骤

1、在 Android 工程中导入 Unity 工程的 unityLibrary 模块。

在 Android Studio 中,点击菜单栏 File -> New -> Import Module… 打开导入模块窗口,选中 Unity 工程中的 unityLibrary 进行导入。

在这里插入图片描述
由于 Unity 工程通常有一定的大小,故在导入模块时可能会花比较久时间,有时会导致界面卡顿,请耐心等待。

2、修改配置信息

导入模块后,需要对 unityLibrary 模块的一些配置做修改,否则可能导致编译不通过,主要修改 build.gradle 和 AndroidManifest.xml 两个文件。

(1)unityLibrary/build.gradle 文件:

  • android 标签中的 ndkPath 路径修改为本地工程的实际 NDK 路径;
  • android 标签中将 compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion 这几个字段的值修改为 android 工程中适配的值;
  • 将 BuildIl2Cpp 方法中的 android.ndkDirectory 修改为 android.ndkPath。

在这里插入图片描述

在这里插入图片描述

(2)unityLibrary/src/main/AndridManifest.xml 文件:

  • 屏蔽 application 标签内容。

在这里插入图片描述

(3)app/build.gradle 文件

  • dependencies 标签中增加对 unityLibrary 库的引用,以及相关 libs 路径的配置。
    // unity
    implementation project(':unityLibrary')
    implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString() + ('\\libs'), includes: ['*.jar'])

在这里插入图片描述

(4)app/src/main/res/values/strings.xml 文件

  • 增加 game_view_content_description 字符串的定义,否则会导致编译不通过。
<string name="game_view_content_description">Game view</string>

在这里插入图片描述

(5)gradle.properties 文件

  • 添加 unityStreamingAssets 字段的配置,否则会导致编译不通过。
unityStreamingAssets=.bytes, .json, .version, .hash, .rawfile

在这里插入图片描述

3、编译整个工程

修改完所有配置信息后,先点击 Android Studio 右上角的 “Sync Project with Gradle Files” 按钮进行同步工程,同步成功后再进行整个工程的编译(菜单栏中:Build -> Make Project)。
第一次编译时需要花费比较久时间,请耐心等待。

4、全屏方式导入 unity 界面

在 Android 工程中,想要全屏方式导入 unity 界面,只要定义一个 Activity 继承自 UnityPlayerActivity 即可。

(1)Android 工程向 Unity 工程发送数据

直接调用 UnityPlayer.UnitySendMessage 方法即可实现向 Unity 工程发送数据。

class MainActivity : UnityPlayerActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val message = "message"
        UnityPlayer.UnitySendMessage(UnityConstants.UNITY_OBJECT_NAME, UnityConstants.UNITY_METHOD_NAME, message)
    }
}

(2)Unity 工程向 Android 工程发送数据

需先在 Androi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值