使用了realm 后包变大了的解决方法, 和64位库问题。

官方提供的办法:

大部分情况下,在您 release 版本的 apk 文件里,Realm 只占用 800KB 空间。我们发布的版本支持的处理器架构包括 ARM7、ARMv7、ARM64、x86、MIPS。所以发布的库文件本身看起来会稍微大一些。但安卓系统在安装 apk 时只会安装针对该设备处理器架构的原生库,安装后占用空间会比 apk 文件本身还要小一些。

你可以通过将 APK 针对不同平台分离打包以减少其大小。 添加如下代码到 build.gradle

splits {
    abi {
        enable true
        reset()
        include 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'x86', 'x86_64'
    }
}

根据你设置的每个 ABI,会生成一个独立 APK 文件。

解决64位库找不到的办法。

如果你的 app 还包含其它原生库,并且它们没有提供对 arm64 平台的支持,arm64 的安卓设备在加载 Realm 的 librealm-jni.so 时可能会失败。这是因为安卓无法同时加载32位和64位的原生库。最佳解决方案是为所有原生库提供 arm64 版本。但在你使用第三方闭源库的时候这不太好实现。参考 VLC and Realm Library conflicts。

一个解决方案是在编译期通过配置 gradle 将 Realm 的 arm64 库排除在外:

android {
    //...
    packagingOptions {
        exclude "lib/arm64-v8a/librealm-jni.so"
    }
    //...
}
都是官方解决方案。原文地址:https://realm.io/cn/docs/java/latest/#android-

你可能感兴趣的:(使用了realm 后包变大了的解决方法, 和64位库问题。)