本帖最后由 ayuppie 于 2011-03-15 15:48:14 编辑

解决方案 »

  1.   

    需要用NDK环境编译吧,Android现在好像都是用ARm的CPU
      

  2.   

    谢谢,我不是在java层调用,还是在底层调用!需要NDK???
    我的意思是:在android下,通常,我编译出一个lib,然后在别的地方android.mk可以直接LOCAL_SHARED_LIBRARIES := **.so
    然后调用他的库函数。
    那么现在
    我要调用别人的库,但是他只提供我linux下编译出来的lib,因为不能给我源代码。
    这样我可以调用吗??
      

  3.   


    X86下链接的无法在arm处理器下使用,用ndk编译吧
      

  4.   

    有几个问题:
    1. Android通常是arm架构的,而一般linux开发的是x86架构的,这是不可能兼容的。这个先要确定是一致的
    2. 正常linux下用的是glibc,而android用的是bionic,这是不兼容的。连so的格式都不一样。需要在android的平台下(不管是ndk还是源码下)重新生成so文件
      

  5.   

    如果我是在应用层通过JNI去调用这个so/dll,还需要在android平台下重新编译这个so吗??