通过Gradle解决android 引入so文件导致的程序崩溃问题
来源:未知 2017-03-21Android cpu不同需要引入的so版本也不尽相同,有的时候android 引入so文件时,会出现由于so库加载不到而程序崩溃的情况,今天华清小编就为大家讲解一下,android如何通过Gradle引入so文件,解决so库加载不到引发的程序崩溃问题。
今天集成百度地图api的时候同时项目里还有之前实现的一个模糊图像的功能, 由于百度地图提供了armeabi的so库,而模糊功能是依赖compile 'net.qiujuer.genius:blur:2.0.0-beta4'实现的,这个库里面包含了armeabi armeabi-v7a arm64-v8a 每个里面有libgenius_blur.so,然后问题来了。
这就导致在部分arm64的手机上百度地图的相关功能会加载不到so库,导致程序崩溃,那么如何该如何解决这个问题呢?
通过各方面测试,后找到了以下解决方案:
在app 的 build.gradle 下的defaultConfig 添加
ndk{
moduleName "libgenius_blur"
ldLibs "log"
abiFilters "armeabi"
}
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
通过以上的设置之后,程序完美运行,没有出现崩溃现象。
Copyright ©2004-2018 华清远见教育科技集团 版权所有
京ICP备16055225号,京公海网安备11010802025203号