要移植三个C库及调用它们的.c文件到Android中去,目录如下:我想的移植思路是:在三个模块中,每个模块下都写一个Android.mk文件,在根目录放置一个Android.mk中写上include $(call all-subdir-makefiles),现在的问题是:
1.调用这三个C库的pc.c文件该放在哪个目录下?
2. LOCAL_SRC_FILES := pc.c应该放在哪个Android.mk中去呢?
3.这里三个C解码库是不是只需写Android.mk,然后直接用ndk-build编译就好,用不用在执行ndk-build之前先make编译下呢?
4.在写Android.mk的时候 要是LOCAL_SRC_FILES要包含的c文件非常多,要将这些c文件 一一列下来  有没有简便的方法呢?

解决方案 »

  1.   

    你看看这个有参考价值没
    http://download.csdn.net/detail/dotphoenix/3214812
    Android版本的ffmpeg源代码编译及应用
      

  2.   

    据说可以把多个c打包成一个so库,调用一个
      

  3.   

    1.调用这三个C库的pc.c文件该放在哪个目录下?
    2. LOCAL_SRC_FILES := pc.c应该放在哪个Android.mk中去呢?
       答:pc是主文件是吧 那你在弄一个文件夹放pc 在这个文件夹配置一个android.mk
    3.这里三个C解码库是不是只需写Android.mk,然后直接用ndk-build编译就好,用不用在执行ndk-build之前先make编译下呢?
       答:在根目录放置一个Android.mk中写上include $(call all-subdir-makefiles),你在每个库目录配置一个android.mk 跟目录那个会去每个目录找android.mk进行编译,你按网上所说的配置好NDK-build 就可以直接用了,不需要make。
    4.在写Android.mk的时候 要是LOCAL_SRC_FILES要包含的c文件非常多,要将这些c文件 一一列下来 有没有简便的方法呢?
    答:只要你路径没错的话可以 LOCAL_SRC_FILES := 路径/*.c\
                                             路径/*.c 
      

  4.   

    谢谢哈\(^o^)/~
    想问的是不是这三个C库要不要make下呢(看有些移植C库是先把C库make下然后再ndk-build)?
      

  5.   

    还有就是 我现在按照这样整的  弄好了之后执行ndk-build,但是执行ndk-build却没有任何反应 也没有生成.so文件
      

  6.   

    ndk-build 简单项目有成功吗例如Helloworld 如果可以的话 应该是你项目的android.mk配置有问题?
      

  7.   

    简单的hello-jni能ndk-build成功的,可以生成.so文件,android.mk配置有问题,可是 它也不报错  不知道该怎么改了
      

  8.   

    一般情况下,每一个目录下都建立一个Android.mk,然后在Android.mk中添加相应的.c、.cpp文件,LZ可以参考一下Android下编译ffmepg是如何做的。