Metaio Android SDK:在 Samsung Galaxy S6 上崩溃

Metaio Android SDK: crash on Samsung Galaxy S6

我有一个应用程序使用 Metaio SDK 来显示一些增强现实的东西。

我遇到一个问题,当 运行 应用程序在 Samsung Galaxy S6 上崩溃时。不幸的是,我没有关于该问题的任何 logcat 日志。

我发现这个 link http://helpdesk.metaio.com/questions/46459/android-sdk-arm64-support/46479.html 谈论类似的问题,它与三星 S6 上的 64 位 CPU 有关,但我不确定这是否是我的问题的原因。

有没有人以前见过类似的东西?

很有可能与您的问题有关。

当您在 Android 上安装 APK 时,系统将在lib APK 文件夹,顺序由 Build.SUPPORTED_ABIS 决定。

如果您的应用碰巧有一个包含其他库的 arm64-v8a 目录,则不会安装 32 位 metaio 库,因为这些库没有混合。这意味着您必须为每种架构提供全套库。

因此,要解决您的问题,您可以从构建中删除 64 位库,或将 abiFilters 设置为仅打包 32 位架构:

android {
    ....
    defaultConfig {
        ....
        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
    }
}

如果您收到与使用已弃用的 NDK 支持相关的错误,请将 android.useDeprecatedNdk=true 添加到您的根目录下名为 gradle.properties 的文件中项目。不要因为使用已弃用的集成而感到难过,因为使用 abiFilters 仍然是 atm 从 APK 中过滤掉 64 位库的最干净的方法。

我知道这是一个老问题,Metaio 已经不存在了,但解决方案是将 Metaio SDK 升级到当时最新的可用版本。