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 文件。
我猜这可能就是导致问题的原因。
有解决办法吗?其他则使用旧库?
- 我测试的英特尔设备:三星 Tab 3 10.1、华硕 Zenfone 5
我找到了解决方案。
在 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 设备没有有陀螺仪传感器:)
当我在基于 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 文件。
我猜这可能就是导致问题的原因。
有解决办法吗?其他则使用旧库?
- 我测试的英特尔设备:三星 Tab 3 10.1、华硕 Zenfone 5
我找到了解决方案。
在 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 设备没有有陀螺仪传感器:)