Gradle native libraries not found on device but present in apk

冷暖自知 提交于 2019-11-28 01:20:33

You need to modify your build.gradle like this:

android {
    (...)
    splits {
        abi {
            enable true
            reset()
            include 'armeabi-v7a'
            universalApk false
        }
    }
    (...)
}

It's probably because Twilio SDK supports x86 and HERE SDK currently doesn't support it.

By defining a splits block you can tell Gradle to create APKs for each listed ABI:

include "armeabi", "armeabi-v7a", "x86", "mips"

Alternatively you can include all desired ABIs into one APK by adding the following filter:

android {
(...)
defaultConfig {
    (...)
    ndk {
        // allow only 32bit *.so libs
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }
}

}

Both approaches will exclude 64bit functionality that might clash with the 32bit HERE SDK, but the latter will support more devices with a single APK.

Some libraries, like the new Android Room Persistence library, add 32bit flavors along with the two 64bit ABI flavors arm64-v8a and x86_64. Since HERE SDK at the moment only provides a 32bit lib it should be safe to exclude 64bit lib variants. On the other hand it is expected that 64bit devices can gracefully handle 32bit libs.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!