美文网首页
Unity 调用 Android

Unity 调用 Android

作者: 周末的游戏之旅 | 来源:发表于2019-07-30 00:04 被阅读0次

    最近接了一个小项目,大概是需要在Android里做人脸识别,然后将数据回传给Unity做计算。
    看了许多网上的文章,大多都是在Android Studio中导出jar包,放到unity里,然后在Unity里调用。我测试后发现抛异常,找不到jar包中的类。可能是我的方式有问题(如果有大佬知道怎么解决,请教我一下😂)


    正文

    步骤大致分为三步

    1. 在Unity中编辑脚本
    2. 在Unity导出 Android Studio 工程
    3. 在 Android Studio 中再次编辑

    一 在Unity中编辑

    1. 新建一个Unity工程,在相机上挂一个脚本 Test ,脚本内容如下
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Test : MonoBehaviour
    {
        string message = ""; // Android 回传消息
    
        /// <summary>
        /// 回传消息,供Android调用
        /// </summary>
        /// <param name="message"></param>
        public void GetMessage(string message)
        {
            this.message = message;
        }
    
        private void OnGUI()
        {
            try
            {
                var javaClass = new AndroidJavaClass("com.hello.world.MainActivity2");
                javaClass.CallStatic("test");//先试一试
                GUI.Label(new Rect(10, 10, 1080, 1920), message);
            }
            catch (System.Exception ex)
            {
                GUI.Label(new Rect(10, 10, 500, 500), ex.ToString());
            }
        }
    }
    

    关于 com.hello.world.MainActivity2 在下文中做出解释

    二 导出Android Studio 工程

    image.png

    三 在Android Studio中编辑

    1. 在Android Studio中打开工程,并新建一个 MainActivity2
      image.png

    注意:这里的类和第一步中C#脚本调用Android的类,包的路径应一致

    这里的包名是在Unity的Player Setting中设置的


    image.png
    1. 编辑 MainActivity2 类,内容如下
    package com.hello.world;
    import com.unity3d.player.UnityPlayer;
    
    public class MainActivity2 {
        public static void test() {
    //        System.out.println("调用成功~~~~~  Unity to As");
            UnityPlayer.UnitySendMessage("Main Camera","GetMessage","调用成功");
        }
    }
    

    注:这里是使用的UnitySendMessage方法,将消息回传到Unity中的。

    1. 在Android Studio中打包APK,测试效果如下


      image.png

    相关文章

      网友评论

          本文标题:Unity 调用 Android

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