Unity使用Android Stdio接入SDK制作AAR包

最近需要在Unity2021版本中接入SDK,发现和直接接入SDK有些区别,这里把接入的流程记录一下。

Unity在最新的版本中把UnityPlayActivity.java,从Class.jar中移除,需要在Unity的工程内找到这个文件,并把其加入到Android Stadio内,才能使用。

新建Android Stdio 工程,包名可以随便起

在工程中 New Module

Unity使用Android Stdio接入SDK制作AAR包_第1张图片

①选择Android Library

②包名要和Unity工程里面相同

③设置SDK最小版本,要和Unity工程SDK版本相同

新建一个Java脚本 MainActivity.java启动时的入口

Unity使用Android Stdio接入SDK制作AAR包_第2张图片

导入Unity中的class.jar包

路径:Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 导入到libs文件下  右键libs文件夹下.jar文件,Add As Libray… Unity使用Android Stdio接入SDK制作AAR包_第3张图片

MainActivity需要继承UnityPlayActivity

在Unity新的版本里面Class.jar没有这个类,需要自行找到后加入进去

路径:Unity自定义安装路径\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player

新建文件夹存放UnityPlayerActivity.java脚本

Unity使用Android Stdio接入SDK制作AAR包_第4张图片

 Unity使用Android Stdio接入SDK制作AAR包_第5张图片

 Unity使用Android Stdio接入SDK制作AAR包_第6张图片

 Unity使用Android Stdio接入SDK制作AAR包_第7张图片

修改后的AndroidManifest.xml

也要放在Unity工程中,可以把Android Stdio工程内的AndroidManifest.xml直接拖入Unity工程中

 Unity使用Android Stdio接入SDK制作AAR包_第8张图片

 



 
    
        
            
                
                
            
            
        
    
 

build.gradle依赖项,不修改build.gradle不会生成aar 生成的是apk 

Unity使用Android Stdio接入SDK制作AAR包_第9张图片

修改依赖项  否则AndroidStudio打包时会报错 

Unity使用Android Stdio接入SDK制作AAR包_第10张图片

删除多余不用文件 打包arr

 Unity使用Android Stdio接入SDK制作AAR包_第11张图片

 这个主要是一些Android的界面设置,在目前的项目用没有使用,如果不删除,会同时打到aar包内,造成安装包增大

生成arr包

Unity使用Android Stdio接入SDK制作AAR包_第12张图片

 处理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包

Unity使用Android Stdio接入SDK制作AAR包_第13张图片

 正确的zip包

Unity使用Android Stdio接入SDK制作AAR包_第14张图片

可以全选,然后再去制作zip包,之后修改后缀.aar,在放在Unity工程中 

你可能感兴趣的:(unity,android,SDK)