unity android 控制器,Unity 调用 Android

最近接了一个小项目,大概是需要在Android里做人脸识别,然后将数据回传给Unity做计算。

看了许多网上的文章,大多都是在Android Studio中导出jar包,放到unity里,然后在Unity里调用。我测试后发现抛异常,找不到jar包中的类。可能是我的方式有问题(如果有大佬知道怎么解决,请教我一下😂)

正文

步骤大致分为三步

在Unity中编辑脚本

在Unity导出 Android Studio 工程

在 Android Studio 中再次编辑

一 在Unity中编辑

新建一个Unity工程,在相机上挂一个脚本 Test ,脚本内容如下

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Test : MonoBehaviour

{

string message = ""; // Android 回传消息

///

/// 回传消息,供Android调用

///

///

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 工程

91cc15657355

image.png

三 在Android Studio中编辑

在Android Studio中打开工程,并新建一个 MainActivity2 类

91cc15657355

image.png

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

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

91cc15657355

image.png

编辑 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中的。

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

91cc15657355

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值