【问题标题】:Embedded Unity within my App在我的应用程序中嵌入 Unity
【发布时间】:2017-11-21 15:21:27
【问题描述】:

我正在尝试在 Unity 中构建一个 AR 项目并将其用作我的原生 android 应用程序中的库。 我使用这篇文章作为指导: https://medium.com/@davidbeloosesky/embedded-unity-within-android-app-7061f4f473a

我已成功将项目导入 Android Studio,但 settings.gradle 文件丢失

虽然我可以从工作室运行项目,但当我将其转换为库并在我的原生 Android 应用程序中使用它的 aar 文件时 - 我无法构建项目。

有人成功了吗?

【问题讨论】:

  • 非常有趣。你有任何进展吗?
  • 我按照该指南使用 UnityPlayerActivity 将 Unity 项目嵌入到 Android 本机中,并且它起作用了。 Altough Camera is not working on Android build... 有同样问题的人吗?您是从生成的包中导入 UnityPlayerActivity 而不是默认包吗?

标签: android unity3d android-library arcore


【解决方案1】:

我遵循了指导方针,结果成功了。我将.aar 文件放在本机应用程序库文件下方。在应用程序build.gradle,在依赖项下添加:

implementation(name:"AndroidPluginDemo",ext:"aar") 

并在android下添加

repositories {
        flatDir {
            dirs 'libs' //this way we can find the .aar file in libs folder
        }
}

【讨论】:

  • 你用相机测试过吗?在我的 Unity 画布上,我添加了一个 SnackBar 和一个 Button,它们正在构建 Android,但我没有从相机中获得图像。..
  • 你能在你的活动中找到 UnityPlayerActivity 吗?我也遵循了上述指南并成功同步了 gradle,但无法在我的项目中调用 UnityPlayer 类。请帮忙,我被困在这两天了。
【解决方案2】:

只是添加到上面询问相机无法正常工作的答案,对我来说,问题是当我将该库导入我的 android 应用程序时,未找到统一应用程序中的一个类。

当您将应用程序转换为库项目时,请记下依赖项的 build.gradle。

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation(name: 'vlsdk', ext:'aar')

}

在我的情况下,我必须找到被引用的“vlsdk.aar”文件,并将其作为新模块(如本教程的第 6 步中所做的那样)导入我的原生 android 应用程序。希望这会有所帮助。

【讨论】:

    【解决方案3】:

    我知道这已经很老了,我希望你找到了解决方案。但对于其他面临此问题的人。

    将在统一导出项目的 libs 文件夹中找到的“.aar”库作为依赖项添加到 build.gradle 文件中(它们还需要物理存在于本机项目的 libs 文件夹中)。 在我的情况下,当我从导出的项目构建 .aar 库时,它没有添加依赖项(统一导出的项目在 libs 文件夹中也有依赖项)。我只排除了“unity-classes.jar”文件,因为我的统一代码已经在我创建的“.aar”中。

    查看以下链接

    https://medium.com/@randive.rishiraj/7-steps-to-integrate-google-arcore-unity-project-to-a-native-android-app-d85793ba0b37

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      要在本机应用程序中实现 Unity 功能,我们需要将 Unity Project 更改为一个库,然后集成到我们的本机应用程序中。 从 2019.3.a2 版本开始,Unity 引入了一项新功能 Unity 作为 Android 和 Ios 原生应用中的库。

      步骤:

      1.将 Unity 项目导出为库 (Android)

      2。在原生 Android 项目中添加 Unity 库模块

      3.在 Android Activity 中显示 Unity 视图

      以前,导出的 Unity 项目将只有一个 gradle 模块和一个清单文件。 但现在 Structure 已更改为两个 gradle 模块。

      1.启动器

      2.unityLibrary

      launcher 和 unityLibrary 模块都有自己的 build.gradle 和 manifest 文件。

      unityLibrary - 模块将具有 Unity 运行时和项目数据,它可以轻松集成到任何其他 gradle 项目中。我会帮你的 将 Unity 集成到我们的原生 android 项目中。

      launcher - 模块将包含所有图标和应用程序名称。

      但我们只想在我们的原生 android 项目中使用 unityLibrary 模块作为库。

      此博客有助于在您的原生 android 应用中实现统一视图。

      https://navinkumar0118.medium.com/show-unity-view-inside-native-android-app-8035b9b6895a

      【讨论】:

        猜你喜欢
        • 2017-10-06
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        • 2013-06-15
        • 2017-10-12
        • 2018-05-03
        • 2014-09-28
        • 2017-05-20
        相关资源
        最近更新 更多