libs/armeabi/放你的so文件,打包apk这样进不去?

解决方案 »

  1.   

    项目的Android.mk文件中加入这个属性LOCAL_SHARED_LIBRARIES :=
    LOCAL_SHARED_LIBRARIES中加入所需要链接的动态库(*.so)的名称。
    这个模块在运行时要依赖的共享库模块列表,在链接时需要,在生成文件时嵌入的相应的信息。注意:这不会附加列出的模块到编译图,也就是,你仍然需要在Application.mk中把它们添加到程序要求的模块中。
      

  2.   

    只把SO文件放入libs/armeabi我试了一下不行
      

  3.   

    libs/armeabi/是在项目根目录中,应该可以
      

  4.   

    没有JNI文件,你把so文件打进去干什么??
      

  5.   

    首先,要明白你的so文件是神马?是cocos2d-x的游戏逻辑?是c++封装的核心算法?so文件必定会对应一个jni文件(.c/.h/.cpp),总之就是要上层程序知道so里边有哪些方法。
    当然,仅仅只把so文件放入目录是不够的,还必须要程序中load.
    如果你的so文件名为:libhelloworld.so,则在java中就使用:
    看好了,libhelloworld.so,在Load的时候,前边的lib没要。
    static {
            try {
                System.loadLibrary("helloworld");
                // LogHelper.d(TAG, "Load Library success~!");
            } catch (UnsatisfiedLinkError e) {
                throw e;
            }
        }
      

  6.   

    System.loadLibrary("helloworld");
    调用SO没问题啦,如果我把它PUSH到lib目录下,程序也是能正常运行,但是得有ROOT权限
    我现在是想把SO文件直接打包到APK里,这样就不用PUSH到lib目录下,直接安装就能运行
      

  7.   

    只有这样才能把我的APK给一般的用户使用
      

  8.   

    大哥,so放到lib目录中,打包时,会自动编入APK~
      

  9.   

    你是说把SO放入system/lib下还是应用根目录下的lib?
      

  10.   

    那你的Android.mk是怎么写的?我的没有编进apk里呢
      

  11.   

    libs/armeabi 不行的话改 libs/armeabi-v7a试试
      

  12.   

    我试过。
    放到system 下面的app 下的lib 文件夹就可以的了。
    他会自动打包的。不需要什么配置文件,我的gps.default.so 就是这么打包进去的。
    还有apk 也是这么做的,挺简单的。
      

  13.   

    我的system目录下有app和lib等这两个目录
    app下边都是apk文件,lib是so等文件,我的so文件应该放入那个目录?lib?
    放入lib是可以打包进system.img,但好像不能打包进apk吧
      

  14.   

    都是废物,人家问的问题,不会就别瞎回答,明明问的是so通过makefile怎么打包到apk。你们回答的是什么狗屁啊。