使用eclipse创建的android project,如果需要依赖3rd-part的jar包:
1.在修改project根目录下.classpath 文件,添加
2.右键工程:Build Path->Configure Build Path, Libraries标签,Add Library,然后...
但是如果3rd-part中含有resource文件(字体,图片之类),前面提到的两种方式引入jar所生成的APK的结构是不一样的,通过修改.classpath添加的依赖,eclipse除了会把jar编译到dex中去,还会把3rd-part的jar包中的resource文件提出来,放在APK包的跟目录下,这样的apk安装后运行是没有问题的。但是如果通过Add User Libraries的方式添加的依赖,编译出来的APK就不会被单独提出来,而android的resource是不能放在jar包中的,所有如果你的3rd-part中有这样的代码:LibClass.class.getResource("xxx.png"),程序在运行的时候就会找不到资源,字体资源也类似。
还有一种方式就是:如果你有3rd-part library的源码,可以通过创建一个android的library project(http://developer.android.com/guide/developing/projects/projects-cmdline.html#SettingUpLibraryProject),然后在你的project引用这个project,在你的APK打包的时候同样会把3rd-part资源打到apk中。
如果需要将3rd-part的jar加到android 源代码的编译系统中,可以在android.mk中加上
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
...
LOCAL_STATIC_JAVA_LIBRARIES := 3rd-part
...
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := 3rd-part:lib/3rd-part.jar
include $(BUILD_MULTI_PREBUILT)
但是这样同样无法将resource文件打包到apk中,目前找到的解决办法就是把第三方的源码引入使用library project来引用。
继续研究eclipse的ADT是怎么做到资源文件的分离的...
阅读(9554) | 评论(0) | 转发(0) |