android64位机子兼容32位.so库文件
http://blog.csdn.net/vhawk/article/details/49964475
猴子在调用高德地图的时候,遇到一个操作系统兼容问题,异常堆栈说是找不到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库文件的更多相关文章
- ubuntu  64位设置兼容32位  for ADB 命令无法运行
		
在虚拟机上Ubuntu系统里安装ADT开发工具,配置好环境后导入Android工程报错: 找不到Adb命令: ubuntu 12.04 64位设置兼容32位的实现REF:http://www.2cto ...
 - ubuntu 12.04 64位设置兼容32位的实现
		
在ubuntu12.04上,要运行32的程序,需要安装32位的兼容库. 以前在10.04上成功安装过,方法是 sudo apt-get install ia32-libs 但是在12.04上遇到了困难 ...
 - 64位ubuntu 兼容32位
		
http://www.cnblogs.com/mliudong/p/4086797.html 首先要打开64位系统对32位的支持 第一步:确认64为架构的内核 dpkg --print-archite ...
 - 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
		
由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...
 - 64位gcc编译32位汇编
		
由于使用as和ld来编译链接汇编程序,在使用C库的时候比较麻烦,需要输入比较多的指令,所以使用gcc进行编译链接.由于书中内容是32位汇编程序,但是机器使用的是64位操作系统,自带的gcc也是64位的 ...
 - C++内存管理1-64位系统运行32位软件会占用更多的内存吗?
		
随着大容量内存成为电脑平台常规化的配置,在配置组装机时很多的用户都会选择8GB甚至是16GB的容量规格内存使用在自己的机器上,如果要将这8GB甚至是16GB的内容在系统使用时能充分利用起来的话,你平台 ...
 - 64位主机64位oracle下装32位客户端ODAC(NFPACS版)
		
64位主机64位oracle下装32位客户端ODAC(NFPACS版) by dd 1.下载Oracle Data Access Components(ODAC) Xcopy的两个版本: x86:(我 ...
 - 怎样打开64位 Ubuntu 的32位支持功能?
		
转自:http://jingyan.baidu.com/article/7082dc1c539c15e40a89bd3e.html 大多数使用基于 Ubuntu/Debian 的发行版的人都更倾向于选 ...
 - 64位ubuntu安装32位jdk
		
转自:http://blog.csdn.net/anladeyatou/article/details/8213334 ubuntu-11.10-desktop-amd64 jdk-6u23-linu ...
 
随机推荐
- C++中不常用关键字
			
mutable关键字 关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员.我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会 ...
 - Spring中注解事务方面的问题
			
我们可以在spring的配置文件beans.xml中对事务进行注解配置,这样在相应的类中就不用对事务进行管事,对于某个类,想单独交给spring来管理,那么就在相应的类上加入@Transactiona ...
 - IOC运用到MVC中
			
IOC可以摒弃掉类中类的紧耦合,让设计和重用更简单,将IOC加入到MVC中的实现非常简单,那么有哪几种方法?它们的实现又是什么原理呢? IOC在MVC中的注入,主要是在获取Controller对象中实 ...
 - Oracle DataGuard搭建(一)
			
第一次搭建oracle dataguard.学oracle很长时间,却没有完整的搭过dg,说起来让人笑.总得有第一次,而且第一次总是很痛苦的. 数据库版本: Oracle Database 11g E ...
 - IPv6 sokcet 编程
			
IPv6的数据包包头与IPv4的数据包头不一样,所以在IPv6下的socket编程用到的某些结构体和地址转换函数也与IPv4下的socket编程不一样.涉及的结构体有:IPv4中使用sockaddr/ ...
 - zookeeper的C#Client
			
最近在搭一套soa, 服务使用java/scala 的finagle 协议使用thrift 然后 finagle默认服务端会是使用zookeeper作为节点存储.. 所以想要访问具体服务,需要先通过 ...
 - BZOJ 1051: [HAOI2006]受欢迎的牛 缩点
			
1051: [HAOI2006]受欢迎的牛 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...
 - Codeforces Round #277 (Div. 2) A. Calculating Function 水题
			
A. Calculating Function Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/4 ...
 - HDU-3790-最短路径
			
题目要求先选最短的道路,如果没有最短路可选,即几条道路都相等,再考花费.用Dijkstra更快一些.在选出最短边的同时加上对应的花费就可以了.详细请看代码: #include<iostream& ...
 - UNIX标准化及实现之限制
			
前言 UNIX系统实现定义了很多幻数和常量,其中有很多已被硬编码(关于硬编码和软编码:http://www.cnblogs.com/chenkai/archive/2009/04/10/1432903 ...