源码里开发的应用程序引用第三方jar包

因为源码里开发的应用程序是利用Android编译框架进行编译,因此当这样的应用程序引用第三方jar包时也遵守了编译框架规则,也是利用mk文件进行配置编译参数。

比如,现在 packages/apps/ 下开发了一款名为 MyPhotos 的应用程序,应用程序根目录为 packages/apps/MyPhotos ,现在想引用 httpclient.jar,

并将其放置在如下路径  packages/apps/MyPhotos/libs/httpclient.jar 。

那么 Android.mk 看起来是下面这个样子:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_STATIC_JAVA_LIBRARIES := httpclient
LOCAL_PACKAGE_NAME := MyPhotos
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)

##############################################

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := httpclient:libs/httpclient.jar
include $(BUILD_MULTI_PREBUILT)


include $(call all-makefiles-under,$(LOCAL_PATH))


主要是上面绿色绿色部分,

LOCAL_STATIC_JAVA_LIBRARIES := httpclient

指定我们的应用程序将引用的jar包,jar包名与后面预编译指定的名相同即可,

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := httpclient:libs/httpclient.jar
include $(BUILD_MULTI_PREBUILT)

这几行表示预编译libs/httpclient.jar 处的jar包,将被我们的应用程序引用。

赋值处冒号左边值表示编译后的jar包名,应用程序将利用这个名字引用该jar包。

赋值处冒号右边值表示源jar包的路径,从应用程序根目录开始计算相对路径。


如果应用程序引用多个jar包,用空格将它们隔开即可。



你可能感兴趣的:(java,框架,jar,Build,Path,include)