当我用SM-G95000在我的手机上运行ARcore时,项目会崩溃。我的设备不支持 ARcore 吗?
4 回答
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
编辑: 如果您使用这种“被黑”的版本,您必须期待糟糕的跟踪性能,因为必须正确校准设备。
我在没有官方支持的三星 Galaxy S8+ SM-G955F 上运行 ARCore,所以我相信你也可以运行。
先决条件:
- 从设置中读取您的型号。就我而言,SM-G955F。
- 在 AndroidStudio 中打开 ARCore 示例项目,打开 HelloArActivity.java 并转到 onCreate 方法。
在此处添加日志。
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; }
运行此代码并读取指纹。就我而言,它包含
Dream2Ltexx/Dream2Lte
现在转到 ARCore 文件夹。
- 提取arcore-android-sdk-master/libraries/arcore_client.aar
- 转到提取的文件夹并提取 classes.jar
- 编辑 /com/google/atap/tangoservice/SupportedDevices.class 我在 GNU/Linux 系统中使用 MidnightCommander。编辑的快捷方式是 Shift+F3 然后 F4 然后找到与您的指纹相似的字符串。就我而言,它是“dreamltexx/dreamlte:7”。我将此字符串更改为“dream2ltexx/dream2lte”
- 使用“jar”工具压缩回 classes.jar 或使用“zip”并将扩展名更改为 .jar。
- 压缩所有arcore_client并将扩展名更改为.aar
- 替换 aar 库并在 AndroidStudio 中重建。
就我而言,它有效。快乐黑客!
不幸的是,这SM-G9500
是三星 Galaxy S8 机型之一,目前的 ARCore 开发者预览版不支持。当前仅支持此处列出的特定型号。
三星 Galaxy S8 (SM-G9500) 不受 ARCore 开发人员预览版的支持,但从 1.0 版开始支持(使用 1.0 将修复您的崩溃)您可以在此处查看最新支持的设备列表:https://developers .google.com/ar/discover/#supported_devices (现在甚至支持 Galaxy S7)