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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章