Unity使用Android Stdio接入SDK制作AAR包
最近需要在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包
路径:UnityEditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseClasses 导入到libs文件下 右键libs文件夹下.jar文件,Add As Libray…
MainActivity需要继承UnityPlayActivity
在Unity新的版本里面Class.jar没有这个类,需要自行找到后加入进去
路径:Unity自定义安装路径EditorDataPlaybackEnginesAndroidPlayerSourcecomunity3dplayer
新建文件夹存放UnityPlayerActivity.java脚本
修改后的AndroidManifest.xml
也要放在Unity工程中,可以把Android Stdio工程内的AndroidManifest.xml直接拖入Unity工程中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.qqlogin.androidtest">
<application
android:allowBackup="true"
android:supportsRtl="true"
>
<activity android:name="com.qqlogin.androidtest.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true" />
</activity>
</application>
</manifest>
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工程中