如何将Unity集成到Android活动中



这是我第一次使用Unity,我想将它集成到现有的Android应用程序中。

根据我所读到的内容,你需要将你的Android项目打包到一个jar文件中。既然你不能在jar中包含资源文件夹,我该如何处理我的应用程序的所有资源?该应用程序还使用ActionBarSherlock和ViewPagerIndicator库,它们也有自己的资源。

我基本上只需要一种方法,点击Android上的一个按钮,弹出一个包含Unity内容的活动。我希望该应用程序的其余部分是原生的Android代码。谢谢你的帮助!

我想明白了。我遵循了这些指示,但不断收到各种错误消息,包括ClassNotFound异常。

事实证明,ADT17处理.jar文件的方式打破了这种将Unity集成到Eclipse中的方法。经过数小时的搜索,以下是我想出的解决方案:

您不应该将classes.jar添加到构建路径中,而应该将classe.jar文件复制到项目的/lib目录中,一切都应该正常工作。

Hi以下是的步骤

  1. 使用android pro创建一个统一项目。

    1. 打开团结。转到Unity中的文件->构建设置,并为项目创建一个构建
    2. 转到您的项目位置/temp/
    3. 有一个名为"暂存区域"的文件夹
    4. 将此文件夹复制到其他位置。重命名此文件夹。例如测试统一性
    5. 现在转到eclipse,从现有代码中创建一个新项目。去测试团结并选择它。新项目就创建了
    6. 在项目上单击鼠标右键,然后选择属性
    7. 从左侧选项卡列表中选择android。检查右侧面板上的库。应用更改
    8. 现在在android名称中创建新项目来测试android
    9. 程序包名称必须与您在unity中使用的名称相同
    10. 右键单击项目。转到android并添加库。您将看到统一项目名称。选中它。unity项目被添加为测试android项目中的库
    11. 现在将assets文件夹从unity项目复制到eclipse中以测试android项目
    12. 同时将libs->armeabi-v7a复制到union中的libs文件夹中
    13. 现在转到unity安装目录。在我的例子中(C:\Program Files(x86)\unity\Editor\Data\PlaybackEngines\androiddevelopmentplayer\bin)。将classes.jar复制到测试android项目中的libs文件夹中。可选–。复制classes.jar后,如果你在测试android项目的android依赖项文件夹中看不到classes.jar,请转到测试android的构建并包含此jar文件
    14. 现在在测试android项目中打开main activity.class并粘贴此行

    导入com.unity3d.player.UnityPlayerActivity;

    1. 现在用UnityPlayerActivity替换"活动",如下所示

    公共类MainActivity扩展UnityPlayerActivity

    1. 注释行setContentview(R.layout.main)
    2. 现在运行您的应用程序

在某些场景中,使用本地平台技术(如Android/Java和iOS/Objective C)的开发人员希望在他们的应用程序/游戏中包含由Unity提供的功能(通常用于3D/2D实时渲染),如AR体验、与3D模型的交互、2D迷你游戏。

您现在可以将Unity提供的功能(从Unity 2019.3.a2开始)直接插入到您的本地移动应用程序。这些功能包括但不限于3D或2D实时渲染功能,例如增强现实、2D迷你游戏或3D模型。

您可以将Unity运行时组件和您的内容集成到原生平台项目。Unity运行库向管理何时以及如何在本机中加载/激活/卸载应用

预要求:

  • Android Studio 3.4.2+
  • Unity版本2019.3.0b4+

限制

虽然我们测试了Unity作为一个由本地应用程序托管的库的许多场景,但Unity不再控制运行时的生命周期,因此我们不能保证它在所有可能的用例中都能工作。

例如:

  • Unity作为一个库只支持全屏渲染,不支持在部分屏幕上渲染
  • 不支持加载多个Unity运行时实例
  • 您可能需要调整第三方插件(本机或托管)才能正常工作

它的工作原理

构建过程总体上仍然相同,Unity创建了iOS Xcode和Android Gradle项目,但为了启用此功能,我们更改了生成的iOS Xcode和Android Grade项目,它们现在具有以下结构:

  • 一个库部分(iOS框架和安卓档案(AAR)文件),包括所有源代码&插件
  • 包含应用程序表示数据并运行库的瘦启动器部分

将Unity集成为本机Android应用程序中的库逐步解释如何在需要时将Android库部分包含到本机应用程序中。

示例:Integration Unity作为本地Android应用中的库

将Unity集成为本地iOS应用程序中的库逐步解释如何在需要时将iOS库部分包含到本地应用程序中。

示例:Integration Unity作为本地iOS应用中的库

示例项目源代码

最新更新