在android里在编译一个java应用时,如果这个应用需要一个第三方的jar包,那么就需要将这个三方的jar包通过mk文件将其编译到apk里,下面是将一个三方的jar包编译到apk包里的方法.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user
LOCAL_STATIC_JAVA_LIBRARIES := libdom4j
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := CoolReader
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libdom4j:dom4j-1.6.1.jar
include $(BUILD_MULTI_PREBUILT)
关键在于:
LOCAL_STATIC_JAVA_LIBRARIES := libarity 和 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=
libdom4j:dom4j-1.6.1.jar
其实libdom4j是个名字可以随便取,但是两个属性的值要一样就好了,但是后面那个冒号里面就一定要写你的jar包名,你的jar包一定放在工程的根目录就是和mk文件的同级目录。
要注意:libdom4j这个名一定要是唯一的,要不编译就会出错,比如有两个应用里都用到了libdom4j这个包名,那么在编译时就会出现一下的错误信息:
***/packages/apps/calculator:MODULE.TARGET.JAVA.LIBRARIES.libarityalready defined by packages/apps/coolReader
意思就是用两处定义了libarity,一处是/packages/apps/calculator,另一处是packages/apps/coolReader