Android 插件 101 - 简介
通过这个系列,我广泛使用外部链接,我鼓励你阅读。虽然这里将包含相关内容的释义版本,但有时候附加阅读会有所帮助。
从 Android 插件开始
目前,Unity 提供了两种调用原生 Android 代码的方法。
- 用 Java 编写原生 Android 代码,并使用 C#调用这些 Java 函数
- 编写 C#代码直接调用属于 Android OS 的函数
为了与本机代码交互,Unity 提供了一些类和函数。
- AndroidJavaObject - 这是 Unity 提供的与本机代码交互的基类。几乎从本机代码返回的任何对象都可以存储为 AndroidJavaObject
- AndroidJavaClass - 从 AndroidJavaObject 继承。这用于引用本机代码中的类
- 获取 / 设置本机对象实例的值以及静态 GetStatic / SetStatic版本
- Call / CallStatic 调用本机非静态和静态函数
概述创建插件和术语
- 在 Android Studio 中编写本机 Java 代码
- 导出 JAR / AAR 文件中的代码(此处为 JAR 文件和 AAR 文件的步骤 )
- 将 JAR / AAR 文件复制到 Assets / Plugins / Android 的 Unity 项目中 ****
- 在 Unity 中编写代码(C#一直是这里的方法)来调用插件中的函数
请注意,前三个步骤仅适用于你希望拥有本机插件的情况!
从现在开始,我将 JAR / AAR 文件称为本机插件,将 C#脚本称为 C#包装器
在插件创建方法之间进行选择
很明显,第一种创建插件的方法是长期绘制的,所以选择你的路线似乎没有实际意义。但是,方法 1 是调用自定义代码的唯一方法。那么,人们如何选择?
简单地说,你的插件
- 涉及自定义代码 - 选择方法 1
- 只调用原生 Android 功能? - 选择方法 2
请不要试图混合(即插件的一部分使用方法 1,另一部分使用方法 2)这两种方法! 虽然完全可能,但管理通常是不切实际和痛苦的。