工作中遇到在源码中加入一个SDK包, 用来作push推送, 最初的Android.mk 如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := TerminalManager
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
我想引入一个第三方的pushsdk.jar, 加入后,新的Android.mk 如下, 红色部分是新加的:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := push_sdk \
# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := TerminalManager
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := push_sdk:lib/pushsdk.jar
include $(BUILD_MULTI_PREBUILT)
include $(call all-makefiles-under,$(LOCAL_PATH))
其中 push_sdk 是随意定义的, 相当一个命名空间, 防止各称相同, push_sdk:lib/pushsdk.jar
这里: 后面的是jar 包的路, 我的路径是放在 与 src 平级的 lib 文件夹中, 如果pushsdk.jar 是放在src 同级目录(即根目录下)则是 push_sdk:pushsdk.jar 。
编译通过, apk 可以正常运行。