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