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