在源码环境中编译Android studio项目时的mk脚本编写

来源:互联网 发布:手机歌录软件 编辑:程序博客网 时间:2024/06/05 15:29

1、Main项目是主工程,下面有名为app的项目

      CommonLib是库工程,下面有名为lib的项目

      Main项目会用到CommonLib库。


2、源码环境中两个项目是在同一个目录下,平级的。Android.mk分别在各自的根目录下。


3、参考了android源码中Contacts包含库ContactsCommon时mk的编写。


4、Main的Android.mk

LOCAL_PATH:=$(call my-dir)<span style="background-color: rgb(240, 240, 240);">LOCAL_PATH:= $(call my-dir)</span>include $(CLEAR_VARS)#LOCAL_MODULE_TAGS := optionalLOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 fmmrcommonlib_dir = ../CommonLib/libsrc_dirs = app/src/main/java  $(commonlib_dir)/src/main/javares_dirs = app/src/main/res  $(commonlib_dir)/src/main/resLOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xmlLOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.carl.libLOCAL_PACKAGE_NAME := MainLOCAL_SDK_VERSION := current#LOCAL_PROGUARD_FLAG_FILES := proguard.flagsinclude $(BUILD_PACKAGE)include $(CLEAR_VARS)LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += android-support-v4:$(commonlib_dir)/libs/android-support-v4.jar fmmr:app/libs/fmmr.jarinclude $(BUILD_MULTI_PREBUILT)# Use the folloing include to make our test apk.#include $(call all-makefiles-under,$(LOCAL_PATH))

5、CommonLib的Android.mk

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)#LOCAL_MODULE_TAGS := optionalLOCAL_STATIC_JAVA_LIBRARIES := android-support-v4src_dirs = lib/src/main/javares_dirs = lib/src/main/resLOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))LOCAL_MANIFEST_FILE := lib/src/main/AndroidManifest.xmlLOCAL_AAPT_FLAGS := --auto-add-overlayLOCAL_PACKAGE_NAME := CommonLibLOCAL_SDK_VERSION := current#LOCAL_PROGUARD_FLAG_FILES := proguard.flagsinclude $(BUILD_PACKAGE)include $(CLEAR_VARS)LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += android-support-v4:lib/libs/android-support-v4.jarinclude $(BUILD_MULTI_PREBUILT)# Use the folloing include to make our test apk.#include $(call all-makefiles-under,$(LOCAL_PATH))


6、Android源码根目录 下执行source build/envsetup.sh

      然后在Main工程根目录下执行mm -B

      大功告成!!


0 0
原创粉丝点击