Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将ARCore 1.1.0与NativeActivity一起使用,并与其他IDE一起构建(Visual Studio 2015/2017)_Android_Arcore_Native Activity - Fatal编程技术网

Android 将ARCore 1.1.0与NativeActivity一起使用,并与其他IDE一起构建(Visual Studio 2015/2017)

Android 将ARCore 1.1.0与NativeActivity一起使用,并与其他IDE一起构建(Visual Studio 2015/2017),android,arcore,native-activity,Android,Arcore,Native Activity,我仍在尝试在另一个IDE(Visual Studio)而不是Android Studio中使用ARCore作为本机Android应用程序。这就是为什么我需要“DIY”很多东西(比如在我的APK包中手动添加ARCore依赖项)。到目前为止,我取得了一些进展,但AR会话创建仍然失败 首先,它给我以下错误消息: System.err:java.lang.RuntimeException:应用程序清单必须 包含元数据com.google.ar.core.min_apk_version System.er

我仍在尝试在另一个IDE(Visual Studio)而不是Android Studio中使用ARCore作为本机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) 第三方/arcore/ar/core/android/sdk/session\u 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] 检查失败:表达式=““false”调用函数失败: ArSession_createImplementation,此函数版本:171127000为 高于请求的最小apk版本

我无法摆脱这个错误。有人知道原因吗?函数版本高于请求的min apk版本的含义是什么?

自己找到答案: 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将此元数据合并到最终应用程序的ANdroidManifest.xml中,但Visual studio不进行任何清单合并。因此,解决方案是手动将其添加到清单中。
ArcSession现在已成功创建。

我花了大约2天的时间使ArCore与Visual Studio一起工作(至少现在创建了AR会话)。我想与大家分享一下我在IDE(而非Android Studio)中如何“DIY”将ARCore添加到本地Android应用程序中的经验:

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

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

  • 通过DEX工具将ArcoreJava库(classes.jar)打包到应用程序的APK文件中

  • 通过以下方式在AndroidManifext.xml中为您的应用程序启用ARCore

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

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


    希望ArCore团队能够为在其他IDE中使用ArCore提供一些指导。

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