Android 模块编译

来源:互联网 发布:淘宝店铺过期不存在 编辑:程序博客网 时间:2024/05/20 07:58

1.编译一个APK文件

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_JAVA_LIBRARIES:=   #指定依赖的共享java类库LOCAL_STATIC_JAVA_LIBRARIES= #指定依赖的静态java类库#指定源码列表,这里使用系统定义的函数搜寻src目录下的文件形成列表LOCAL_SRC_FILES=$(call all-java-files-under,src)LOCAL_MODULE_TAGS:=optinal #指定模块的标签LOCAL_CERTIFICATE:=shared  #指定模块的签名方式LOCAL_PACKAGE_NAME:=TestApp       #指定模块名称include $(BUILD_PACKAGE)

2.编译一个java共享库

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES=$(call all-java-files-under,src)LOCAL_MODULE_TAGS:=optinal #指定模块的标签LOCAL_MODULE:=javadynamiclib #指定模块的名称include$(BUILD_JAVA_LIBRARY)

3.编译一个java静态库

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES=$(call all-java-files-under,src)LOCAL_MODULE:=javastaticlib #指定模块的名称include$(BUILD_STATIC_JAVA_LIBRARY)

4.编译一个java资源文件,类似于framework_res.apk

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_NO_STABDARD_LIBRARIES:=   #指定依赖的静态java类库LOCAL_CERTIFICATE:=shared  #指定模块的签名方式LOCAL_PACKAGE_NAME:=javareslib       #指定模块名称LOCAL_APPT_FLAGS:= -x  #定义AAPT工具参数LOCAL_MODULE_TAGS:=user #指定模块的标签LOCAL_MODULE_PATH :=$(TARGET_PUT_JAVA_LIBRARIES) #定义模块的安装路径LOCAL_EXPORT_PACKAGE_RESOURCES :=  true #值为true,其他apk模块能引用本模块的资源include $(BUILD_PACKAGE)

5.编译一个可执行文件

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES :=service.cppLOCAL_SHARED_LIBRARIES :=libutils #指定需要链接的动态库ifeq($(TARGET_OS),linux)                LOCAL_CFLAGS +=-DXP_UNIX  #定义编译标志endifLOCAL_MODULE:=serviceinclude$(BUILD_EXECUTABLE)

6.编译一个native的共享库

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS:=optinalLOCAL_MODULE :=libnativedynamicLOCAL_SRC_FILES :=\    native.cppLOCAl_SHARED_LIBRARIES :=\    libcutlis \    libutilsLOCAL_STATIC_LIBRARIES :=libnativestaticLOCAL_C_INCLUDES +=\    $(JNI_H_INCLUDE) \    $(LOCAL_PATH)/../includeLOCAL_CFLAGS += -Oinclude $(BUILD_SHARED_LIBRARY)

7.编译一个native静态库

LOCAL_PATH :=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS:=optinalLOCAL_MODULE :=libnativedynamicLOCAL_SRC_FILES :=\    native.cppLOCAL_C_INCLUDES +=LOCAL_CFLAGS += -Oinclude $(BUILD_STATIC_LIBRARY)
原创粉丝点击