解决Android引用多个库的jni架构平台支持冲突的问题

今天在自己写Demo时, 引用了两个库: Realm 和高德地图.
接着时开开心心地码代码,顺利地编译apk.然后一运行挂了!!!
异常如下:java.lang.UnsatisfiedLinkError
查看了代码,找到了异常原因:
高德地图只有一个 armeabi 的so文件,而 Realm 带有全平台的so文件.运行时由于手机是 armeabi-v8a ,所以一运行就挂了!
怎么解决呢?本来想下载Realm的源码重新编译aar然后去除其他平台的so文件,但又在群里问了一下,找到了简单的方法.
解决办法
在module的build.gradle文件添加如下设置:

buildTypes {
release {
ndk {
abiFilters = [“armeabi”]
}
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’
}
debug {
ndk {
abiFilters = [“armeabi”]
}
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值