有时候我们希望能够将apk的源代码编译成一个java library的形式(做成一个模块),集成进另外一个apk里面,以避免用户在使用这个功能的时候要装两个apk。另外一个好处就是如果apk里面使用了大量非Android SDK中提供的API,而又需要被集成另外一个通过eclipse或者是通过Android Studio开发的应用程序时,可以很好地避免IDE编译不过的情况。下面主要是从有整个Android项目代码的情况,通过写Android.mk(makefile)来生成我们所需要的apk。
生成java library的方法
以packages/apps/Launcher2为例:
LOCAL_PATH := $(call my-dir)
# ------------------------------------------------------
# LIB
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := \
android-common \
android-support-v13
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) \
$(call all-renderscript-files-under, src)
LOCAL_RESOURCE_DIR := \
$(LOCAL_PATH)/res
LOCAL_MODULE := Launcher2Lib
include $(BUILD_STATIC_JAVA_LIBRARY)
# -------------------