您的位置:首页 > 移动开发 > Android开发

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

2016-05-11 20:27 555 查看
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 := optional

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 fmmr

commonlib_dir = ../CommonLib/lib
src_dirs = app/src/main/java  $(commonlib_dir)/src/main/java
res_dirs = app/src/main/res  $(commonlib_dir)/src/main/res

LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))

LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))

LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml

LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.carl.lib

LOCAL_PACKAGE_NAME := Main

LOCAL_SDK_VERSION := current

#LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += android-support-v4:$(commonlib_dir)/libs/android-support-v4.jar fmmr:app/libs/fmmr.jar

include $(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 := optional

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4

src_dirs = lib/src/main/java
res_dirs = lib/src/main/res

LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))

LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))

LOCAL_MANIFEST_FILE := lib/src/main/AndroidManifest.xml

LOCAL_AAPT_FLAGS := --auto-add-overlay

LOCAL_PACKAGE_NAME := CommonLib

LOCAL_SDK_VERSION := current

#LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += android-support-v4:lib/libs/android-support-v4.jar

include $(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

      大功告成!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: