安卓与Unity交互之-Android Studio创建Module库模块教程

安卓开发工具创建Module库


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)



Chinar —— 心分享、心创新!

助力快速创建安卓 Module 库模块

为新手节省宝贵的时间,避免采坑!


全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Create Project —— 创建安卓项目


贴心的 Chinar 提醒:尚未安装与不知道怎么安装 Android Studio 的请点击↓↓

Android Studio的安装、配置 !


直接上一个 GIF 图片,便于理解

如果完全不知道 Android Studio 怎么创建项目,请跟着做!

举个栗子黑白88
这里写图片描述


2

layout Info —— 布局信息


简述一下布局信息,不需要完全理解
举个栗子黑白88
这里写图片描述这里写图片描述
这里写图片描述


3

Create Module —— 新建一个模块


这个过程其实非常简单,但是对于没有接触过的朋友来讲,步骤还是有些难记的!

自己做3次以上,基本就记住了!


项目创建后,就不要管它了,我们不需要对项目进行操作。

1. 新建一个模块
举个栗子黑白88
这里写图片描述
这里写图片描述

2. 然后,发现文件夹为空。需要继续右键空文件夹,创建一个 主场景
举个栗子黑白88
这里写图片描述
这里写图片描述


3. 创建空 Activity

删除掉多出的一个布局文件,即可
举个栗子黑白88
这里写图片描述


4

Improt Unity Jar —— Unity的Jar包导入到安卓库中


注意:

对于新人来讲,这个目录文件有点深,可能有点难找,多找几次!

或者存下我的博客,不然下次很可能忘了在哪…..

这个 Unity中的 classes.jar 包很重要,相当于 安卓 与 Unity 的一个桥梁

Unity 做好的一个插件,用以和安卓交互,必要用到 jar



找到你自己的 Unity 安装目录,默认是在C盘的 Program Files

然后 1. 找到 Unity中的 classes.jar
举个栗子黑白88
这里写图片描述
这里写图片描述


2. 先放着这个jar包

Android Studio 这边,切换到 Project 视图,找到 libs 目录
举个栗子黑白88
这里写图片描述


3. 导入classes.jar 包到 Android Studio 工程中

直接复制、粘贴,然后添加到库

并且右键, Add as Library 添加到库
举个栗子黑白88
这里写图片描述


4

Change AndroidMainifest —— 更改库中的清单文件


由于我们创建的库中的 AndroidMainifest 里边什么都没

所以我们需要自己手动添加上相应的信息,来对库进行一种说明

这就是 Mainifest 存在的意义,还可以配置一些权限


我们可以偷懒:

app 中的 AndroidMainifest 文件是完整的,我们可以直接赋值里边的数据,并稍作修改

在这里边添加一段代码标示:表明 我们创建的这个库是给 Unity 用的

这是固定写法↓↓

<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>

举个栗子黑白88
这里写图片描述
这里写图片描述<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>

至此:Module / 库创建完成


5

Extend —— 扩展,你可能需要


至此,所有的准备工作都已经做完!

Activity 中写代码,并选择你需要的导出方式,即可完成与 Unity 的交互

教程如下,请对号入座↓↓
举个栗子黑白88
1 —— Unity 3D与安卓交互之——导出 jar 包


支持

May Be —— 搞开发,总有一天要做的事!


拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!


先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


1 —— 云服务器超全购买流程 (新手必备!)

2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

3—— Windows 服务器配置、运行、建站一条龙 !

4 —— Linux 服务器配置、运行、建站一条龙 !




<script type="math/tex" id="MathJax-Element-1"> </script>
Chinar


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: AndroidUnity之间的交互可以实现在Unity运行时,调用Android原生代码来实现一些功能。在Android端可以使用 Android Java API 调用 Unity 的代码。而在Unity端,可以使用 C# 代码来调用 Android 的 Java API。这种双向调用可以实现一些比较复杂的跨平台应用,例如在Unity中展示Android硬件设备的信息或者调用相机、传感器等硬件设备来实现某些功能。 例如,在Android端上获取某个传感器的数据,然后传到Unity中,就可以借助Java Native Interface(JNI)来实现。具体实现方式如下: 1. Android端: * 创建一个Native方法,在其中读取传感器数据; * 创建一个Java类,将该Native方法和Unity相关的方法绑定; * 在Unity中调用Java类中的方法,以获取传感器数据。 2. Unity端: * 在C#代码中,调用Android的Java API,以实现数据传输; * 实现Unity的渲染逻辑,以展示从Android端传输过来的数据。 需要注意的是,为了确保代码的正确性和稳定性,一定要在调用之前做好详细的测试工作。 ### 回答2: AndroidUnity是两个流行的软件开发平台,它们都具有广泛的应用。将它们结合起来,可以为应用开发者带来无限的可能性。 在androidunity交互过程中,最主要的问题是如何将android中的数据传递到unity中。这主要分为两种情况:一种是在Unity中使用安卓API(Java代码),另一种是安卓使用Unity中的可编程元素(C#代码)。 在第一种情况下,可以使用Unity的Java接口来实现,编写类似于以下的Java代码: ``` UnityPlayer.UnitySendMessage("GameObjectName", "MethodName", "Message"); ``` 其中,UnitySendMessage方法将消息发送给Unity中的一个GameObject,它接受两个参数,分别是接受消息的对象名和它上面的方法名。 在第二种情况下,可以使用Unity的C#接口来实现。我们可以使用Unity中的SendMessage或BroadcastMessage方法来向Unity对象发送消息(这些对象必须具有MonoBehaviour脚本,否则将不会工作)。 在Android中使用Unity对象也同样简单。我们需要做的就是在Android项目中添加UnityPlayerActivity类,在此类中使用UnityPlayer类的相关方法调用Unity导出的API。 综上所述,将安卓Unity结合起来,可以极大地扩展应用的功能性,并为用户提供更好的体验。通过上述方法可以轻松实现androidunity交互。 ### 回答3: AndroidUnity交互是现在游戏开发中非常常见的一种技术,Android作为手机操作系统的代表,提供了丰富多彩的开发接口,而Unity作为一款游戏引擎,具有着强大的游戏制作功能。两者合作可以大大提高游戏的交互性和玩法。下面我们来分别了解一下AndroidUnity之间的交互方式。 首先是从AndroidUnity交互。由于Android系统是Java语言开发的,而Unity则是C#开发的,所以两者之间实现交互还需要一些中间的桥梁。目前比较常用的方式是通过JNI接口,将Java层面的信息传递到C#层面的Unity中。在Java中,你需要先获取UnityPlayer的实例,然后就可以通过UnityPlayer的方法来调用C#端的函数。具体流程如下: 1. 在Unity中编写对应的C#函数,该函数必须使用静态修饰符(static)。例如: public static void UnityMethod(string str){ Debug.Log("接收到的数据为:" + str); } 2. 在Java中,使用JNI接口调用C#函数。例如: // 获取UnityPlayer实例 UnityPlayer player = new UnityPlayer(); // 调用C#函数 player.UnitySendMessage("GameObject名字", "函数名字", "传递的参数"); UnitySendMessage方法中,第一个参数表示的是GameObject的名字,第二个参数表示的是C#函数的名字,第三个参数就是传递的参数。 其次是从UnityAndroid交互。在Unity中,通过AndroidJavaClass和AndroidJavaObject等API,可以实现调用Java层面的方法。具体流程如下: 1. 在Java中,编写需要调用的方法,这里的方法必须是public静态的。例如: public static void showAndroidToast(String msg){ Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } 2. 在Unity中,使用AndroidJavaClass和AndroidJavaObject等API来调用Java方法。例如: // 设置Context AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"); // 调用Java方法 AndroidJavaClass cls = new AndroidJavaClass("com.example.androidTest.MainActivity"); cls.CallStatic("showAndroidToast", currentActivity, "传递的参数"); CallStatic方法中,第一个参数表示要调用的Java层面类的名称,第二个参数表示要调用的Java方法名称,接下来的参数就是要传递的参数。 综上所述,通过JNI和AndroidJavaClass等API,AndroidUnity之间可以很方便地进行交互,相互传递数据和调用各自的方法。这样就能够更好地完成游戏逻辑和UI界面的制作。同时,这种交互方式也为跨平台的开发提供了很好的经验和方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值