2

当我用SM-G95000在我的手机上运行ARcore时,项目会崩溃。我的设备不支持 ARcore 吗?

4

4 回答 4

7

arcore-client尝试删除检查的修改版本: https ://github.com/tomthecarrot/arcore-for-all

在您的 Android 项目中,只需将 Google 提供的 arcore_client.aar 替换为此 repo 中的那个,瞧!任何 Android 设备上的 ARCore。

确保首先安装 ARCore 服务 - Google 说明中的“准备您的设备”部分 https://developers.google.com/ar/develop/java/getting-started

编辑: 如果您使用这种“被黑”的版本,您必须期待糟糕的跟踪性能,因为必须正确校准设备。

于 2017-08-31T13:08:59.730 回答
3

我在没有官方支持的三星 Galaxy S8+ SM-G955F 上运行 ARCore,所以我相信你也可以运行。

先决条件:

  1. 从设置中读取您的型号。就我而言,SM-G955F。
  2. 在 AndroidStudio 中打开 ARCore 示例项目,打开 HelloArActivity.java 并转到 onCreate 方法。
  3. 在此处添加日志。

    if (!mSession.isSupported(mDefaultConfig)) {
        Toast.makeText(this, "This device does not support AR", Toast.LENGTH_LONG).show();
        Log.d(TAG, "Fingerprint=" + Build.FINGERPRINT);
        finish();
        return;
    }
    
  4. 运行此代码并读取指纹。就我而言,它包含

    Dream2Ltexx/Dream2Lte

现在转到 ARCore 文件夹。

  1. 提取arcore-android-sdk-master/libraries/arcore_client.aar
  2. 转到提取的文件夹并提取 classes.jar
  3. 编辑 /com/google/atap/tangoservice/SupportedDevices.class 我在 GNU/Linux 系统中使用 MidnightCommander。编辑的快捷方式是 Shift+F3 然后 F4 然后找到与您的指纹相似的字符串。就我而言,它是“dreamltexx/dreamlte:7”。我将此字符串更改为“dream2ltexx/dream2lte”
  4. 使用“jar”工具压缩回 classes.jar 或使用“zip”并将扩展名更改为 .jar。
  5. 压缩所有arcore_client并将扩展名更改为.aar
  6. 替换 aar 库并在 AndroidStudio 中重建。

就我而言,它有效。快乐黑客!

于 2017-09-06T10:02:02.003 回答
1

不幸的是,这SM-G9500是三星 Galaxy S8 机型之一,目前的 ARCore 开发者预览版不支持。当前仅支持此处列出的特定型号。

于 2017-08-31T17:53:30.213 回答
0

三星 Galaxy S8 (SM-G9500) 不受 ARCore 开发人员预览版的支持,但从 1.0 版开始支持(使用 1.0 将修复您的崩溃)您可以在此处查看最新支持的设备列表:https://developers .google.com/ar/discover/#supported_devices (现在甚至支持 Galaxy S7)

于 2018-03-09T21:55:25.993 回答