UM3L1——交互项目创建

这节课的主要目的就是创建之后用于生成 aar 包的Android Studio的工程,用于之后处理Unity和Android的交互逻辑

本节课制作的 aar 包,是用于和 Unity 进行交互的安卓包,操作的步骤不能有误,否则会影响之后的交互功能制作

创建Unity和Android Studio项目

  1. 创建 Unity 项目后,切换到 Android 平台,设置包名和 Android 版本

    设置流程参考:UM1L1——新版Unity打包安卓应用程序

  2. 创建 Android Studio

    选择 Phone and Tablet,创建一个Empty Activity项目

    image

    注意:

    1. 包名和 Minimum SDK 版本要和 Unity 项目一致,若没有相同 SDK 版本,请在 Android Studio 中下载

      image

      image

    2. 创建完成后,等待加载结束后,删除工程中两个 Test 项目以及 res 下的无用资源

      image

配置build.gradle文件

  1. 在Android Studio中Project页签中切换为Project

    image

  2. 展开工程名下app页签,打开build.gradle文件

    重要修改:

    1. id 'com.android.application'​ 修改为 id 'com.android.library'​,使得项目能够打包为库而不是应用程序

      image

    2. 删除defaultConfig​中的 applicationId​ 项

      image

    3. 点击右上角同步按钮 Sync Now

导入 classes.jar 包

路径:Unity安装目录\Data\PlaybackEngines\AndroidPlayer\Variations\mono(il2cpp)\Release\Classes​中

注意,使用 mono 还是 il2cpp 文件夹取决于你的 Unity 项目以何种方式构建

  1. 将包拷贝到 Android Studio 中的 app\libs​ 下
  2. 导入后 选择包 右键点击 Add As Library

导入 UnityPlayerActivity 脚本

注意:如果你的 Unity 版本是 2019 及以上的版本,这一步是必须的

路径:Unity安装目录/Data/PlaybackEngines/AndroidPlayer/Source/....
将路径下的文件夹拷贝到 AndroidStudio 中的 app/src/main/java 中

image

修改MainActivity脚本

我们需要修改 Android Studio 中的 MainActivity​ 脚本

  1. 改为继承 UnityPlayerActivity
  2. 注释或者删除 onCreate​ 函数中的 setContentView​ 代码
  3. 添加两个自定义函数之后用于测试(仅测试使用,非必须)

image

修改AndroidManifest.xml配置文件

  1. 删除 application​ 中的无用内容
  2. activity​ 中加入一句 <meta-data android:name="unityplayer.UnityActivity" android:value="true"/>

image

生成 Unity 用的aar包

选中 MainActivity​ 脚本 选择 工具栏——>Build——>Make Moudle …

如果打包 aar 包时 出现了 下载 Download 相关内容的 字样 那么就需要多等待一会儿,下载完成过后 一般就能够构建成功

image

image

image