背景

  • Platform: IMX6Q
  • OS: Android5.1
  • Kernel: 3.14.52

需求

项目需要,需要在external添加自己的一些Service等二进制的可执行程序

实现

  1. 新增文件夹xxx,里面添加Android.mk和应用源码文件, Android.mk内容如下:

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    
    LOCAL_SRC_FILES:= \
    xxx.cpp \
    util.cpp \
    
    #LOCAL_SHARED_LIBRARIES := \
    #	libcutils \
    #	liblog \
     
    #LOCAL_LDLIBS    :=-llog
    
    LOCAL_MODULE := study
    LOCAL_MODULE_TAGS := optional
    LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)
    include $(BUILD_EXECUTABLE)

    注:TARGET_OUT_EXECUTABLES对应out目录下的,比如out\target\product\xxx\system\bin

  2. mmm external/xxx可以直接编译生成xxx可执行文件到out\target\product\xxx\system\bin

  3. 编译整个系统时自动编译生成,需在device/xx/xx/xx.mk里增加PRODUCT_PACKAGES += xxx