.jar文件在Elipse 中使用方法想必大家都比较熟悉:
1,右键包名,选择properties
2,在弹出菜单中选择 Java Build Path
3,在Libraries 选项卡下选择add external jars
4,接下来的操作没有必要细说了。
但是在源码下编译时需要修改Android.mk,因为在Eclipse下,Eclipse帮我们处理了编译路径问题。
在源码编译下,必须注意的一点是:.jar包的路径必须在Android.mk文件中指明。下面的例子是直接放到和Android.mk同级目录下,如果不在这个目录,需要指明。之前看别人写的文档说是必须放到和Android.mk同级目录下,这种说法是不确切的。直接放到和Android.mk同级目录下的坏处是:eclipse在编译时没有问题,但是运行是会报错:java.lang.NoClassDefFoundError .因为在android高级版本中库文件必须放到libs目录下。所以我们最好不要把.jar放到Android.mk同级目录,把它放到libs下,Android.mk中这样写:LACAL_PREBUILT_STATIC_JAVA_LIBRARIES:= lib3party:/libs/jxi.jar,多一个/libs/
Android.mk文件中需要作的修改是下面代码中的斜体加粗部分:
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := lib3party
LOCAL_SRC_FILES := $(call all-java-files-under,src) \
src/com/sprdsrt/base/core/IService.aidl \
src/com/sprdsrt/base/core/ITaskCallback.aidl
LOCAL_PACKAGE_NAME := SRT
LOCAL_MODULE_PATH := $(TARGET_OUT)/preloadapp
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := lib3party:jxl.jar
include $(BUILD_MULTI_PREBUILT)
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
----------------------------------------------------------------------------
重点是:
LOCAL_STATIC_JAVA_LIBRARIES := lib3party
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := lib3party:jxl.jar
lib3party是随便取的名字,只要两句代码中一致即可。