Metaio Android SDK:三星Galaxy S6崩溃

时间:2015-11-24 15:12:51

标签: android android-ndk 64-bit augmented-reality metaio

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

我遇到一个问题,即在三星Galaxy S6上运行时应用程序崩溃了。不幸的是,我没有任何logcat日志来解决这个问题。

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

今天有没有看过类似的东西?

2 个答案:

答案 0 :(得分:0)

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

在Android上安装APK时,系统会在APK的lib文件夹中查找本机库目录(armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips64,mips),按照Build.SUPPORTED_ABIS确定的顺序。

如果您的应用程序碰巧有一个arm64-v8a目录和其他libs,则不会安装32位metaio库,因为libs没有混合。这意味着您必须为每个体系结构提供完整的库集。

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

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

如果您收到与使用已弃用的NDK支持相关的错误,请将android.useDeprecatedNdk=true添加到项目根目录中名为 gradle.properties 的文件中。使用已弃用的集成并不会感觉不好,因为使用 abiFilters 仍然是从APK过滤掉64位库的最简洁方式。

答案 1 :(得分:0)

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