关于打包Android组件肯定是有用到的,比如开发了一个模块,为了更好的复用,我们可能会将它打包成jar文件方便其他项目引用。这个很好理解,也很简单。网上有一堆关于用Eclipse将Android项目打包成jar文件的,这里我也不想多说。我只想简单说明一下我在制作SDK遇到的问题:

【使用Eclipse导出jar包疑问】

1、Android项目包含其他jar或者library(库文件),这个是怎么关联起来的?

2、使用Eclipse将Android项目导出为jar文件,哪些是需要勾选的,哪些是不需要勾选的?

3、在Android项目中无法使用导出的jar包,会报“ java.lang.NoClassDefFoundError”相关的错误,这个怎么破?

4、Android项目有依赖其他jar文件或者library,这个时候怎么整合,导出的jar包还是不能用。


这段是转载的

首先Android 工程的基本面貌是这样:

android 如何把项目导出jar 安卓项目导出_jar包


当然对应的Activity 文件被我删除了,因为当编译成jar 包我们并不需要Activity 文件。

以上面这个工程为例,我们将它打包成JAR包步骤为:

右键工程选择导出:

android 如何把项目导出jar 安卓项目导出_jar文件_02


选择导出目标为:java->JAR文件:

android 如何把项目导出jar 安卓项目导出_android 如何把项目导出jar_03

把一些不必要的文件勾选掉,如下图:

android 如何把项目导出jar 安卓项目导出_jar文件_04

一般,不需要打入jar包的文件有:

1、/src/目录下的activity文件

2、根目录下的文件,.classpath, .project, manifest.xml, .properties, .cfg等

3、/bin/目录下的文件,如:manifest.xml, .dex, .apk, resources.ap_等

4、/bin/res目录

5、/res/drawable 相关的目录

6、/res/layout/ 目录

7、/res/menu/ 目录

到了这一步,己经基本完成,浏览选择jar 文件导出路径即可。

上面就是讲解如何将Android项目导出为jar文件,其实这样做是没有问题的,因为这是普通生成jar文件的情况。


更加麻烦的情况是:

你想要打包为jar包的Android项目也依赖了jar包或者library,这个时候怎么破?

我上网也查了很久,也看了一些博文,还是没有找到解决方案,直接用Eclipse将Android项目打包,难道就可以把依赖的jar文件或library关联起来了?似乎没有那么强大咯,我也研究了一些平台提供的sdk,它们是怎么做的?


在Android中有依赖jar的就不能再将其打包成jar文件了,我们可以将其作为library(库文件)让其他项目引用,例如多酷的sdk使用这样的library,是一个Android项目形式存在的。

android 如何把项目导出jar 安卓项目导出_jar文件_05

多酷将其设置为Is Library


android 如何把项目导出jar 安卓项目导出_jar文件_06

多酷提供的demo是这样引用的:

android 如何把项目导出jar 安卓项目导出_android 如何把项目导出jar_07

在SDK这一块还有很多疑问,之前遇到的问题,还是不太清楚是怎么导致的,希望有遇到相关问题,可以给我留言,一起沟通讨论一下。