最近需要在Unity2021版本中接入SDK,发现和直接接入SDK有些区别,这里把接入的流程记录一下。
Unity在最新的版本中把UnityPlayActivity.java,从Class.jar中移除,需要在Unity的工程内找到这个文件,并把其加入到Android Stadio内,才能使用。
新建Android Stdio 工程,包名可以随便起
在工程中 New Module
①选择Android Library
②包名要和Unity工程里面相同
③设置SDK最小版本,要和Unity工程SDK版本相同
新建一个Java脚本 MainActivity.java启动时的入口
导入Unity中的class.jar包
路径:Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 导入到libs文件下 右键libs文件夹下.jar文件,Add As Libray…
MainActivity需要继承UnityPlayActivity
在Unity新的版本里面Class.jar没有这个类,需要自行找到后加入进去
路径:Unity自定义安装路径\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player
新建文件夹存放UnityPlayerActivity.java脚本
修改后的AndroidManifest.xml
也要放在Unity工程中,可以把Android Stdio工程内的AndroidManifest.xml直接拖入Unity工程中
build.gradle依赖项,不修改build.gradle不会生成aar 生成的是apk
修改依赖项 否则AndroidStudio打包时会报错
删除多余不用文件 打包arr
这个主要是一些Android的界面设置,在目前的项目用没有使用,如果不删除,会同时打到aar包内,造成安装包增大
生成arr包
处理aar包 导入Unity中
1.删除libs文件下的classes.jar,是libs文件下 不是 AndroidStudio生成的classes.jar
2.在压缩包中打开AndroidStudio生成的classes.jar,删除UnityplayerActivity.class
不删除unity打包会失败
注意事项:
1、删除时可以把aar包改成zip,在进行解压,删除里面文件,对于UnityplayerActivity.class在class.jar包内,也是使用同样的方法。
2、删除完之后,再去制作zip包,在打包时,可能多包含一层文件,这里会造成打包失败,找不到对应的资源
错误的zip包
正确的zip包
可以全选,然后再去制作zip包,之后修改后缀.aar,在放在Unity工程中
来源地址:https://blog.csdn.net/qq_33515628/article/details/131719495