【问题标题】:Using ARCore 1.1.0 with NativeActivity and building with other IDE (Visual Studio 2015/2017)将 ARCore 1.1.0 与 NativeActivity 一起使用并与其他 IDE 一起构建 (Visual Studio 2015/2017)
【发布时间】:2018-09-24 04:27:13
【问题描述】:

我仍在尝试将 ARCore 用于另一个 IDE (Visual Studio) 而不是 Android Studio 中的原生 Android 应用程序。这就是为什么我需要“DIY”一些东西(比如在我的 APK 包中手动添加 ARCore 依赖项)。到目前为止,我取得了一些进展,但 AR 会话创建仍然失败。

首先,它给了我以下错误信息:

System.err: java.lang.RuntimeException: 应用程序清单必须 包含元数据 com.google.ar.core.min_apk_version System.err: at com.google.ar.core.SessionCreateJniHelper.getMinApkVersion(SessionCreateJniHelper.java:62) third_party/arcore/ar/core/android/sdk/session_create.cc:调用 getMinApkVersion 失败。

我按照消息中给出的建议,在 AndroidManifest.xml 中添加了以下行:

<meta-data android:name="com.google.ar.core.min_apk_version" android:value="24"/>

这样做后,第一个错误解决了,但它给出了一个新的错误:

[blaze-out/android-armeabi-v7a-opt/genfiles/third_party/arcore/ar/core/android/arcore_c_shim_function_impls.inc:375] CHECK failed: expression='"false"' 调用函数失败: ArSession_createImplementation,这个函数版本:171127000是 高于要求的最低 apk 版本

我无法摆脱这个错误。有人知道它的原因吗?函数的版本高于请求的最低apk版本是什么意思?

【问题讨论】:

  • 离题 - 如果开发如此困难,您为什么要使用 Visual Studio 而不是 Android Studio?
  • 有时如果您已经在另一个 IDE 中完成了大规模代码,您可能会考虑节省迁移到新 IDE (Android Studio) 的时间。此外,使用 Visual Studio 可能会很困难,这就是我想试试运气的原因。现在它正在工作。

标签: android arcore native-activity


【解决方案1】:

自己找到答案: ArCore 1.1 要求以下元数据必须在应用的 AndroidManifest.xml 中。查看 ARCore 的 aar 包中的 AndroidManifest.xml。

<meta-data android:name="com.google.ar.core.min_apk_version" android:value="180226000" />

Android Studio 会将此元数据合并到最终应用的 AAndroidManifest.xml 中,但 Visual Studio 不会执行任何清单合并。因此解决方案是手动将其添加到清单中。 现在已成功创建 ARSession。

【讨论】:

    【解决方案2】:

    我花了大约 2 天的时间让 ArCore 与 Visual Studio 一起工作(现在至少创建了 AR 会话)。我想分享一下我如何“DIY”在 Android Studio 以外的 IDE 中的原生 Android 应用中添加 ARCore 的经验:

    1. 您需要从 maven 存储库下载 ARCore 1.1.0,搜索它然后单击“aar”链接,以便下载完整包。或者,您可以通过 Android Studio 构建示例应用程序“hello_ar_c”,然后在 gralde 缓存目录中找到 aar 包:“[user dir].gradle\caches\transforms-1\files-1.1\core-1.1.0.aar” .

    2. 设法将 ARCore 共享库 (libarcore_sdk_c.so) 打包到您应用的“/lib”下的 APK 文件中。

    3. 设法通过 DEX 工具将 ARCore java 库 (classes.jar) 打包到您应用的 APK 文件中。

    4. 通过关注ARCore guide,在 AndroidManifext.xml 中为您的应用启用 ARCore

    5. 在 AndroidManifest.xml 中手动添加元数据“min_apk_version”

    第 5 步是最棘手的部分,因为 ARCore 指南没有提到这一点,Android Studio 在合并清单后默默地添加它。

    希望 ArCore 团队可以提供一些使用 ARCore 与其他 IDE 的指南。

    【讨论】:

      猜你喜欢
      • 2017-07-30
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      相关资源
      最近更新 更多