android 程序中如何导入第三方jar包(包括android系统程序) – Android移动开发技术文章_手机开发 – 红黑联盟

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 一下运行就可以了

来源URL:http://www.2cto.com/kf/201304/201836.html