Unity集成多个arr包

本篇文章为Unity与Android交互的进阶,基础操作一概简述,有不懂的地方请自行搜索。

一、Unity中调用Android中的方法

1、调用MainActivity中的方法

 AndroidJavaClass UnityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); 
 AndroidJavaObject jo= UnityClass.GetStatic<AndroidJavaObject>("currentActivity"); 
 jo.Call("MethodName");

2、调用其他Activity中的Static方法

 AndroidJavaClass jc = new AndroidJavaClass("com.test.demo");
 jc.CallStatic("StaticMethodName");

二、在同一个Android Studio项目中建多个Module

1、新建一个Module作为主Module,包名同Unity中的包名保持一致,导入Unity的classes.jar,新建一个EmptyActivity继承自UnityPlayerActivity,Unity调用的方法写在此处,在AndroidManifest.xml中添加

<activity android:name="你的包名">
            <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>

2、其他Module不需要导出Unity的classes.jar,包名与Unity中的包名不一致,新建的EmptyActivity继承自Activity即可,Unity调用的方法写在此处,在AndroidManifest.xml中添加

 <activity android:name="Module的包名.EmotyActivity名"> </activity>

3、点击Build->Rebuild Project,完成后找到需要的arr包。

4、打开导入了classes.jar的arr包,复制AndroidManifest.xml到Unity的Android目录下,删除libs中的classes.jar,同其他arr一同放到Unity中的Android目录下

注:Unity在打包APK的过程中会自动合并arr包中的AndroidManifest.xml的内容到Unity中Android目录下的AndroidManifest.xml

猜你喜欢

转载自blog.csdn.net/Zz240210048/article/details/80014784
Arr