Untiy端使用aar的方式
Unity端使用aar有两种方式:
1.aar 中的类继承Activity
2.aar 中的类不继承Activity
一.aar 中的类继承Activity
1.用AndroidStudio创建一个Library工程。新建一个Java Class,名为Androidapi
2.新建一个Unity工程,将aar包和 AndroidManifest放在Assets文件夹下的Plugins/Android文件下面:
3.然后在创建一个名字为 GetAARInterface的类(这个类负责调用aar包接口)
二.aar 中的类不继承Activity
解读:aar中的类不继承Activity ? : 首先我们要知道我们打的aar是给unity使用的,然后因为unity本身打的app是一个Activity。如果在aar中也继承了Activity并且这个继承Activity的aar也放在unity当中放进了unity中(这种是aar中的类继承activity)。 如果大于一个这种继承了activity的aar放进去unity中调用,就会出现多个继承activity的aar会导致unity在运行的时候无法正确的出现Activity导致显示错误,所以必须有aar不继承activity的方式。
其中aar中的类不继承activity又有两种方式: 解读: aar中的类不继承activity为什么又会有两种方式哪? 因为在做aar包的时候会有需不需要使用Context(上下文)/Activity 等变量的情况,所以下面就给出来了解决的办法。
A . 第一种方式是aar中的类不使用Context或 Activity变量
B . 第二种方式是aar中的类使用Context或 Activity变量
A.第一种方式是aar中的类不使用Context或 Activity变量:
4.用AndroidStudio创建一个Library工程。新建一个Java Class,名为api
-
编写aar中需要输出的接口如下:
-
新建一个unity工程 ,将aar包放在Assets文件夹下的Plugins/Android文件下面:
4.然后在创建一个名字为 GetAARInterface的类(这个类负责调用aar包接口)
第二种方式是aar中的类使用Context或 Activity变量:
其中第一种书写方式:
1.用AndroidStudio创建一个Library工程。新建一个Java Class,名为Androidapi。
2.将unity 中的classes.jar文件放到libs/aars文件夹下,然后选中classes.jar右键点击选择add as module选项添加到模块。
-
在Androidapi类中写类的构造単例实例化方法(方便在不继承Activity的情况下可以调用到类中的方法)。
4.unity端如何使用Andriod的方法哪?下面就开始讲解如何在unity端再不继承Activity的方式下使用aar包的方法
(1)将aar包放在unity中的Assets文件夹下的新建文件Plugins/Android/文件夹下面:
(2.)新建一个c#类将下面的代码放在新建的类中(调用aar包的方式):
第二种方式是aar中的类使用Context或 Activity变量:
其中第二种书写方式:
1.用AndroidStudio创建一个Library工程。新建一个Java Class,名为Androidapi。
-
在Androidapi类中写类的构造単例实例化方法(方便在不继承Activity的情况下可以调用到类中的方法)。
3.unity端如何使用Andriod的方法哪?下面就开始讲解如何在unity端再不继承Activity的方式下使用aar包的方法
(1)将aar包放在unity中的Assets文件夹下的新建文件Plugins/Android/文件夹下面:
(2.)新建一个c#类将下面的代码放在新建的类中(调用aar包的方式):



