Android.mk用法详解(二)


     7. LOCAL_SHARED_LIBRARIES := avcodec avdevice

        此变量是此模块运行中依赖的共享库模块列表,avcodec和avdevice都是前面定义的共享模块库;

eg:

   8. include $(BUILD_SHARED_LIBRARY)

    此变量设置Build System提供的变量执行GNU Makefile脚本,表示指定模块的生成方式;BUILD_SHARED_LIBARAY:编译为动态库;

  • BUILD_SHARED_LIBRARY:编译为动态库(*.so),这里的LOCAL_SRC_FILES的值为*.c/*.cpp;
  • BUILD_STATIC_LIBRARY:编译为静态库(*.a),这里的LOCAL_SRC_FILES的值为*.c/*.cpp;
  • BUILD_EXECUTABLE:编译为Native C可执行程序;
  • PREBUILT_SHARED_LIBRARY:编译为动态库(*.so),与BUILD_SHARED_LIBRARY不同,这里LOCAL_SRC_FILES的值不能是源文件,而是库文件;

  • PREBUILD_STATIC_LIBRARY:编译静态库;

    9:TARGET_PLATFORM、TARGET_ARCH_ABI和TARGET_ABI

     TARGET_PLATFORM:
                                        构建系统目标的Android API level;eg:TARGET_PLATFORM := android-22

     TARGET_ARCH_ABI :
                                        此变量将CPU和架构的ABI存储到目标;eg:TARGET_ARCH_ABI := arm64-v8a

     
TARGET_ABI:
                     设置Android API level和ABI的联结;eg:TARGET_ABI := android-22-arm64-v8a

注:Android.mk中的TARGET_xxx与Application.mk中的APP_xxx中的变量设置相似;


猜你喜欢

转载自blog.csdn.net/niuba123456/article/details/80951418