android 程序中如何导入第三方jar包

1.android 普通应用 程序开发者

我们之前在网上看到最多的是在Java Build Path里面Add jars ,Add External Jars或者Add Library,其实这些只是能确保编译没问题

只有自己试过才知道,你运行的时候链接是找不到对应的第三方jar包的。

举例 比如你要导入org.apache.commons.net(各种协议栈的实现)的jar包到你的程序中

首先你得看你的ADT是什么版本

ADT17以前的你需要在根目录下创建lib目录并把jar包放到lib下,并且点右键add to build path

ADT17以后的就比较智能,你只需要在根目录创建libs目录并放入jar包即可,它会自动生成Android Dependencies

不要忘了工程下点    右键->android tools->Fix project properties

成功与否就看Java Build Path的Libraries中是否有生成Android Dependencies(里面可以看到你依赖的jar包)

2.android系统应用开发者

需要修改你的app android.mk 文件

[javascript]

LOCAL_PATH:= $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_MODULE_TAGS := optional 

<SPAN style="COLOR: #ff0000">LOCAL_STATIC_JAVA_LIBRARIES := apache-net</SPAN> 

LOCAL_SRC_FILES := $(call all-subdir-java-files) 

LOCAL_PACKAGE_NAME := xxx 

LOCAL_CERTIFICATE := platform 

include $(BUILD_PACKAGE) 

<SPAN style="COLOR: #ff0000">################################################## 

include $(CLEAR_VARS) 

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := apache-net:lib/commons-net-3.2.jar 

include $(BUILD_MULTI_PREBUILT)</SPAN> 

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := apache-net

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := xxx

LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

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

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := apache-net:lib/commons-net-3.2.jar

include $(BUILD_MULTI_PREBUILT)

红色字体为你要添加的部分,其中LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES 只将lib目录下的第三方jar包编译为静态jar java library并重命名为apache-net

这就是上面LOCAL_STATIC_JAVA_LIBRARIES 为什么等于 apache-net

改完mm 一下运行就可以了

猜你喜欢

转载自xp9802.iteye.com/blog/2094137