android64位机子兼容32位.so库文件

原创 2015年11月21日 14:47:35

        猴子在调用高德地图的时候,遇到一个操作系统兼容问题,异常堆栈说是找不到so库文件,猴子就不懂了,明明有他说的那个文件。

        后来和同行交流,他们的jniLibs中有一个arm64-v8a的文件夹用来存放64位操作系统的so库文件,于是猴子自己建了一个arm64-v8a文件夹,因为高德并没有把64位的so库文件公布出来,所以,猴子直接把他们唯一的so库考到了arm64-v8a文件夹下。自以为这下就该好了,于是等待见证奇迹。奇迹果然发生了,爆出了那个so库是32位而非64位的异常。猴子果断蒙圈了。下载了高德的demo,看到她们的demo里面也只有armeabi这一个库文件夹。这让猴子感觉到,64位的操作系统可以兼容32位的库文件。于是多方查找资料。终于在一家英文网站上找到了答案。

       解决方案也很简单,在build.gradle中加上,这句话的意思大概就是,告诉程序加载如下的so文件


defaultConfig {
  ......

    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }


}

这时会报错,因为gradle的配置中,并不知道是否要做操作系统的兼容,这时只要在gradle.properties文件中加上

android.useDeprecatedNdk=true

就可以了。

运行,终于能奇迹般地运行起来了。




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android64位机器内置带有32位so库的应用报错

现象是: 在64位手机中内置带有32位so库的应用,提示so库找不到。在/system/lib下报错、在/system/lib64下依旧报错。正常运行没问题、 解决办法是: 把apk放到 /...

怎样在64位安卓系统中使用32位SO库

背景知识: 对于64位系统的编译规则,可参考:http://source.android.com/source/64-bit-builds.html 关键点:JAVA编译不分32bit和64bit...

如何在64位安卓系统中使用32位SO库

背景知识:对于64位系统的编译规则,可参考:http://source.android.com/source/64-bit-builds.html关键点:JAVA编译不分32bit和64bit(APK...

Android 如何判断CPU是32位还是64位

可以利用Android 的系统 property (android.os.SystemProperties) 来判断CPU是32位还是64位: public static String ge...

android JNI生成.so文件(arm64-v8a等)配置

开发中出现找不到.so不对的Bug,原因是测试机是64位的,而arm64-v8a中的.so是32位的。 配置生成arm64-v8a的.so文件: 在jni/Application.mk中写入:AP...

我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题

Android 设备的CPU类型通常称为ABIs 问题描述 解决方法 1解决之前的截图 2解决后的截图 3解决方法 4建议 为什么你需要重点关注so文件 App中可能出错的地方 其他地方也可能出错 使...

Android Studio上打的包在arm64位机器上找不到对应的so库

现象描述 Android Studio打出来的包在64位机器上报以下 java.lang.UnsatisfiedLinkError: dlopen failed: “libfoobar.so”我们...

Android 打造编译时注解解析框架 这只是一个开始

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43452969 ,本文出自:【张鸿洋的博客】1、概述记得很久以前,写过几篇博客,容...

.so兼容32位和64位

安卓的兼容性是一个很令人头疼的问题,这几天又遇到了,还好还是解决了。 我遇到的问题是,我在网上下载了一个功能库,里面带了一个xxx.so动态库,问题它是32位的。但是,早两天拿了一台arm-64位的手...
  • fwt336
  • fwt336
  • 2016-06-17 15:50
  • 2189

android studio正确加载so文件及出现的问题(32位,64位文件的正确使用)

android studio正确加载so文件及出现的问题(32位,64位文件的正确使用)android studio 1.5及以上版本为例,加载的两种方式: 在主项目libs文件加载 android{...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)