Cardboard 库无法在基于英特尔的设备上加载

Cardboard library doesn't load on intel-based devices

当我在基于 Intel(x86) 的设备上加载 cardboard.jar + libprotobuf-java-2.6-nano.jar(版本 0.5.6)时,我得到一个 java.lang.UnsatisfiedLinkError:无法从加载器加载 vrtoolkit dalvik.system.PathClassLoader 这会导致:InflateException 错误(无法加载 xml)。

如果我切换到旧库,cardboard.jar + libprotobuf-java-2.3-nano.jar
然后,基于 Intel 的设备工作。

V.0.5.6

旧版本

似乎 v.0.5.6(最新)有 lib.armeabi-v7a 但没有通用 lib.armeabi 或 lib.x86 SO 文件。

我猜这可能就是导致问题的原因。

有解决办法吗?其他则使用旧库?

我找到了解决方案。

在 build.gradle 文件上,添加过滤器仅包括 "armeabi-v7a" & "armeabi" so 文件。

buildTypes {
    release {
        ndk {
            abiFilters "armeabi-v7a", "armeabi" // includes ARM SO files only, so no x86 SO file
        }
    }
    debug {
        ndk {
            abiFilters "armeabi-v7a", "armeabi" // includes ARM SO files only, so no x86 SO file
        }
    }
}

我检查了 Note 5、S6 是否正常工作(64 位)并检查了 Intel 设备是否正常工作。

在 Intel 设备上,使用陀螺仪环顾 360 度场景不起作用,但这是另一个问题。 [编辑]:原来我测试的 Intel 设备没有有陀螺仪传感器:)