这是我第一次使用Unity,我想将它集成到现有的Android应用程序中。
根据我所读到的内容,你需要将你的Android项目打包到一个jar文件中。既然你不能在jar中包含资源文件夹,我该如何处理我的应用程序的所有资源?该应用程序还使用ActionBarSherlock和ViewPagerIndicator库,它们也有自己的资源。
我基本上只需要一种方法,点击Android上的一个按钮,弹出一个包含Unity内容的活动。我希望该应用程序的其余部分是原生的Android代码。谢谢你的帮助!
我想明白了。我遵循了这些指示,但不断收到各种错误消息,包括ClassNotFound异常。
事实证明,ADT17处理.jar文件的方式打破了这种将Unity集成到Eclipse中的方法。经过数小时的搜索,以下是我想出的解决方案:
您不应该将classes.jar添加到构建路径中,而应该将classe.jar文件复制到项目的/lib
目录中,一切都应该正常工作。
Hi以下是的步骤
-
使用android pro创建一个统一项目。
- 打开团结。转到Unity中的文件->构建设置,并为项目创建一个构建
- 转到您的项目位置/temp/
- 有一个名为"暂存区域"的文件夹
- 将此文件夹复制到其他位置。重命名此文件夹。例如测试统一性
- 现在转到eclipse,从现有代码中创建一个新项目。去测试团结并选择它。新项目就创建了
- 在项目上单击鼠标右键,然后选择属性
- 从左侧选项卡列表中选择android。检查右侧面板上的库。应用更改
- 现在在android名称中创建新项目来测试android
- 程序包名称必须与您在unity中使用的名称相同
- 右键单击项目。转到android并添加库。您将看到统一项目名称。选中它。unity项目被添加为测试android项目中的库
- 现在将assets文件夹从unity项目复制到eclipse中以测试android项目
- 同时将libs->armeabi-v7a复制到union中的libs文件夹中
- 现在转到unity安装目录。在我的例子中(C:\Program Files(x86)\unity\Editor\Data\PlaybackEngines\androiddevelopmentplayer\bin)。将classes.jar复制到测试android项目中的libs文件夹中。可选–。复制classes.jar后,如果你在测试android项目的android依赖项文件夹中看不到classes.jar,请转到测试android的构建并包含此jar文件
- 现在在测试android项目中打开main activity.class并粘贴此行
导入com.unity3d.player.UnityPlayerActivity;
- 现在用UnityPlayerActivity替换"活动",如下所示
公共类MainActivity扩展UnityPlayerActivity
- 注释行setContentview(R.layout.main)
- 现在运行您的应用程序
在某些场景中,使用本地平台技术(如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应用中的库
示例项目源代码