美文网首页
Android Studio 和 Unity2019.3.0 的

Android Studio 和 Unity2019.3.0 的

作者: 她声音清澈丶 | 来源:发表于2020-06-10 15:13 被阅读0次


Unity版本:2019.3.0
Android Studio版本:3.3.2

参考帖子:最新-手把手教Unity2017.3 Android Studio3.0.1 SDK接入教程含jdk和sdk环境配置
                  Androidstudio3.1和unity互相调用
                  Unity 与 Android studio 如何交互

首先新建一个Android Studio的工程 选择Empty Activity 

设置包名项目位置和API最低等级

创建好的界面是这样的

切换到Project 然后 File-New-NewModule 新建一个Module

弹出的界面 选择Android Library  然后填写Module 的名称

创建好后,在项目中就可以看到你创建Moudle了  把Unity 的jar包放到libs下,然后右击它选择 Add As Library 添加引用

切换到Android 选择你刚刚新建的下 java - com.demo.unitylibrary  然后新建一个Activity

这里勾选Launcher Activity 会生成一个xml文件

删除这个用不到的文件

删除  setContentView(R.layout.activity_main);   继承 UnityPlayerActivity  修改后

新建两个方法 用于测试
注意: UnityPlayer.UnitySendMessage方法 的第一个参数是你Unity中挂载脚本预制体的名字

完毕后 选择项目然后Build - Make Module ‘ unitylibrary’  

build后  切换到Project  在build-intermediates下 看到三个文件,这三个文件夹下装载这Unity需要的jar包和xml文件

将这些文件拷贝到unity 的Android文件夹下

Unity中调用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AndroidPlugin : MonoBehaviour
{
        public Text text01;
        public Text text02;
        private AndroidJavaObject androidJavaObject= null;
        private void Awake()
        { 
                 AndroidJavaClass androidClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
                 androidJavaObject = androidClass.GetStatic<AndroidJavaObject>("currentActivity");
                 if (androidJavaObject != null)
                 {
                        androidJavaObject.Call("UnityTest01", "测试文本");
                        int temp = androidJavaObject.Call<int>("UnityTest02",1,2);
                        text02.text = temp.ToString();
                  }
        }

         public void Test(string str)
         {
                text01.text = str;
         }
}

这样就完成了

不多说了,祝大家新年快乐

相关文章

网友评论

      本文标题:Android Studio 和 Unity2019.3.0 的

      本文链接:https://www.haomeiwen.com/subject/xxguohtx.html