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