ReactNative兼容64位Android手机

首先来说,这个问题困扰我很久了,如果直接init的project的话,也不能在64位Android手机上运行,会提示

"/data/data/com.hfox.lovesquare/lib-main/libgnustl_shared.so" is 32-bit instead of 64-bit  这个错误


后来多方查询未果,打算放弃,然后同事帮给我指点迷津,解决了


解决方法就是取消掉所有的64位的.so文件,全部加载32位的就可以了,下面是步骤


1.在项目的根目录的 gradle.properties 里面添加一行代码  android.useDeprecatedNdk=true.

2.在 build.gradle 文件里添加以下代码

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

        packagingOptions {
            exclude "lib/arm64-v8a/librealm-jni.so"
        }
    }
}


感谢来自https://corbt.com/posts/2015/09/18/mixing-32-and-64bit-dependencies-in-android.html  的内容


感谢同事





你可能感兴趣的:(android,reactnative)