Unity3d与Android简单通讯(完整流程版)
前情提要:身为一名伟大的游戏客户端开发人员(苦逼的搬砖工人),接SDK应该是我们技能树中比较基础的一个技能点,就从简单的Unity3d与Android通讯开始伟大的航海之路吧!!
准备工作:Unity(这里使用的是2017.3版本),Android Studio(3.0版本),其它环境例如Android SDK、JDK等自行配置,这里不再赘述。
华丽丽的正式开始啦~~~
把大象装进冰箱的第一步:打开冰箱
1、打开Android Studio
2、新建项目
3、神头鬼脸一顿Next
4、Finish
冰箱就这么打开了,不用怀疑,就是这么简单。
把大象装进冰箱的第二步:把大象装进冰箱
1、打开Android Studio后,本座掐指一算,会有个地方报错,照下图注释掉就可以了,反正我们也用不上它。
2、照下图新建Module,这个才是我们要操作和最终导出arr的地方。
一定要选择Android Library!
Package name一定要和Unity中的Package name保持一致!!
完成后结构如下图。
3、照下图新建MainActivity。
4、照旧把这行注释掉。
5、找到Unity的classes.jar,我的目录是:
D:\unity201703\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
复制到下图的目录下(切换到Project)。
6、右键classes.jar。
7、点击OK。
8、切换回Android,双击编辑MainActivity.java。
9、输入:import com.unity3d.player.UnityPlayerActivity;
把extends的AppCompatActivity改成UnityPlayerActivity
编写我们要调用的函数,最终如下图。
10、编辑AndroidManifest.xml,我把数据贴出来可直接复制,标红的地方更改成自己的包名即可。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.message"
android:versionCode="1"
android:versionName="1.0" >
<application
android:allowBackup="true"android:label="@string/app_name"
android:supportsRtl="true"
android:icon="@drawable/app_icon">
<activity android:name="com.test.message.MainActivity">
<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>
</application>
</manifest>
11、导出arr包,我的路径:项目路径\unitymessage\build\outputs\aar。
12、用解压缩工具打开arr包,删除libs中的classes.jar。
把大象装进冰箱的第三步:关上冰箱门
1、在unity中新建Plugins/Android文件夹
2、把上一步中导出的arr包和AndroidManifest.xml放到Android文件夹下,文件结构如下。
3、写测试代码。
4、把脚本拖到场景中,为脚本赋值,打包,完成。(Unity中的操作不多说)