我的电脑cpu是intel atom,格式是 x86.而我最近用eclipse adt编写一个android apk,需要用到一个第三方的so文件。这个文件是被要求引进项目目录的 libs/armeabi 问价里的。
当我引进这个so到armeabi之后,eclipse报错如下:
Invalid ZIP archive: libs/x86/libeasemob_jni.so [in ChatUIDemo]
ChatUIDemo是我的项目名称
libeasemob_jni.so是我所引进的so文件。
网上说让我去掉这个so文件所在的path,或干脆就不要引进。但问题是我就是需要这个so文件啊。很多包,类,和方法都在里面啊。
据我所指,so文件是我们用C或C++ 编写可用于java的类库时生成的,用于告诉编译器如何该文件所指定的类库(类,方法等)的文件。(有点拗口,这样理解没错吧?)
而现在的情况是这样:
android 系统运行的是 arm 。而我的电脑cpu是x86,而这个so包也应该是按照arm格式生成的。
我“猜想”eclipse无法编译这个so文件的原因是否因为我的电脑cpu制式(x86) 和 生成这个 so文件时所用的格式(arm)不一致??
请问上述猜想是否正确?
如果猜想无误,除了换一台电脑 外,还有何方法可以让我在eclipse下编译含有这个so文件的android源码?
------解决思路----------------------
把它放在工程的根目录就可以了,不用eclipse做任何事。
其实就是jni啦,运行的时候注意指定32位的jar包 -d32