Unity版本2018.2.17 , 直接支持java代码,所以我在使用的时候没有打包成aar。
基本都是固定的代码
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); //固定的,获取UnityPlayer类
currentActivity = jc.GetStatic<AndroidJavaObject>("currentActivity"); //通过UnityPlayer类,获取Activity
AndroidJavaClass launcher = new AndroidJavaClass("java类名(包名加类名)"); //获取java类
AndroidJavaObject appController = launcher.CallStatic<AndroidJavaObject>("Instance"); //获取java类的实例 和unity单例一样,这是自己写的
AndoridInterface callback = new AndoridInterface(callbackClass);
appController.Call("Init", currentActivity, callback); //初始化java类,把activity传进去,很多android方法调用都要用到,callback是一个回调,就是java调用Unity要用到的
AndoridInterface这个类主要就是java回调使用,必须继承AndroidJavaProxy,这是Unity写好的。构造函数中传入java代码