UM4L1——交互项目创建

注意:本章所有知识点均为UM3L1——交互项目创建中内容

由于我们要在 Android 平台集成第三方的 SDK
因此自然联想到,我们需要 Unity 和 Android 之间进行交互,需要在 Unity 端调用 Android 端开发好的东西
所以我们需要创建交互项目,之后就在 Android 交互项目中引入第三方 SDK 进行逻辑开发

创建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

    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/....
将路径下的文件夹拷贝到 Android Studio 中的 app/src/main/java

image

修改MainActivity脚本

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

  1. 改为继承 UnityPlayerActivity
  2. 注释或者删除 onCreate​ 函数中的 setContentView 代码

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